Справочники в формате AIF представляют собой набор объектов-команд сериализованных протоколом JSON, разделенных строкой "---". Каждая команда имеет текстовое поле command, в котором указан тип команды, а так же произвольное количество других полей - параметров команды.

Объекты справочника необходимо разделять строкой "---".
Пример структуры файла
{"command": "...", ...}
---
{"command": "...", ...}
---
...
{"command": "...", ...}
---
Byte order mark или другая информация, не относящаяся к данным справочника, в начале файла AIF-справочника не учитывается

Контроль полноты данных

Формат AIF представляет собой набор отдельных объектов. Для проверки полноты передачи данных рекомендуется добавить маркеры начала и окончания файла. При отсутствии меток начала и окончания файла модуль загрузки игнорирует справочник и не добавляет его в очередь. 

Метки представляют собой строки вида:

Метка начала файла
### data begin ###
Метка окончания файла
### data end ###
Пример структуры файла
### data begin ###
{"command": "...", ...}
---
{"command": "...", ...}
---
...
{"command": "...", ...}
---
### data end ###

Проверка данных в AIF объектах

При загрузке справочников происходит проверка данных в AIF объектах. Если объект не проходит проверку, то загрузка справочника завершается с ошибкой. Справочник не загружается в БД.

При загрузке справочников проверяется:

  • наличие команды в объекте,
  • поддерживается ли команда,
  • наличие в команде корневого параметра (например, "invent"),
  • наличие обязательных полей в корневом параметре.
  • No labels