Как правильно расширить состав плана обмена в расширении 1С?

Программист 1С v8.3 (Управляемые формы) 1C:Бухгалтерия IT и автоматизация бизнеса
← На главную

При разработке расширений для типовых конфигураций 1С нередко возникает необходимость включить новый объект (например, созданный в расширении документ) в существующий ПланОбмена. Несмотря на кажущуюся простоту — добавление объекта в состав плана и настройка правил — на практике разработчики часто сталкиваются с тем, что данные не регистрируются для обмена. Давайте разберем, как решить эту задачу и на что обратить пристальное внимание.

Проверка настроек состава плана обмена

Первым делом убедимся, что объект корректно добавлен в состав ПланаОбмена внутри расширения. Если объект добавлен, но система его «не видит» или регистрация не срабатывает, проверьте настройки самого заимствованного объекта в расширении:

  1. Откройте расширение в Конфигураторе.
  2. Перейдите к заимствованному ПлануОбмена.
  3. Найдите свойство объекта, отвечающее за права доступа или модификацию. Часто встречается ошибка, когда по умолчанию устанавливается режим Проверять значение.
  4. Установите значение свойства в Изменять значение.

Именно эта неочевидная настройка часто блокирует корректную работу механизма обмена для добавленных в расширение объектов.

Программная регистрация изменений

Если добавление документа в состав ПланаОбмена не привело к автоматической регистрации изменений, стоит рассмотреть программный способ. Вместо использования стандартных подписок на события, которые могут конфликтовать с логикой БСП (Библиотеки Стандартных Подсистем), попробуйте внедрить код напрямую в модуль объекта документа с помощью расширения.

Рассмотрим пример реализации регистрации через метод &После. Это позволит «встроиться» в уже существующий процесс записи документа и корректно вызвать механизмы обмена:


&После("ПередЗаписью")
Процедура ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения)
    // Вызываем стандартный механизм регистрации из БСП, 
    // передавая текущий объект
    ОбменДаннымиСобытияБП.СинхронизацияДанныхЧерезУниверсальныйФорматПередЗаписьюДокумента(ЭтотОбъект, Отказ, РежимЗаписи, РежимПроведения);
КонецПроцедуры

Этот подход предпочтительнее, так как он гарантирует, что регистрация произойдет в нужный момент жизненного цикла объекта, учитывая все проверки, заложенные разработчиками типовой конфигурации.

Важные рекомендации и ограничения

Работая с планами обмена в расширениях, помните о следующих правилах:

Как проверить работоспособность решения?

Чтобы убедиться, что ваша настройка работает, используйте стандартные инструменты анализа 1С:

  1. Откройте обработку Регистрация изменений для обмена данными.
  2. Выберите нужный узел обмена, в который должен попадать ваш документ.
  3. Создайте или перепроведите документ в пользовательском режиме.
  4. Проверьте список зарегистрированных изменений. Если документ появился в списке — значит, механизм регистрации настроен успешно.

Если в списке пусто, проанализируйте Журнал регистрации. Возможно, при записи документа срабатывают проверки, которые запрещают регистрацию объекта из-за отсутствия соответствующих правил обмена.

Таким образом, сочетание правильной настройки свойств в расширении и программного вызова событий регистрации позволяет гибко управлять составом планов обмена, не нарушая целостность основной конфигурации.

← На главную