При разработке обменов данными между конфигурациями на платформе 1С:Предприятие 8.3 часто возникает вопрос выбора инструментария. Традиционная конфигурация «Конвертация данных 2.1» (КД 2.1) знакома большинству разработчиков, однако в последние годы активно продвигается версия 3.1 (КД 3.1). Разберем подробно, действительно ли новая версия полностью поглотила функционал старой, и в каких случаях использование того или иного инструмента будет оправданным.
Прежде всего, нам необходимо понять, что эти конфигурации — не просто «старая» и «новая» версии одного и того же продукта. Это инструменты, реализующие принципиально разные подходы к интеграции систем. Проанализируем их архитектуру.
Конвертация данных 2.1 базируется на принципе прямого сопоставления «Источник — Приемник». Правила обмена, созданные в КД 2.1, описывают, как конкретное поле объекта одной базы (например, СправочникСсылка.Контрагенты) превращается в поле объекта другой базы. Этот метод жестко связывает две системы. Если у вас меняется структура метаданных в одной из них, вам приходится переписывать правила для всех связанных систем.
Конвертация данных 3.1 работает на основе технологии Enterprise Data (ED). Здесь используется промежуточный «Универсальный формат». Сопоставление идет по схеме «Источник — Формат» и «Формат — Приемник». Рассмотрим преимущество: если в обмене участвует пять конфигураций, то при использовании КД 3.1 каждой системе достаточно уметь выгружаться в универсальный формат и загружаться из него. Это избавляет от необходимости создавать десятки пар правил обмена «каждый с каждым».
Рассмотрим вопрос о том, можно ли в КД 3.1 работать со «старым» способом обмена. В интерфейсе КД 3.1 действительно присутствуют объекты для работы с правилами версии 2.1. Однако, как отмечают эксперты, это предназначено скорее для миграции и анализа существующих решений, а не для полноценной разработки с нуля в старом стиле.
Выясним основные ограничения КД 3.1 при работе с форматом 2.1:
Особое внимание уделим правилам регистрации объектов. Это та область, где КД 3.1 действительно делает шаг вперед и может частично заменить КД 2.1. В современных конфигурациях на базе Библиотеки стандартных подсистем (БСП), таких как ERP 2.5, КА 2.5 или УТ 11.5, механизм регистрации изменений претерпел изменения.
Проанализируем ситуацию: раньше правила регистрации хранились во внешних XML-файлах. Теперь БСП позволяет выносить логику регистрации непосредственно в программный код конфигурации — в модуль МенеджерРегистрации. КД 3.1 умеет генерировать этот код автоматически на основе настроенных правил. Это значительно повышает производительность обмена, так как системе не требуется парсить тяжелые XML-файлы при каждом изменении объекта.
Важный нюанс: на данный момент загрузка правил обратно из программного модуля МенеджерРегистрации в КД 3.1 затруднена. Поэтому крайне важно сохранять «мастер-базу» КД 3.1, в которой велась разработка, иначе восстановить правила из кода будет крайне трудозатратно.
Разберем, как различается написание кода в этих двух системах. Это критически важно для программиста 1С.
В КД 2.1 весь программный код (обработчики «Перед выгрузкой», «При загрузке» и т.д.) пишется непосредственно в интерфейсе Конвертации. При выгрузке этот код помещается внутрь XML-файла правил. Система на стороне приемника или источника выполняет этот код через функцию Выполнить(). Это затрудняет отладку и поиск ошибок.
В КД 3.1 подход иной. Логика преобразования данных выносится в интеграционные модули самой конфигурации. В КД 3.1 настраиваются только связи между полями объекта и полями формата. Рассмотрим пример: если нам нужно сложное условие при выгрузке, мы пишем его обычным кодом в конфигураторе 1С в соответствующем модуле. Это позволяет использовать стандартный отладчик, устанавливать точки останова и видеть значения переменных «вживую».
Сформулируем правила выбора инструмента для текущих задач. Посмотрим на таблицу применимости:
Используйте Конвертацию данных 2.1, если:
УПП 1.3 и Бухгалтерия предприятия 2.0).Используйте Конвертацию данных 3.1, если:
ERP, УТ 11, БП 3.0, ЗУП 3.1).МенеджерРегистрации).Таким образом, мы видим, что КД 3.1 — это не замена КД 2.1, а переход на новый технологический стек. Профессиональный разработчик должен владеть обоими инструментами, выбирая их в зависимости от архитектуры информационных систем предприятия.