Перейти к содержанию

Конвертация данных 3.1

Альтернативный способ преобразования данных — через механизм 1С:Конвертация данных 3.1.

Когда выбирать КД 3.1

Произвольный обработчик КД 3.1
Быстрый старт, код «здесь и сейчас» Медленный старт — нужен XDTO-пакет и модуль обмена
Логика преобразования в коде прикладного решения Правила — в визуальной среде КД
Легко переделывать Стабильный контракт, визуальная документация
Подходит для простых случаев Подходит для сложных контрактов и межсистемной интеграции

Что нужно подготовить

  1. XDTO-пакет — описывает XML-структуру передаваемых данных. Создаётся в EDT или Конфигураторе.
  2. Модуль обмена — генерируется в КД 3.1 и реализует правила преобразования данных в XDTO и обратно.

Как настроить

На стороне продюсера

В форме продюсера, строка табличной части «Объекты метаданных»:

Поле Значение
Тип сериализации Конвертация данных
Имя ПОД сериализации Имя правил обработки данных из модуля обмена КД 3.1
Формат сериализации URL пространства имён XDTO-пакета

Поля Имя модуля и Имя метода для КД 3.1 не заполняются.

На стороне консьюмера

В форме консьюмера, строка табличной части «Топики»:

Поле Значение
Тип десериализации Конвертация данных
Имя ПОД десериализации Имя правил обработки данных
Формат десериализации URL пространства имён XDTO-пакета

Пакетная модель для регистров по регистратору

Для регистров накопления, бухгалтерии, расчёта и РС в режиме ПодчинениеРегистратору:

  • Адаптер сам выполняет запрос всех записей по регистратору.
  • Правила КД 3.1 применяются к каждой записи.
  • Результат — одно сообщение, тело которого содержит массив объектов.

Почему пакет

Чтение через «набор с отбором» не используется из соображений производительности.

Варианты XDTO-пакета

Вариант 1. Стандартный XDTO (EnterpriseData)

Используется формат EnterpriseData — стандарт 1С для межсистемного обмена данными. Пакет XDTO входит в состав платформы, отдельная разработка не требуется.

Подробно формат описан в официальной документации: Формат EnterpriseData.

Подходит когда: принимающая сторона работает с типовыми конфигурациями 1С и понимает формат EnterpriseData.

Вариант 2. Произвольный XDTO

XDTO-пакет под конкретный контракт данных. Создаётся двумя способами:

а) Вручную в EDT или Конфигураторе — стандартными средствами платформы.

б) Из AsyncAPI-спецификации — с помощью скрипта asyncapi2xsd.py (репозиторий Набор скриптов). Подробнее — Генерация XSD из AsyncAPI.

Расширение КД 3.1

Для работы КД 3.1 с произвольным XDTO (не EnterpriseData) может потребоваться расширение КД — см. репозиторий kafka-adapter-conv.


Смотрите также