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