Где найти и как изменить правила обмена в 1С:УТ 11.3 и 1С:БП 3.0?

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

При переходе с более ранних редакций конфигураций (например, 1С:Управление торговлей 11.1) на современные версии (1С:Управление торговлей 11.3, 11.4, 11.5 и 1С:Бухгалтерия предприятия 3.0) разработчики часто сталкиваются с неожиданной ситуацией: в макетах планов обмена больше нет привычных больших XML-файлов правил конвертации. Вместо этого в макете содержится короткий фрагмент кода или схемы. Разберем по шагам, почему изменилась архитектура обмена, где теперь хранятся правила и как их правильно дорабатывать.

Причина изменений в архитектуре обмена

Проанализируем технологическую причину таких изменений. В конфигурации УТ 11.1 обмен данными строился на базе технологии «1С:Конвертация данных 2.0». В этой концепции правила конвертации объектов выгружались в виде единого XML-файла и встраивались напрямую в макет соответствующего плана обмена.

Начиная с редакции УТ 11.2/11.3 и БП 3.0, типовые конфигурации фирмы «1С» были переведены на универсальный формат обмена EnterpriseData (концепция «1С:Конвертация данных 3.0»). В этой модели подход кардинально изменился:

  1. Правила конвертации данных (маппинг) больше не хранятся в XML-виде. Вся логика преобразования объектов конфигурации в структуры XDTO формата EnterpriseData и обратно генерируется в виде программного кода на встроенном языке 1С.
  2. Правила регистрации данных (условия, определяющие, какие именно документы и справочники должны быть зарегистрированы к отправке на узле плана обмена) остались в виде XML-схем.

Где физически находятся правила конвертации

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

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

Как дорабатывать правила EnterpriseData без снятия с поддержки

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

  1. Использование расширений конфигурации (рекомендуемый способ).

    В современных версиях платформы (начиная с БП 3.0.52 и актуальных релизов УТ) изменение логики обмена принято выполнять через механизм расширений. Для этого общий модуль менеджера обмена добавляется в расширение, после чего стандартные методы переопределяются или дополняются с использованием аннотаций &Вместо, &После или &Перед.

  2. Использование переопределяемых общих модулей.

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

  3. Разработка в «1С:Конвертация данных 3.0».

    Если требуется спроектировать сложные правила с нуля или существенно изменить типовые, используется специализированная конфигурация «1С:Конвертация данных, редакция 3.0». На выходе она формирует не XML-файл, а готовый текст программного модуля для вставки в конфигурацию или расширение.

Работа с правилами регистрации объектов

Рассмотрим подробнее вторую составляющую обмена — правила регистрации. Если вам требуется изменить только состав регистрируемых к отправке объектов или условия фильтрации (например, отправлять документы только по определенным организациям или подразделениям):

  1. Правила регистрации по-прежнему настраиваются в конфигурации «Конвертация данных 2.0» или «Конвертация данных 3.0» и выгружаются в формате XML.
  2. Их можно загрузить в режиме «1С:Предприятие» без изменения конфигуратора. Для этого перейдите в форму синхронизации данных, откройте параметры правил и загрузите внешний XML-файл. При этом данные запишутся в специализированный регистр сведений Правила для обмена данными.
← На главную