Справочники в формате AIF представляют собой набор объектов-команд сериализованных протоколом JSON, разделенных строкой "---". Каждая команда имеет текстовое поле command, в котором указан тип команды, а так же произвольное количество других полей – параметров команды.
{"command": "...", ...}
---
{"command": "...", ...}
---
...
{"command": "...", ...}
---
Контроль полноты данных
Формат AIF представляет собой набор отдельных объектов. Для проверки полноты передачи данных рекомендуется добавить маркеры начала и окончания файла. При отсутствии меток начала и окончания файла модуль загрузки игнорирует справочник и не добавляет его в очередь.
Метки представляют собой строки вида:
| Метка начала файла | ### data begin ### |
|---|---|
| Метка окончания файла | ### data end ### |
### data begin ###
{"command": "...", ...}
---
{"command": "...", ...}
---
...
{"command": "...", ...}
---
### data end ###
Проверка данных в AIF объектах
При загрузке справочников происходит проверка данных в AIF объектах. Если объект не проходит проверку, то загрузка справочника завершается с ошибкой. Справочник не загружается в БД.
При загрузке справочников проверяется:
- наличие команды в объекте,
- поддерживается ли команда,
- наличие в команде корневого параметра (например, "invent"),
- наличие обязательных полей в корневом параметре.