При работе с механизмами интеграции в конфигурациях «1С:Предприятие» регулярно возникает необходимость определить, с помощью какого инструмента были сформированы правила и сам файл обмена. В зависимости от версии инструмента — Конвертация данных 2.1 или Конвертация данных 3.0 — принципиально меняются логика загрузки, архитектура редактирования правил и порядок настройки интеграции. Рассмотрим подробнее, как отличить эти форматы по структуре XML, и разберем нюансы настройки обмена.
Проанализируем структуру файлов выгрузки, создаваемых различными версиями системы:
Формат Конвертации данных 2.1 (КД 2.1):
Если файл выгрузки формируется механизмом Библиотеки стандартных подсистем (БСП) или стандартными обработками выгрузки по правилам КД 2.1, в начале файла присутствует следующий заголовок и специфичные теги:
<?xml version="1.0" encoding="UTF-8"?>
<ФайлОбмена ВерсияФормата="3.1" ...>
<ПравилаОбмена>
<ВерсияФормата>2.01</ВерсияФормата>
...
Значение атрибута ВерсияФормата="3.1" в теге ФайлОбмена указывает на версию подсистемы «Обмен данными» БСП, а тег ПравилаОбмена с версией 2.01 прямо подтверждает, что выгрузка выполнена по правилам Конвертации данных 2.1.
Формат Конвертации данных 3.0 (EnterpriseData / КД 3.0):
Файлы обмена, сформированные по концепции КД 3.0 (универсальный формат EnterpriseData), построены по совершенно иному стандарту XSD-схем. Корневым элементом выступает тег Message, а в заголовке прописывается пространство имен формата:
<?xml version="1.0" encoding="UTF-8"?>
<Message xmlns:msg="http://www.1c.ru/SSL/Exchange/Message" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<msg:Header>
<msg:Format>http://v8.1c.ru/edi/edi_stnd/EnterpriseData/1.3</msg:Format>
Если в заголовке присутствует ссылка на пространство имен EnterpriseData, значит обмен работает через КД 3.0.
Выясним, можно ли правила обмена формата КД 2.1 подгрузить и отредактировать в конфигурации «Конвертация данных 3.0».
Правила формата КД 2.1 нельзя дорабатывать в КД 3.0. Это обусловлено тем, что инструменты имеют принципиально разное назначение:
EnterpriseData и формирует программный код модуля МенеджерОбменаЧерезУниверсальныйФормат.Таким образом, для редактирования и отладки правил с тегом ПравилаОбмена необходимо использовать исключительно конфигурацию «Конвертация данных 2.1».
Рассмотрим ситуацию обмена между конфигурациями «Управление торговлей», ред. 10.3 (обычные формы) и «Бухгалтерия предприятия», ред. 3.0 (управляемые формы):
Конфигурация УТ 10.3 построена на обычных формах и штатно не содержит подсистему БСП с поддержкой формата EnterpriseData. По этой причине типовой обмен между УТ 10.3 и БП 3.0 осуществляется по правилам Конвертации данных 2.1 (через механизмы планов обмена или обработку «Универсальный обмен данными в формате XML»).
Если требуется организовать обмен по стандарту КД 3.0 для УТ 10.3, потребуется доработка конфигурации-источника — внедрение модулей БСП для работы с универсальным форматом и создание собственного менеджера обмена.
Для проверки и отладки файлов формата EnterpriseData в базе приемнике БП 3.0 можно воспользоваться встроенным инструментом. Перейдем в режим конфигуратора или через интерфейс: Главное меню — Все функции (или Сервис и настройки) — Обработки — Выгрузка загрузка EnterpriseData.
Проанализируем назначение тега ПоискПоТабличнымЧастям, который может встречаться в XML-файлах выгрузки КД 2.1.
Данный тег содержит инструкции для базы-приемника по поиску уже существующих в базе объектов (например, элементов справочников или документов) на основе данных, находящихся внутри табличных частей. Это необходимо в случаях, когда уникальность объекта определяется не только реквизитами шапки, но и составом строк табличной части.
В конфигурации Конвертация данных 2.1 эта логика настраивается в Правиле конвертации объектов (ПКО) следующим образом:
Поля поиска на стороне загрузки или выгрузки данных с помощью формирования структуры полей идентификации.