0
Полотенчик
23.07.18
✎
10:35
|
Делаю выгрузку платежных поручений из Бух в Enterprise Data и загрузку их в УТ 10, для которой создал правила конвертации в Конвертации Данных 3.0.
При загрузке если не находит в УТ банковский счет или договор контрагента, то не создает их в базе, а в платежки записывает "Объект не найден".
Точнее в процессе загрузки они фактически создаются, но ссылки записываются в таблицу ТаблицаОбъектовСозданныхПоСсылкам
// Объекты, создаваемые по ссылке, запоминаем в таблицу,
// чтобы после загрузки всех данных удалить объекты,
// которые так и не были загружены полностью ("временные объекты").
// При загрузке объектов "целиком" удаляем объекты из таблицы,
// переводя их из состояния "временных" в "постоянные".
ТаблицаОбъектовСозданныхПоСсылкам = КомпонентыОбмена.ТаблицаОбъектовСозданныхПоСсылкам;
Если Действие = "ПолучитьСсылку" И ЗаписыватьОбъектВИБ
И Не ПравилоКонвертации.РазрешитьСоздаватьОбъектИзСтруктуры Тогда
СтрокаОбъекта = ТаблицаОбъектовСозданныхПоСсылкам.Найти(ДанныеДляЗаписиВИБ.Ссылка, "СсылкаНаОбъект");
Если СтрокаОбъекта = Неопределено Тогда
НоваяСтрока = ТаблицаОбъектовСозданныхПоСсылкам.Добавить();
НоваяСтрока.СсылкаНаОбъект = ДанныеДляЗаписиВИБ.Ссылка;
КонецЕсли;
...
А в конце загрузки удаляются, оставляя за собой "Объект не найден".
УдалитьВременныеОбъектыСозданныеПоСсылкам(КомпонентыОбмена);
Как сделать, чтобы все, что не найдено в базе-приемнике создавалось и оставалось в базе?
|
|
3
manserg
14.08.18
✎
11:16
|
(2) Это тайна открывающаяся только на курсах или просто сказать по теме более нечего?
Столкнулся ровно с аналогичной проблемой в дописанных правилах, пытаюсь понять как создавать объекты в приемнике программно через "ОбменДаннымиXDTOСервер.СтруктураОбъектаXDTOВДанныеИБ()" но нигде нет описания как это правильно делать...
|
|
4
mTema32
14.08.18
✎
12:01
|
(0)(3)
Если я не ошибаюсь, то в обработчике ПередЗаписьюПолученныхДанных можно описать алгоритм загрузки как новых данных, так и изменения. В соответствии с вашими хотелками. В конфе КД3.0 есть краткое описание этого обработчика.
|
|