arm-ka-docs/model/entities-v5.27.md

3.0 KiB
Raw Blame History

Модель данных v5.27 — КФО без сохранения промежуточного расчёта

Миграция arm-core: 0014_dbml_v5_27, после 0013_dbml_v5_26. База: v5.26. Схема: data-model-v5.27.dbml.

Поле kfo_result.snapshot не вводится. Незамороженная таблица рассчитывается при каждом GET без записи в БД. До заморозки в kfo_result сохраняется обоснование порогов, в consolidation_version — отклонения от методологии, в kfo_result_line — только строки с непустыми комментариями. Расчётные ячейки компаний не создаются. Обязательное consolidated_amount строки комментария равно 0 и не используется при чтении; computed_at шапки при её создании заполняется временем расчёта ответа PUT, а не временем заморозки.

При переходе в VERIFIED таблица рассчитывается по текущим источникам, ручные поля накладываются на неё, полный результат сохраняется и получает is_frozen = true в одной транзакции с переходом статуса. После заморозки GET читает сохранённый результат. Повторная заморозка не пересчитывает результат.

Миграция удаляет прежний расчётный кэш незамороженных таблиц, сохраняя комментарии, обоснования и отклонения от методологии. Замороженные суммы не изменяются. Удалённый промежуточный расчёт при downgrade не восстанавливается.

vgo_assignment.side добавляется по DOC-277424 §3.4: NULL для ББ, D/K для ОФР. Уникальность ББ — версия/тип/строка, ОФР — версия/тип/строка/сторона. Старые назначения ASSIGN переносятся по счетам правил, неоднозначные решения блокируют миграцию; UNASSIGNED переносится на D и K. Откат запрещён при конфликте старого уникального ключа. correction.ordinal не вводится; дополнительные строки упорядочиваются по ID. Поле API data_changed сохраняется для совместимости и всегда равно false: отдельного состояния неактуального сохранённого расчёта больше нет.