Выгрузка в 1С через XML
Как получить результат в формате XML для 1С и загрузить его обработкой «Загрузка данных из XML».
Честно: у Typizer нет отдельного «коннектора 1С» — он отдаёт результат как обычный XML по схеме вашего типизатора (с XSD), а сама загрузка в 1С делается стандартной или собственной обработкой. Если в вашей конфигурации 1С уже есть правило загрузки XML по XSD, этого обычно достаточно.
1. Получить XSD-схему типизатора
GET /v1/typizers/{id}/xsd отдаёт XSD, описывающую XML, который выгружает этот типизатор (корневой
элемент — <document>, элементы — поля схемы в том порядке, в котором они объявлены):
curl https://api.typizer.ru/v1/typizers/$TYPIZER_ID/xsd \
-H "Authorization: Bearer $TYPIZER_API_KEY" \
-o typizer.xsdОтдайте этот файл тому, кто настраивает загрузку в 1С — обработке «Загрузка данных из XML» (или аналогичной) XSD нужен один раз, при настройке, а не на каждую выгрузку.
2. Получить результат в формате XML
Либо укажите format: "xml" при запуске прогона, либо запросите уже готовый результат в XML,
независимо от формата, с которым прогон создавался:
curl "https://api.typizer.ru/v1/runs/$RUN_ID/output?format=xml" \
-H "Authorization: Bearer $TYPIZER_API_KEY" \
-o result.xmlЭлементы следуют порядку свойств схемы (а не порядку ключей в output), поэтому XML одного и того
же типизатора всегда одинаково устроен между прогонами. Поле-массив становится оборачивающим
элементом с повторяющимися дочерними <item> — по одному на элемент массива, в порядке данных.
Поле, которое Typizer не нашло в документе, — пустой элемент с xsi:nil="true", а не отсутствующий
элемент.
3. Загрузить в 1С
Стандартная обработка «Загрузка данных из XML» (есть в типовых конфигурациях 1С, либо подключается как внешняя обработка) принимает XSD один раз при настройке и дальше сопоставляет элементы XML с реквизитами документа или справочника по именам полей. Сопоставление полей УПД — пример:
| Элемент XML (имя поля схемы) | Реквизит документа 1С |
|---|---|
document_number | Номер документа |
document_date | Дата документа |
seller_inn / seller_kpp | ИНН / КПП продавца (контрагента) |
buyer_inn / buyer_kpp | ИНН / КПП покупателя (своей организации) |
items / item | Табличная часть «Товары» |
total_with_vat | Сумма документа |
Схема УПД, из которой эти поля получены, — «Счета и УПД». Если у вас своя обработка загрузки (не типовая), ей достаточно той же XSD и того же соответствия имён.
Что дальше
- «Счета и УПД» — готовые схемы для счёта и УПД.
- «Поддерживаемый JSON Schema» — как порядок полей схемы определяет порядок элементов XML.