9. Импорт и экспорт данных реестров

Платформа поддерживает экспорт и импорт данных реестров - как отдельного реестра, так и всех реестров приложения сразу. Это позволяет переносить приложения между средами вместе со справочными данными, без ручного переноса.

9.1. Экспорт и импорт реестров приложения

Механизм работает в связке с экспортом и импортом конфигурации приложения. При экспорте можно включить опцию, которая добавит данные реестров в состав архива. При импорте эти данные будут загружены в целевую среду.

Данные переносятся без соблюдения связей. Чтобы проверить целостность перенесённых данных, в каждый архив добавляется хэшсумма - отдельно для каждого реестра и для всех данных в целом.

Для работы с этим функционалом используйте API-эндпоинты app_export и app_import.

9.2. Импорт и экспорт реестра через CSV

Помимо переноса данных вместе с приложением, платформа поддерживает работу с данными реестра через CSV-файлы. Это позволяет загружать данные из внешних источников или выгружать срез записей реестра для дальнейшей обработки.

Обе операции выполняются в фоновом режиме.

9.2.1. Экспорт реестра в CSV

При экспорте система формирует CSV-файл со срезом записей указанного реестра.

Структура файла строится автоматически на основе описания формы реестра - дополнительная настройка не требуется.

При необходимости можно ограничить выборку по диапазону дат создания записей.

Для запуска экспорта используйте API-эндпоинт /api/v5/registry/csv/export.

9.2.2. Импорт реестра из CSV

При импорте система читает CSV-файл и создаёт записи в указанном реестре по указанной форме.

Чтобы система понимала, какая колонка CSV соответствует какому полю формы, необходимо передать маппинг - описание соответствия колонок и полей.

Маппинг поддерживает два режима:

  • По имени колонки - если CSV-файл содержит строку заголовков, можно указать имя колонки так, как оно записано в заголовке.
  • По индексу колонки - если заголовков нет, колонки указываются по их порядковому номеру, начиная с нуля.

Использовать оба режима в одном маппинге нельзя - нужно выбрать один из них.

По умолчанию разделителем колонок считается запятая. При необходимости можно указать другой символ-разделитель.

Для запуска импорта используйте API-эндпоинт /api/v5/registry/csv/import.