Конвертация данных 3.1¶
Альтернативный способ преобразования данных — через механизм 1С:Конвертация данных 3.1.
Когда выбирать КД 3.1¶
| Произвольный обработчик | КД 3.1 |
|---|---|
| Быстрый старт, код «здесь и сейчас» | Медленный старт — нужен XDTO-пакет и модуль обмена |
| Логика преобразования в коде прикладного решения | Правила — в визуальной среде КД |
| Легко переделывать | Стабильный контракт, визуальная документация |
| Подходит для простых случаев | Подходит для сложных контрактов и межсистемной интеграции |
Что нужно подготовить¶
- XDTO-пакет — описывает XML-структуру передаваемых данных. Создаётся в EDT или Конфигураторе.
- Модуль обмена — генерируется в КД 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.
Смотрите также¶
- Обработчик продюсера — при типе сериализации «Произвольный обработчик».
- Обработчик консьюмера — при типе десериализации «Произвольный обработчик».
- Генерация XSD из AsyncAPI.