Переключение на Главную Страницу Страницы: 1 ... 5 6 [7] 8 9 ... 19 ОтправитьПечать
Очень популярная тема (более 25 ответов) Движения одного документа у другого (число прочтений - 65938 )
Noy
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 41
Зарегистрирован: 07. Ноября 2009
Re: Движения одного документа у другого
Ответ #90 - 07. Ноября 2009 :: 13:16
Печать  
Z1 писал(а) 07. Ноября 2009 :: 12:32:
Автор пишет появляются левые движения ( заметьте не итоги  а движения )

Цитата:
После перепроведения все левые движения опять появляются.
От распроведения они пропадают, от проведения появляются.

При отмене проведения все движения документа из таблицы ra удаляются. удаляются командой sql delete .
Если эти движения остаются в ra это говорит о диком нарушении индексации в sql. Такого я еще ни разу не встечал. ( в dbf
были проблемы с индексами).
При отмене проведения флаги rf... - сбрасываются 1с программой.

Когда есть несоответсвие полей rf c движениями ra (речь о конкретном документе)  то в УРБД при обмене 1с падает по duplicate key . У автора этого не происходит.


Базу "правили" руками. Что там могли сделать и сколько нужно времени чтобы  это исправить.
Откуда известно что только регистры изменили ?

Смотри есть две базы которые должны быть идентичны а этого нет.
В одной есть ошибки в другой нет.
Мое мнение легче заново создать(пересоздать) УРБД чeм искать баги в базе после ручного редактирования.

Цитата:
но умные люди подсказали несколько очень правдоподных вариантов forum.mista.ru/topic.php?id=391827
не нашел ни одного варианта решения в этой ветке одни только предположения. Может назовешь конструктивное предложение из этой ветки ?


Не совсем понял, что ты имеешь ввиду...
во вложении тестовая база с двумя документами Новый1 и Новый11 и одноименными регистрами. Пометь на удаление документ Новый1 и посмотри движения (в журнале кнопка). Заметь, что индексов я не выкладываю - сами создадутся...

По поводу ветки - смотри мой пост - эта ветка относится к пункту "Причины". Решение (последствий, а не причины) я предложил чуть выше

А по поводу железа - это вообще как религиозный спор. Если собрать трех разных админов - у каждого будет свое мнение. Да и железо тут не при делах
  

Gluk.zip ( 10 KB | Загрузки )
Наверх
 
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Движения одного документа у другого
Ответ #91 - 07. Ноября 2009 :: 13:42
Печать  
Речь о тестовой базе
у тебя ошибка в написании кнопки
     Рег.ВыбратьДвиженияДокумента(ТекущийДокумент);
надо передавать
Док.ТекущийЭлемент() где Док = СоздатьОбъект("Документ");


Если написать на форме журнала еще одну конпку
Код
Выбрать все
Процедура Движения1()
	Рег=СоздатьОбъект("Регистр.Новый1");
	Рег.ВыбратьДвижения();
	Пока Рег.ПолучитьДвижение()=1 Цикл
		Сообщить("Есть движение по регистру Новый1");
	КонецЦикла;
	Рег=СоздатьОбъект("Регистр.Новый11");
	Рег.ВыбратьДвижения();
	Пока Рег.ПолучитьДвижение()=1 Цикл
		Сообщить("Есть движение по регистру Новый11");
	КонецЦикла;
КонецПроцедуры 

То результат равен ( после пометки на удаление)
Цитата:
Есть движение по регистру Новый11



это также подтверждается что посмотрел в ra15.dbf нет записей
в ra18.dbf есть одна запись.
Смотрел Excel т.к. на компе даже нет уже вьювера dbf.

  
Наверх
 
IP записан
 
Noy
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 41
Зарегистрирован: 07. Ноября 2009
Re: Движения одного документа у другого
Ответ #92 - 07. Ноября 2009 :: 13:50
Печать  
Ошибки в коде нет - я смотрю движения одного документа.
В той базе что я выложил есть два проведенных документа, которые по коду делают по одному движению и 3 движения регистров.
Я так понимаю, что ты снял с проводки оба документа и проверил ra18? Правильно? Это и сеть глюк - проведенных доков нет, движения есть.
  
