При настройке взаимодействия между конфигурациями 1С:ERP Управление предприятием и 1С:Документооборот разработчики часто сталкиваются с ситуацией, когда объекты (справочники или документы) создаются и изменяются в ERP, но в 1С:Документооборот не передаются. При этом регистр сведений ОчередьСообщенийВ1СДокументооборот и таблицы регистрации изменений плана обмена остаются абсолютно пустыми, даже если для объектов включена авторегистрация. Разберем по шагам, как устроена эта подсистема, почему данные могут не фиксироваться и как правильно организовать двусторонний обмен.
Рассмотрим, как работает типовой механизм бесшовной интеграции. В отличие от стандартного механизма распределенных информационных баз (РИБ), где факт включения авторегистрации в плане обмена безусловно создает запись в таблице изменений, в библиотеке интеграции с 1С:Документооборотом логика контролируется программно через подписки на события и сопоставление правил.
Посмотрим на пример запроса, с помощью которого система проверяет наличие зарегистрированных изменений и сопоставляет их с правилами:
ВЫБРАТЬ
ТаблицаИзменения.Ссылка КАК Объект,
ПравилаЗаполнения.ПравилоЗаполнения КАК ПравилоЗаполнения,
ПравилаЗаполнения.ЕстьУсловия КАК ЕстьУсловия,
ЕСТЬNULL(ОбъектыИнтегрированныеС1СДокументооборотом.ТипОбъектаДокументооборота, ПравилаЗаполнения.ТипОбъектаДокументооборота) КАК ТипОбъектаДокументооборота,
ЕСТЬNULL(ОбъектыИнтегрированныеС1СДокументооборотом.ИдентификаторОбъектаДокументооборота, "") КАК ИдентификаторОбъектаДокументооборота
ИЗ
%1.Изменения КАК ТаблицаИзменения
ВНУТРЕННЕЕ СОЕДИНЕНИЕ ПравилаЗаполнения КАК ПравилаЗаполнения
ПО (ПравилаЗаполнения.ТипОбъектаПотребителя = "%1")
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ОбъектыИнтегрированныеС1СДокументооборотом КАК ОбъектыИнтегрированныеС1СДокументооборотом
ПО ТаблицаИзменения.Ссылка = ОбъектыИнтегрированныеС1СДокументооборотом.Объект
ГДЕ
ТаблицаИзменения.Узел = &Узел
И ЕСТЬNULL(ОбъектыИнтегрированныеС1СДокументооборотом.ТипОбъектаДокументооборота, ПравилаЗаполнения.ТипОбъектаДокументооборота) = ПравилаЗаполнения.ТипОбъектаДокументооборота
ИТОГИ ПО
Объект
Выясним главные причины, почему таблица изменений и очередь сообщений могут оставаться пустыми:
Правила интеграции с 1С:Документооборотом для конкретного объекта ERP должно быть создано, настроено и включено соответствующее правило сопоставления. Если правила нет, подписка на событие при записи объекта пропускает регистрацию.Загрузка = Истина или в рамках транзакции возникает ошибка, регистрация изменений отменяется.Проанализируем поведение системы при передаче данных. В типовом функционале базовый сценарий часто предполагает ручной ввод на основании или явную команду отправки. Чтобы реализовать автоматическое создание и обработку объектов, разберем ключевые шаги:
DMService создает соответствующий внутренний или входящий документ на стороне 1С:ДО.Обработка произошедших событий, которое автоматически стартует бизнес-процесс по предопределенному шаблону (например, согласование или исполнение).Если требуется включить в обмен новый пользовательский документ или справочник конфигурации ERP, простого добавления объекта в состав плана обмена недостаточно. Выполним следующие обязательные доработки в метаданных конфигурации:
ИнтегрируемыйОбъектС1СДокументооборотом, ВладелецПрисоединенныхФайлов и смежные типы ссылок.Рассмотрим, как передать результаты согласования и исполнения обратно в 1С:ERP, чтобы автоматически менять статусы документов. Для этого используется механизм сопоставления состояний: