Конвертация данных, перенос документов и движений (односторонний обмен) #529312


#0 by askerman
Добрый день! Изучаю конвертацию данных, настраиваю обмен между двумя разными конфигурациями 1 - ЗУП 2.5; 2 - самописная, где ведется табельный учёт. Исторически сложилось так: В самописную перегружаются данные регистров состояния работников организаций и РаботникиОрганизаций (Кадровая история) через план обмена и передаётся документ без заполненной ТЧ и др. реквизитов, чтобы в регистрах сведений не было битых ссылок. Общепринятой практики, когда приходит из источника документ с ТЧ и проводится в базе приёмнике - нет. Как лучше поступить в данном случае: 1. Сделать обработку проведения кадровых документов в базе приемнике, передавать ТЧ, проводить. 2. Отдельно грузить документ без ТЧ и движения ВыгрузитьПоПравилу записывая в приёмнике в регистр сведений. 3. Какой другой вариант?
#1 by Defender aka LINN
Та как хочешь.
#2 by askerman
Мне больше нравится когда движения создаются в приёмнике, но это получится объём данных чуть больше ну и обработки проведения может когда придется менять.
#3 by askerman
Пробую сделать через КД так: в ПКГС при конвертации объекта (например, документ ПриемНаРаботу) заполняю НаборДвиженийРегистраСведений. Движения выгружаются с документом. Но при записи объекта в приёмник Документ распроводится и попадает в ОтложенныеДвиженияДокументов, т.о. движения не переносятся, документ распроведён. Это если делать через on-line обмен. Если я загружаю обработкой Универсальный Обмен Данными в формате XML (версия 2.1.4) то все движения и документ загружаются нормально. Не могу понять где ставить режим записи документа при выгрузке, чтобы режим записи объекта записывался в файл обмена. Потому что сейчас при загрузке ПроцедурыОбменаДанными отрабатывают так: Раз документ Проведен = true, то он распроводится и пишется в отложенные движения. В КД, в обработчике "ПриВыгрузке" ПКО (документ) задал РежимЗаписи = "Запись"; Не помогло, в файле обмена не значится как записывать документ. где поискать? P.S. Если всё же удастся поставить режим записи "Запись" - документ запишется со статусом проведён и запишется набор движений?
#4 by askerman
Поставил, надо было перед выгрузкой. Но вот штатный обмен данными содержит кусок (извините, не знаю как форматировать чтобы код выделился) т.е. независимо от режима записи документ со статусом "Проведен" начинает проводится в базе. Можно исправить обработку загрузки, но не хочется ломать штатный механизм. Как справится ?
#5 by askerman
Теперь знаю как форматировать :)
#6 by Axel2009
вроде как обычно ставят "Если ОбменДанными.Загрузка = Истина Тогда Возврат; КонецЕсли;"?
#7 by askerman
Это в модуле документа в ПередЗаписью? Если да, то ничего не вышло, документ загрузился распроведенным - выполняется "ОтменитьПроведениеОбъектаВИБ"
#8 by Axel2009
в обработке проведения
#9 by askerman
Всё равно не сохраняются движения и документ распроведенным остаётся.. В обработке ОбменДаннымиXML происходит: Всё же, ведь как-то можно перенести проведенный документ с движениями без проведения его в базе приёмнике, где отсутствуют обработки проведения? гугл уже устал, может есть у кого что на примете?
#10 by GenV
Пробовал снимать галку "Выполнять отложенные движения" в настройках обмена?
#11 by Axel2009
если в источнике проведен а в приемнике распроведен, значит на этапе загрузки документ не проведен. а если не проведен - то грузитсья всякие движения не будут. ну и еще. какая версия обработки перегрузки используется? у меня вот что
#12 by Defender aka LINN
"а если не проведен - то грузитсья всякие движения не будут" - Будут.
#13 by Axel2009
аха, учтемс.. вообще когда писал думал про "возможно не будут". возможно пропало.. но фактически получается что документ будет не проведен а записи в регистрах будут. нестыковочка. ну да это лирика
#14 by askerman
Обработка взята из конфигурации ЗиУП 2.5.30.4  (встроенная), процедуры обмена данными оттуда же. то бишь весь механизм обмена типовой ЗУП 2.5 Во время загрузки документ проведён. Я так понял обработка обмен данными распроводит документ в любом случае, проверяя его на возможность проведения. т.е. документ может быть просто записан, только если он не делает никакх движений. Я воткнул код Axel2009 в результате получилось то, что нужно, спасибо. Странности какие-то с моей версией обработки  . Спасибо всем. Оставлю пока как получилось
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

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