1c 77 + SQL 2000 зависает при выполнении процедуры ОтменаДвижений(Регистр) #509527


#0 by serff77
при проведении документа выполняется процедура ОтменаДвижений и на первом же регистре по которому есть движения, регистре остатков, зависает. Пробовал включать АвтоматическоеУдалениеДвижений, тоже самое. Есть у когонить какие мысли?
#1 by Z1
начнем с того что при проведении модуль ОбработкаУдаленияПроведения не выполняется проверил так : чтобы снимать галку АвтоматическоеУдалениеДвижений надо иметь очень веские причины. что Вы понимаете под процедура ОтменаДвижений  мне неизвестно. зависает на одном конкретном докумнте или на любом. в текущем периоде или любом попробуйте перепровести проведенный документ у которого нет движений по остаткам а по другим регистрам есть.
#2 by serff77
есть такая процедура ОтменаДвижений(ВидДвижений), ее обычно пользуют когда хотят ускорить процесс перепроведения доков и вставляют ее в ОбработкуПроведения вот например: ... Для Номер = 1 По Метаданные.Регистр Цикл ... зависает на любом доке имеющем движения в любом периоде. еще выяснил, что и при проведении новых доков тоже. на доках без движений не зависает.
#3 by zak555
это кусок для старых свёрток
#4 by borozavr
SQL profiler в помощь
#5 by Cthulhu
: это кусок чистки движений документа вообще-то (ну ещё принадлежность документа к опер.учету неплохо бв проверить снаружи цикла). добавить очистку бух.операции (с проверкой на принадлежность к бух.учету, конечно) - и будет полная отмена движений.
#6 by zak555
один человек читал : мол зачем это в типовых конфа на ОУ в хотЛайн ответ был в кстати, есть глюк у регистров по галке удалять движения и ОчиститьДвижения
#7 by zak555
не читал, а написал =)
#8 by Z1
>>>есть такая процедура ОтменаДвижений(ВидДвижений), ее обычно пользуют когда >>>хотят ускорить процесс перепроведения доков и вставляют ее в >>>ОбработкуПроведения ОчиститьДвижения не ускоряет а замедляет модуль движения документов. потому что когда ее нет и есть галка автоудаление движений аналогичные вызовы идут из языка C (что намного быстрее чем эти же вызовы из 1с и учитывается еще текущие флаги rf... ) Ваш пример абсолютно неудачен. гораздо проще написать тогда одной строкой Используют ОчиститьДвижения(СтрЗнач) когда очень много строк и надо обновить только одну и обычно только одного конкретного регистра. я бы посоветовал Вам для начала проверить базу с помощью моей обработки проверьтеРегистры есть на infoстарте
#9 by serff77
по поводу ОчиститьДвижения, может и так, я следовал советам 1С, но проверю! а насчет глюка, то он ушел после переустановки скуля! видно 2000 скуль не любит работать под win 2003 x64... в SQL profiler-е я наблюдал следующую ситуацию, при зависании 1с при (пере)проведении дока отображалась строка "exec _1sp_SC20351_ByID '   3JW   '" а после принудительного завершения процесса "exec _1sp_RA15434_ClearRecalcDocAct '  HEU7   ', 'Oct  7 2010 12:00:00:000AM', 'Oct  7 2010 12:00:00:000AM', 1, 0, 1" если я правильно понял, то зависание происходило при выполнении очистки движений дока...
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С