25 lines
3.0 KiB
Markdown
25 lines
3.0 KiB
Markdown
# Модель данных v5.27 — КФО без сохранения промежуточного расчёта
|
||
|
||
Миграция arm-core: `0014_dbml_v5_27`, после `0013_dbml_v5_26`.
|
||
База: [v5.26](entities-v5.26.md). Схема: [data-model-v5.27.dbml](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: отдельного состояния неактуального сохранённого расчёта больше нет.
|