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