УРБД удаление движений документов при их удалении #459729


#0 by АннаО
Кто-нибудь решил проблему, что при удалении проведенных документов в одном из узлов (центральном или подчиненном), при обмене сам документ удаляется, а движения по нему остаются в регистрах с пометкой на регистратор "Объект не найден". Это, конечно, решается путем тестирования баз, но может можно что-то исправить в механизме обмена? Всю голову сломала.
#1 by maxar
не было такой проблемы, вернее была - но из-за несколько раз неправильно переделываемой миграции... может у тебя обмена регистра нет между центром и переферией...
#2 by АннаО
Есть обмен регистра, и все проходит нормально, за исключением обменов при удалении документа. Неужели никто еще на это внимание не акцентировал??? Регистр же находит правило обмена по регистратору, а когда регистратор удален - то регистр просто не обменивается...
#3 by duh
Может быть вот так вам поможет.
#4 by АннаО
Тип("УдалениеОбъекта") регистрируется только для документов, для регистров он регистрируется как соответствующий регистр. А не проходит в обмен, т.к. теряет связь - на какой склад должен отправиться, т.к. регистратор (удаленный документ) уже не существует.
#5 by АннаО
При обмене регистров устанавливается отбор по регистратору. А его нет!
#6 by duh
А вы пробовали пропустить в обмен удаленный документ не проверяя его, может он и движения документа сам при обмене почистит, зачем их фильтровать их нет.
#7 by duh
не фигню написал, раз объект не найден, значит вы его и так пустили, странно а я решил именно таким методом
#8 by Широкий
Движуха значит не регистрируется.. а регистрируется только сам документ
#9 by duh
или   Найти(ЭлементДанных.Метаданные.ПолноеИмя,"РегистрНакопления.") > 0 Тогда   А может вот этот кусок пускает в обен регистр не проверяя его. Просто все это было давно, но помню что долго сидел в отладчик смотрел
#10 by АннаО
Спасибо, попробую проанализировать, но на первый взгляд мне все-таки кажется, что если удалить документ, например, в центральной базе, то все-таки движения по этому документу в подчиненом узле останутся. Просто основной узел не понимает - в какие подчененные узлы рассылать. По контексту выходит, что если регистратор неопределен, то "ОтправкаЭлемента = ОтправкаЭлементаДанных.Игнорировать;"
#11 by АннаО
А на практике пробовали удалить проведенный документ в подчиненном узле, обменяться и проверить - остались ли движения по нему в основной базе?
#12 by hhhh
склад обычно есть в самих движениях регистра. Нафига его брать из регистратора? Накуролесили, теперь страдаете.
#13 by duh
Вот это когда то работало и проверялось. И наверно ЭлементДанных.Количествобудет справедливо и даже для распроведенного документа. Регистр будет передаваться, записей у него не будет, поэтому и контролировать там нечего ни регистратора ни ресурсов
#14 by duh
обычно, не значит всегда, вот и проверяется регистратор, и не обязательно должно быть по складу, может быть к примеру по организации или по подразделению либо еще по чему нибудь.
#15 by АннаО
Даже если склад есть в движених регистра, то при УДАЛЕНИИ этого регистра какой там склад может быть??? Там же должны уйти ПУСТЫЕ записи по регистратору!!!
#16 by hhhh
там все проверки идут в процедуре ПередЗаписью, а на этот момент все движения пока есть. У вас типовая РИБ или вы сами ее писали.
#17 by АннаО
Нет, не типовая - собственная, но там стоит авторегистрация изменений и при отправке только сортирует по подразделениям. Да, процедура "ПередЗаписью" в плане обмена у меня не задействована... Хорошая идея, по-моему, должно помочь! Спасибо!
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

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