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

Импорт

Описания формата для служб XLSX импорт и XLSX экспорт: какие колонки Excel-файла в какие поля регистра ложатся. Без описания служба не знает, как читать файл, — в её списке «Документ импорта» появляются именно записи этого регистра.

Где искать: Модули → Система → Регистры → Импорт

Как создать описание

  1. Новая запись: Код — короткий и уникальный, Название — так описание видно в списке «Документ импорта» службы.
  2. Регистр — куда импортировать. Как только вы выбрали регистр в новой записи, поле JSON заполняется заготовкой: все поля регистра с подписями, ключевые уже помечены "primary": true. Уберите лишние колонки и при необходимости переименуйте заголовки.
  3. Поле 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.