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

Ниже — порядок действий для старых версий КД3 (с обработкой MD83Exp.epf) и для новых (с выгрузкой конфигурации в файлы), а также как не ошибиться с версией формата.

Зачем КД3, если можно править модуль

Типовые обмены через EnterpriseData живут в общем модуле МенеджерОбменаЧерезУниверсальныйФормат (или в модуле, указанном для нужной версии формата). Это десятки тысяч строк: правила конвертации объектов, свойств, обработки данных, предопределённые значения, алгоритмы. Править его вручную можно, но поиск нужной процедуры и понимание связей отнимают много времени, а ошибка в одном правиле ломает выгрузку неочевидным образом.

КД3 загружает этот модуль, раскладывает его на правила, связывает их со структурой конфигурации и формата, а после доработки генерирует новый текст модуля. На небольших доработках выигрыш спорный, на серьёзных — однозначный.

Шаг 0. Включение функционала

После установки КД3 откройте «Администрирование» — «Используемый функционал». По умолчанию опции выключены. Включите:

  • разработку правил с использованием универсального формата (EnterpriseData);
  • разработку правил регистрации объектов — в ранних версиях КД3 её не было, и правила регистрации приходилось делать в Конвертации данных 2.

Названия пунктов в разных релизах КД3 немного отличаются, но найти их несложно.

Конвертация данных 3: загрузка формата, структуры конфигураций и правил обмена
Конвертация данных 3: загрузка формата, структуры конфигураций и правил обмена

Шаг 1. Версия формата и загрузка структуры EnterpriseData

Какую версию формата дорабатывать

В обеих конфигурациях, участвующих в обмене, найдите процедуру ДоступныеВерсииУниверсальногоФормата. Её расположение зависит от конфигурации: в решениях линейки УТ/ERP она находится в модуле обмена данными этой линейки. Процедура заполняет соответствие «версия формата — общий модуль менеджера».

Рабочая версия — максимальная, которая есть в обеих конфигурациях. Если синхронизация уже настроена, берите версию из настроек обмена: именно она используется на практике.

Выгрузка XML-схем

Структуры формата хранятся в XDTO-пакетах с именами вида EnterpriseData_1_11_N, где 1.11 — номер версии формата. В конфигураторе одной из конфигураций (схемы в обеих должны совпадать):

  1. Найдите в «Общие» — «XDTO-пакеты» пакет нужной версии.
  2. Выполните для него экспорт XML-схемы.
  3. Обязательно выгрузите и схему пакета ExchangeMessage — без неё формат не загрузится корректно.

Загрузка в КД3

В КД3 в разделе «Главное» (в новых версиях — в соответствующем разделе настройки формата) выберите «Загрузка структуры формата», укажите обе выгруженные схемы и загрузите. После загрузки структуру формата можно открыть и посмотреть объекты и свойства — полезно, чтобы убедиться, что версия та.

Эта часть одинакова в старых и новых версиях КД3.

Шаг 2. Загрузка структуры конфигураций

Здесь версии КД3 расходятся.

Старые версии: обработка MD83Exp.epf

В поставке КД3 есть обработка MD83Exp.epf, которая выгружает структуру метаданных в файл.

  1. Откройте обработку в каждой конфигурации, участвующей в обмене.
  2. Если нужны регистры — учтите, что их выгрузка в обработке по умолчанию отключена кодом в модуле формы; этот фрагмент придётся закомментировать.
  3. Выгрузите структуру в файл.
  4. В КД3 выберите «Загрузка структуры конфигурации» и загрузите каждый файл в новую версию конфигурации.

Загруженные конфигурации появятся в разделе «Релизы».

Новые версии: выгрузка конфигурации в файлы

В новых релизах КД3 от MD83Exp.epf отказались. Структура берётся из стандартной выгрузки конфигурации:

  1. В конфигураторе каждой базы: «Конфигурация» — «Выгрузить конфигурацию в файлы», указать каталог.
  2. В КД3 в разделе «Конфигурации» выбрать «Загрузка структуры конфигурации из файлов XML/EDT».
  3. Указать каталог выгрузки, источник «Файлы XML».
  4. Выбрать, загружать ли движения документов: по умолчанию «Не загружать», другие варианты нужны, если правила будут работать с движениями.
  5. Способ — «В новую версию конфигурации» или «В существующую версию», если обновляете ранее загруженную.
  6. Выполнить загрузку и повторить для всех баз.

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

