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.