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