Как изменить порядок выгрузки изменении при обмене РИБ #278267


#0 by vladnet
Посмотрел порядок очень странный, а мне бы желательно его изменить чтобы при загрузке например регистров накопления уже были документы регистраторы для того чтобы оценить куда их скинуть нужно.
#1 by vladnet
UP! очень нужно
#2 by v8work
та же самая проблема... только порядок можно изменить, если все ручками прописывать в файл выгрузки. сейчас думаю как все проверки всунуть не при загрузке, а при выгрузке изменений... главная проблема - как получить ссылку, на план обмена, который является получателем... ссылку на план обмена - источник проблем получить нет, а вот ссылку на план обмена - получатель не удается определить
#3 by vladnet
У меня есть решение по этому поводу, но оно кривое - при чтении смотрю что идет обмен загрузка и если регистратор еще не пришел записываю в таблицу "отложенной регистрации" и жду пока объект появится, как появляется регистрирую изменения для нужных узлов, но схемка достаточно кривая сейчас отлаживаю а как решил ты или пока никак?
#4 by v8work
я хочу эту проблему решить не при загрузке, а при выгрузке... главная проблема, определить получателя и уже исходя из получателя, определять, выгружать данные или нет. в ИТС и в толстой книге разработчика написано, что все-таки при загрузке не есть правильно работать с данными, которые тоже загружаются... много разных ситуаций, а вот при выгрузке все данные под рукой
#5 by vladnet
ну у меня ситуация немного другая. есть центральный офис, и через него транзитом идут документы. Так вот из за того что сперва приходит набор записей и не понятно в какую базу его перегружать, получается что в исходную точку попадает только сам документ без движений.
#6 by v8work
это стандартная ситуация... у меня та же а теперь представь ты при выгрузке изменений в событии ПланаОбмена ПриОтправкеДанныхПодчиненному ты знаешь и источник (центральный офис) и получателя... ты можешь указать, для документов и для регистров что должно попадать в выгрузку, что не должно. у тебя все данные есть.
#7 by v8work
если делать при загрузке, то естественно будут проблемы из-за того, что неясно, пришел ли документ до регистра, или не пришел
#8 by coder1cv8
Не совсем понятно, а в чем проблема, получить текущий "узел получатель", у меня сделано через глобальную переменную...
#9 by v8work
в какой момент ты получаешь "узел получатель"? ведь это можно делать из списка узлов или из справочника обмена... скинь свой код, в каком событии ты это делаешь
#10 by v8work
и еще... ведь еще есть формирование нового образа базы для нового узла... как ты получаешь, что формируется новый узел, на не просто выгружаются изменения
#11 by vladnet
При выгрузке изменений я не знаю куда еще пойдут данные кроме центрального узла. Есть узел подчиненный, он выгружает данные в центральный узел, естественно я выгружаю туда только то что нужно. При записи изменений в центральном узле уже происходит анализ куда их дальше надо отправить, вот тогда то мне и нужен документ объект.
#12 by coder1cv8
нету события к сожалению, это понятно... У меня обмен идет через мою обработку, там проблем нет, при переборе узлов устанавливать, а форме плана обмена отключена возможность меняться... Но я думаю и форме нет никакой проблемы взять из текущей строки...
#13 by coder1cv8
определить факт формирования начального образа, тож не возможно, насколько я знаю...
#14 by v8work
понятно... думал есть метод в плане обмена, с помощью которого можно получить узел-получатель... не хотел ручками прописывать... придется все-таки настраивать в 3 вариантах: из списка узлов, из обработки, из справочника "Настройка обмена данными" (УПП у меня)
#15 by coder1cv8
А вобще, зачем порядок менять, не очень понятно, чем фильтрация по организациям или подразделениям не устраивает?
#16 by v8work
а факт форимрования начального образа делать только из списка узлов и при условии, что стоит флаг "Формирование начального образа" (добавить флаг) - для кнопки "Создать начальный образ" в этом случае ставить доступность, для остальных - недоступность
#17 by v8work
как ты обработаешь регистры сведений, в которых нет ни подразделений ни организаций, но которые регистрируются документами
#18 by coder1cv8
из регистратора смотрю естественно...
#19 by v8work
лучше делать как ты сделал - глобальная переменная (я сделаю параметр сеанса) и записывать туда получателя
#20 by v8work
а регистратора нет... ну еще не пришел... придет от только после прихода данных по регистру
#21 by coder1cv8
на моем хомпейдже пример фильтра по организации валяется... )
#22 by coder1cv8
не мудри, я из отбора смотрю.
#23 by vladnet
что то так и не понял зачем получать узел приемник при выгрузке данных. Я делаю по другому убрал авторегистрацию и сам регистрирую куда что нужно. Регистрируется по правилам которые описаны в справочнике.
#24 by vladnet
в фильтре не всегда есть данные по которым можно принять решение нужно перекинуть регистр или нет
#25 by vladnet
+ вернее в отборе
#26 by coder1cv8
Что б фильтровать, то что идет в подчиненный...
#27 by coder1cv8
Если регистр подчиненный регистратору и в документе есть организация, то можно решить однозначно, в остальных случаях не фильтруем, ИМХО, это вполне разумно...
#28 by v8work
я про тоже... там лишь ссылка на документ (в отборе), а если нет этого документа еще при загрузке?
#29 by coder1cv8
не знаю, у меня такая схема довольно давно работает, не замечал никаких проблем...
#30 by v8work
понятно... спасибо тебе за советы!!!
#31 by coder1cv8
не за что, обращайся )
#32 by vladnet
А чем такая схема лучше чем ручная регистрация изменений. Хотя я знаю чем прописывать нужно в меньшее количество мест, хотя в 8.1 похоже это можно будет сделать через подписку на события. Или чем то еще?
#33 by coder1cv8
да я особо не интересовался ручной регистрацией... а как ты регистрируешь? везде при записи что-ли прописываешь?
#34 by vladnet
да везде событие при записи перехватил
#35 by coder1cv8
а, ну тогда я думаю понятно, чем лучше )
#36 by v8work
подсказали хорошие люди - можно при выгрузке получить и узел-источник и узел-получатель узел-источник - ЭтотУзел
#37 by v8work
одно дело править только план обмена, другое дело править всю конфу!!! подумай, как ты будешь обновлять потом эту конфигурацию
#38 by TormozIT
8.1.8 даст на порядок больше свободы для работы с регистрацией изменений. Видимо том числе и нужный порядок
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

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