Шаг 3. Загрузка правил обмена

Старые версии: модуль менеджера в текстовом файле

  1. В каждой конфигурации выгрузите в текстовый файл общий модуль менеджера обмена для выбранной версии формата (имя — из ДоступныеВерсииУниверсальногоФормата, обычно МенеджерОбменаЧерезУниверсальныйФормат).
  2. В КД3 в справочнике «Конвертации» в группе «Формат XDTO» создайте элемент для каждой конфигурации: наименование, конфигурация (из загруженных), версия формата.
  3. Откройте загрузку модуля менеджера: укажите конвертацию, источник «Текстовый файл», файл модуля, состав данных «Правила и обработчики» со всеми параметрами.
  4. На предупреждение, что обработчики предназначены для другой конвертации, ответьте согласием — это ожидаемо при первой загрузке.

Новые версии: помощник «Загрузка конвертации XDTO»

Раздел «Конвертации» — «Загрузка конвертации XDTO». Помощник по шагам спрашивает:

ПараметрЧто выбрать
Загрузка конвертации«Новая» (наименование можно не задавать) или «Существующая» для обновления
Загрузка конфигурации«Существующая», если делали шаг 2, иначе «Новая» — конфигурация загрузится заодно
Источник«Каталог файлов XML»; также доступны текстовый файл модуля и буфер обмена
КаталогКаталог выгрузки конфигурации
Имя модуляМодуль с правилами, по умолчанию МенеджерОбменаЧерезУниверсальныйФормат

После загрузки правила открываются через «Конвертации» — «Настройка правил конвертации»: выбираете конвертацию и получаете форму со всеми правилами — конвертации объектов, свойств, обработки данных, предопределённых данных и алгоритмами.

Новые правила с нуля

Если дорабатывать нечего и обмен пишется с нуля, загрузка модуля не нужна. В справочнике «Конвертации» внутри группы «Формат XDTO» создайте элемент, укажите наименование, загруженную конфигурацию и версию формата. Тип конвертации заполнится автоматически.

Что дальше: выгрузка модуля обратно

После доработки КД3 формирует текст модуля менеджера. Его сохраняют в файл и заменяют им общий модуль в конфигурации. Для типовой конфигурации на поддержке это изменение объекта поставщика — заранее решите, как вы будете переносить его при обновлениях: снимать модуль с поддержки, хранить доработку отдельно и накатывать после обновления, или выносить часть логики в расширение. Универсального ответа нет, он зависит от объёма правок.

Типичные ошибки

  • Не та версия формата. Доработали 1.12, а обмен настроен на 1.11 — изменения не работают. Сверяйте с настройками обмена.
  • Не выгружена схема ExchangeMessage. Формат загружается с ошибками или неполно.
  • Нет регистров в структуре. В старой обработке MD83Exp их выгрузка отключена по умолчанию.
  • Загрузили модуль не в ту конвертацию. У каждой конфигурации своя конвертация; модуль одной базы, загруженный в конвертацию другой, даст неверные связи с метаданными.
  • Структура конфигурации устарела. После обновления релиза загрузите структуру заново — иначе КД3 не увидит новых реквизитов.
  • Правка модуля вручную после КД3. При следующей генерации ручные изменения пропадут. Либо всё в КД3, либо всё руками.
Самое важное на старте — правильно выбрать версию формата и держать структуру конфигураций актуальной. Остальное КД3 сделает за вас.

Доработку типовых обменов через EnterpriseData и разработку новых делаю в рамках услуги обмен между базами 1С. Если баз и направлений обмена много, стоит посмотреть в сторону интеграционной шины, а для обмена с внешними системами — интеграции по API.

Итог

  • Конвертация данных 3 упрощает доработку правил EnterpriseData: правила видны структурно, модуль генерируется автоматически.
  • Начните с включения функционала формата и правил регистрации.
  • Версия формата — максимальная общая для обеих конфигураций или та, что в настройках обмена; выгружайте пакеты EnterpriseData_X_Y_N и ExchangeMessage.
  • Структуру конфигураций в новых версиях загружайте из выгрузки «Конфигурация в файлы», в старых — через MD83Exp.epf.
  • Правила загружайте помощником «Загрузка конвертации XDTO» или из текстового файла модуля менеджера.