По условию нужно было сделать так, чтобы данные выгружались из «Управление торговлей» в «Бухгалтерия предприятия». В обратном направлении ничего передаваться не должно.
При настройке обмена по условию возникли проблемы:
- Если в БП делаются изменения в данных, а затем эти же данные выгружаются из УТ, то все изменения в БП перезаписываются без предупреждения.
- Подсистема «Конфликты», которая должна показывать коллизии – не работает. Она всегда пустая, как будто коллизий нет.
Для диагностики проблем пришлось «лезть» в конфигурацию «Бухгалтерия Предприятия». Выяснилось, что подсистема разрешения коллизий не может работать в режиме одностороннего обмена. Подсистема срабатывает только тогда, когда объект в БП зарегистрирован в плане обмена «Синхронизация данных через универсальный формат» для выгрузки в УТ. В режиме одностороннего обмена, когда мы указываем в БП «Не выгружать никакие данные», на плане обмена ничего не зарегистрируется, а значит подсистема разрешения коллизий не сработает.
В итоге было решено настроить двухсторонний обмен, чтобы в плане обмена происходила регистрация объектов к выгрузке, но при этом сделать так, чтобы ничего из БП не выгружалось.
В конфигурацию внесены следующие изменения:
Общий модуль ОбменДаннымиXDTOСервер
Процедура ПроизвестиВыгрузкуДанных
Закомментированы строки:
Попытка ВыполнитьВыгрузкуЗарегистрированныхДанных(КомпонентыОбмена, НомерОтправленного); Исключение КомпонентыОбмена.СтрокаСообщенияОбОшибке = ""; ЗаписатьВПротоколВыполнения(КомпонентыОбмена, ПодробноеПредставлениеОшибки(ИнформацияОбОшибке())); КонецПопытки;
Этот код отвечает за выгрузку данных из БП.
Общий модуль МенеджерОбменаЧерезУниверсальныйФормат
Процедура ПередКонвертацией
В самом начале процедуры добавлены строки:
Узел = ПланыОбмена.СинхронизацияДанныхЧерезУниверсальныйФормат.НайтиПоКоду("ER"); ПланыОбмена.ЗарегистрироватьИзменения(Узел, Неопределено);
Этот код регистрирует в БП все данные к выгрузке.
«ER» – префикс базы, с которой производится обмен данными.
Таким образом, из БП ничего не выгрузится, а при загрузке данных из УТ система разрешения коллизий отработает нормально.
Добавить комментарий