Где находятся правила обмена при синхронизации ЗУП 3.1 и ERP 2 и как их доработать

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

При настройке универсального обмена данными между типовыми конфигурациями 1С (например, 1С:Зарплата и Управление Персоналом 3.1 и 1С:ERP Управление предприятием 2 или 1С:Комплексная автоматизация) разработчики часто сталкиваются с ситуацией, когда привычный XML-файл с правилами обмена в конфигурации отсутствует. Проанализируем, как устроена архитектура интеграции на базе формата EnterpriseData (Конвертация данных 3.0), где хранятся правила выгрузки и регистрации объектов и как выполняется их доработка.

Архитектура обмена на основе EnterpriseData и КД 3.0

В современных типовых решениях 1С вместо прямых правил обмена между двумя конкретными конфигурациями (как в «1С:Конвертация данных 2.1») применяется формат EnterpriseData и концепция «1С:Конвертация данных 3.0». Обмен происходит не напрямую между базами, а через промежуточный формат на основе XDTO-пакетов.

Разберем двухуровневую структуру правил, используемую при таком подходе:

  1. Правила конвертации объектов (ПКО) и обработки данных (ПОД): Зашиты непосредственно в программный код модулей метаданных. Ключевым объектом является общий модуль МенеджерОбменаЧерезУниверсальныйФормат. Внешние XML-файлы правил конвертации в этой схеме не используются.
  2. Правила регистрации объектов (ПРО): Управляют тем, какие именно документы и справочники попадают в состав отправки на плане обмена. Они подготавливаются в «1С:Конвертация данных 2.1» и могут хранить логику как внутри конфигурации, так и загружаться из внешнего XML-файла через интерфейс.

Где найти правила конвертации в конфигурации

Рассмотрим, где физически находится логика трансформации данных. Вся обработка выгрузки из 1С в формат XML (EnterpriseData) и загрузки из XML в целевую базу сосредоточена в кодовой базе. Основную роль выполняет общий модуль МенеджерОбменаЧерезУниверсальныйФормат.

В этом модуле описаны алгоритмы забора данных из базы, их сопоставление со свойствами XDTO-пакета, а также обратная процедура при получении данных. Сам формат опирается на XDTO-пакеты вида EnterpriseData_X_X, встроенные в метаданные информационной базы.

Как загрузить внешние правила регистрации объектов (ПРО)

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

  1. Перейдем в раздел администрирования в настройки синхронизации данных.
  2. Откроем настройки нужного обмена данными.
  3. Воспользуемся командой «Загрузить правила из файла» для подгрузки стороннего XML-файла правил регистрации объектов.

Обратим внимание: таким способом подгружаются именно правила регистрации (ПРО), но не алгоритмы заполнения реквизитов (ПКО).

Способы доработки правил конвертации

Выясним, какими способами можно внести изменения в правила выгрузки или загрузки реквизитов, если типовой функционал обмена требует расширения:

  1. Использование расширений конфигурации (.cfe): Чтобы не снимать типовую базу с поддержки, доработку правил выполняют через механизмы расширений. Для этого перехватывают события общего модуля ОбменДаннымиПереопределяемый и переопределяют процедуры вида ПКО_..._ПриОтправкеДанных или ПКО_..._ПриПолученииДанных.
  2. Использование конфигурации «1С:Конвертация данных 3.0»: С помощью специальной внешней обработки правила выгружаются из модуля в файл, после чего загружаются в КД 3.0. После настройки правила генерируются в виде программного кода, который затем вставляется в модуль обмена или модуль расширения.
  3. Передача данных через дополнительные реквизиты: Формат EnterpriseData штатно поддерживает механизмы дополнительных реквизитов и сведений. Если требуется передать нестандартное поле, достаточно настроить одинаковый состав дополнительных реквизитов в обеих базами без переписывания программного кода.

Таким образом, в технологиях КД 3.0 выгрузка и загрузка данных изолированы друг от друга, а правила конвертации перенесены в программный код программных модулей 1С.

← На главную