Наверх
 
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Движения одного документа у другого
Ответ #93 - 07. Ноября 2009 :: 13:55
Печать  
Noy писал(а) 07. Ноября 2009 :: 13:50:
Ошибки в коде нет - я смотрю движения одного документа.
В той базе что я выложил есть два проведенных документа, которые по коду делают по одному движению и 3 движения регистров.
Я так понимаю, что ты снял с проводки оба документа и проверил ra18? Правильно? Это и сеть глюк - проведенных доков нет, движения есть.

А теперь сново Новый1 проведи. И пометь на удаление.
После этого Все правильно работает все востановилось.
А у автора не востанавливается.

Также начиная с пустой базы покажи как ты добился такой ситуации как в приведенном архиве ( без ручной правки dbf  файлов)


  
Наверх
 
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Движения одного документа у другого
Ответ #94 - 07. Ноября 2009 :: 13:56
Печать  
(off) С праздником всех
  
Наверх
 
IP записан
 
Noy
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 41
Зарегистрирован: 07. Ноября 2009
Re: Движения одного документа у другого
Ответ #95 - 07. Ноября 2009 :: 14:00
Печать  
Z1 писал(а) 07. Ноября 2009 :: 13:55:
А теперь сново Новый1 проведи. И пометь на удаление.
После этого Все правильно работает все востановилось.
А у автора не востанавливается.

Также начиная с пустой базы покажи как ты добился такой ситуации как в приведенном архиве ( без ручной правки dbf  файлов)




У меня не восстанавливается - провожу,потом снимаю, потом опять провожу - у документа Новый1 два дижения в проведенном состояние и одно движение в непроведенном. Релиз 25SQL, база DBF

Да, в данном случае я вручную имитировал глюк
  
Наверх
 
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Движения одного документа у другого
Ответ #96 - 09. Ноября 2009 :: 05:58
Печать  
Цитата:
А по поводу железа - это вообще как религиозный спор. Если собрать трех разных админов - у каждого будет свое мнение. Да и железо тут не при делах

Как железо не при делах.
Автору было предложено заменить  Raid5  ( речь о трех физич дисках)
на Raid1 и отдельный диск. Это для sql сервера 1с всегда повысит производительность.
  
Наверх
 
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Движения одного документа у другого
Ответ #97 - 09. Ноября 2009 :: 06:06
Печать  
Еще раз проверил базу dbf да в ней глюк "остается"
просто в субботу невнимательно проверил.


Цитата:
Да, в данном случае я вручную имитировал глюк

Если взять Ваш архив восстановить базу dbf.В ней ошибка воспроизводиться. Базу переносим в sql ошибки нет.
Так что есть способ избавиться от таких "ошибок" гораздо проще
выгрузить загрузить базу.

  
Наверх
 
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Движения одного документа у другого
Ответ #98 - 09. Ноября 2009 :: 06:17
Печать  
Далее Вы утверждаете что sql сервер избирательно портит только часть данных ( флаги rf  таблицы _1sjourn) - Вы сами в это верите? прямо не железяка а монстр вредитель.

К подобным ситуациям может  проводить следущее
когда записать и проводить делается в разных транзакциях
и sql сервер транзакцию провести откатывает назад тогда получается
что документ выглядит как новый но при этом имеет старые движения. Но у автора этого не может быть т.к.
у него ( по его ктверждению) есть ПриЗаписиПерепроводить(1)
а значит ЗАписать Провести выполняются всегда в одной транзакции.
  
Наверх
 
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Движения одного документа у другого
Ответ #99 - 09. Ноября 2009 :: 06:28
Печать  
Далее есть две базы в одной есть ошибки в другой нет.
это значит что при возникновении ошибок на документы не был выставлен флаг переносить в другую базу.Т.е. данные в разных
переф базах у нас уже расходятся
значит по любому надо исправлять следующее
1.  ошибка "перепроведения ПКО"
2.  синхронизация распределенной базы

Я предложил на мой взгляд более короткий путь пересоздать
всю базу оттуда где нет ошибки.
  
Наверх
 
IP записан
 
Noy
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 41
Зарегистрирован: 07. Ноября 2009
Re: Движения одного документа у другого
Ответ #100 - 09. Ноября 2009 :: 08:19
Печать  
Попробую по порядку все прокомментировать:
По поводу рейдов я бы рекомендовал Рейд10 как наиболее скоростной и при этом надежный. Но это ИМХО.

Да, выгрузить/загрузить базу решает проблему (также как и ТИИ). Есть один ньюанс - при размере базы в 13.5ГБ это врядли получится (без использования патча от Ромикса) и времени это займет... как минимум выходные.
По поводу УРБД: судя из первого поста проблема в Центральной базе - зачем пересоздавать перефирию??? Или ты предлагаешь из ПБ делать ЦБ?

Я нигде не утверждал что SQL-сервер избирательно портит данные, более того - я уверен что SQL-сервер отрабатывает на все 100% и ничего не портит. Я считаю что виноват движок 1С, который при проведении документа цепляет IDDOC другого документа, который также в этот момент проводится. Эти левые движения не будут переносится в ПБ, потому что по логике 1С они не принадлежат этому документу (нет галки в 1SJourn и 1С не сканирует регистр на наличие движений).

Кстати
Цитата:
у него ( по его ктверждению) есть ПриЗаписиПерепроводить(1)
а значит ЗАписать Провести выполняются всегда в одной транзакц

не значит что запись нового документа и его проведение проходят в одно транзакции...
эта строка всего лишь обозначает, что при интерактивной записи уже проведенного документа будет автоматическая перепроводка (да, в одной транзакции)

  
Наверх
 
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Движения одного документа у другого
Ответ #101 - 09. Ноября 2009 :: 08:51
Печать  
Цитата:
По поводу рейдов я бы рекомендовал Рейд10 ...
Структура файловой системы была предложена исходя из
предположения что делаем все без финансовых затрат на том же самом оборудовании с тем ми же
жесткими дисками.

Цитата:
Или ты предлагаешь из ПБ делать ЦБ?
Да именно это я и предлагаю.
Я еще учитываю что "Кто-то правил таблицы sql "руками"
При этом могли изменить данные и не влияющие на структуру таблиц.
Таких изменений вообще не найдешь.

Цитата:
"Я считаю что виноват движок 1С,
который при проведении документа цепляет IDDOC другого документа,
который также в этот момент проводится
Это вообще невероятно - после всех то монопольных блокировок на таблицы sql.
Постулат 1с ( при ее стандартных блокировках) В любой момент времени может проводиться
в базе(с разных компьютеров) не более одного документа.
Я(Z1) же считаю что движок 1с работает правильно ,если не доказано обратное.


Убеждать что Делает ПриЗаписиПерепроводить (для 1с sql)не собираюсь.
Можешь через поиск этого форума найти информацию.
Либо кто-то еще выскажется по этому вопросу.
  
Наверх
 
IP записан
 
Noy
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 41
Зарегистрирован: 07. Ноября 2009
Re: Движения одного документа у другого
Ответ #102 - 09. Ноября 2009 :: 08:56
Печать  
Предлагаю прекратить этот ср перепалку - все равно каждый останется при своем мнении.
Автору желаю поменьше подобных проблем.
  
Наверх
 
IP записан
 
noxxx
Full Member
***
Отсутствует


1c++ rocks 8)

Сообщений: 239
Местоположение: Москва
Зарегистрирован: 24. Августа 2007
Пол: Мужской
Re: Движения одного документа у другого
Ответ #103 - 09. Ноября 2009 :: 09:42
Печать  
Ух, пока ходил в поликлинику сколько тут всего интересного появилось  Очень довольный

По поводу железа: манипуляции с железом были проведены не зря, пользователи заметили улучшение в плане блокировок. Т.е. теперь их как правило нет, чем наоборот, как было раньше Улыбка Поэтому к Z1 идут лучи благодарности и славы Улыбка Спасибо ему за это.

По поводу ТИИ: делали ТиИ копии ЦБ - ошибки есть. Сегодня приехала копия ПБ, попробую помучить её по схеме Z1.

Ошибки вида
"Поле LINENO. Неверное содержимое поля Numeric - "****"", порядка 4000 штук. На один и тот же вид документа - ВводОстатковПланаПроизводства.
  
Наверх
ICQ  
IP записан
 
Noy
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 41
Зарегистрирован: 07. Ноября 2009
Re: Движения одного документа у другого
Ответ #104 - 09. Ноября 2009 :: 09:54
Печать  
noxxx писал(а) 09. Ноября 2009 :: 09:42:
"Поле LINENO. Неверное содержимое поля Numeric - "****"", порядка 4000 штук. На один и тот же вид документа - ВводОстатковПланаПроизводства.


Это скорее всего у тебя "длинный" документ ВводОстатковПланаПроизводства (более 9999 строк). Такие документы лучше разбивать на части.
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1 ... 5 6 [7] 8 9 ... 19
ОтправитьПечать