Импорт
Описания формата для служб XLSX импорт и XLSX экспорт: какие колонки Excel-файла в какие поля регистра ложатся. Без описания служба не знает, как читать файл, — в её списке «Документ импорта» появляются именно записи этого регистра.
Где искать: Модули → Система → Регистры → Импорт
Как создать описание
- Новая запись: Код — короткий и уникальный, Название — так описание видно в списке «Документ импорта» службы.
- Регистр — куда импортировать. Как только вы выбрали регистр в новой записи, поле JSON заполняется заготовкой: все поля регистра с подписями, ключевые уже помечены
"primary": true. Уберите лишние колонки и при необходимости переименуйте заголовки. - Поле JSON подсвечивается зелёным, когда текст — правильный JSON, и красным, когда нет. С неправильным JSON запись не сохранится: «Данные запроса не являются корректным JSON».
Строки документов (таблицы внутри документа) отдельным регистром не выбираются — их импорт не пишет.
Описание колонки
JSON — список, по одному объекту на колонку файла. Подсказки к свойствам видны прямо в окне над полем JSON.
[
{ "key": "fCode", "header": "Code", "primary": true },
{ "key": "fName", "header": "Name", "required": true },
{ "key": "fPhone", "header": "Phone" },
{ "key": "fCUType", "header": "Client", "default": "1" }
]
key— техническое имя поля в регистре.header— заголовок колонки в первой строке файла; должен совпадать дословно.primary— ключ записи (код, номер). По нему обновление находит существующую запись, а само значение ключа не меняется. В описании должно быть хотя бы одно такое поле.required— ячейка в этой колонке не может быть пустой.default— значение, которое подставляется в пустую ячейку.
То же описание задаёт колонки и XLSX экспорта: выгрузили, исправили в Excel, загрузили обратно.
Что описание не может содержать
Описание проверяется ещё до чтения файла, и отказ приходит на весь файл, если в нём есть:
- колонка, которой нет среди полей регистра;
- колонка проведения документа (флажок «ОК» или статус, который проводит) — импорт пишет напрямую, без движения склада и проводок;
- защищённое поле (пароли, токены) — его вводят только в окне;
- поле, которое роль пользователя не видит или может только просматривать.
Типовые ситуации
В службе список «Документ импорта» пуст. Для этого регистра нет ни одного описания — создайте его здесь.
«В документе импорта есть колонка "…", которой нет среди полей реестра». В key опечатка — сверьте с полями регистра или возьмите заготовку заново: выберите регистр в новой записи.
«В документе импорта должно быть хотя бы одно первичное (primary) поле». Пометьте ключевую колонку (код или номер) "primary": true.
«Запись по ключу не найдена: …». Вы обновляете записи, а записи с таким ключом нет. Новые записи загружают типом «Создать новые регистры».
«Колонка "…" обязательна, но ячейка … пуста». В файле пустая ячейка колонки с "required": true — заполните её или задайте default.