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

3.6 KiB
Raw Blame History

Модель данных v5.27 — КФО и позиции ВГО

Ветка: feat/kfo-table-back. Миграция arm-core: 0014_dbml_v5_27, после 0013_dbml_v5_26. База: v5.26. Полная схема: data-model-v5.27.dbml.

vgo_assignment.side

Nullable varchar: для ББ NULL, для ОФР только D или K. Это отдельные ручные решения для дебетовой и кредитовой позиции исходной строки ОСВ (DOC-277424 §3.4).

Прежний уникальный индекс заменяется двумя частичными:

  • balance: (consolidation_version_id, statement_type, osv_entry_id);
  • income: (consolidation_version_id, statement_type, osv_entry_id, side).

Существующие income ASSIGN переносятся по счетам зафиксированной версии правила с учётом иерархии и исключений; при неоднозначности миграция откатывается. UNASSIGNED переносится на обе стороны. ББ остаётся без стороны. Откат запрещён, если две позиции одной строки не помещаются в старый ключ.

kfo_result.snapshot

Boolean NOT NULL DEFAULT true. Несмотря на имя, поле не содержит снимок JSON:

  • true — входные данные изменились, нужен пересчёт;
  • false — сохранённый расчёт актуален.

После сохранённого изменения периметра, документов, формы, сопоставления, разнесения, корректировок или гудвилла признак выставляется той же транзакцией. GET пересчитывает помеченный результат и сбрасывает признак только при успешном сохранении. is_frozen защищает от пересчёта и инвалидации; существующие замороженные результаты при миграции получают false.

Сами суммы, комментарии, доли и предупреждения остаются в предусмотренных таблицах kfo_result, kfo_result_line и kfo_result_line_company. Исторические названия компаний и полный набор реквизитов в отдельном JSON больше не сохраняются.

Корректировки

correction.ordinal не добавляется. Основная строка определяется через parent_correction_id; дополнительные строки упорядочиваются по ID. Порядок ввода дополнительных строк не сохраняется. Если исключение ограничено суммой, это порядок применения дополнительных строк.

Граница v5.26 / v5.27

v5.26 содержит только изменения, описанные в data-model-v5.26.dbml: показатели компаний, предупреждения, сводки корректировок и события KFO_EDIT/EX_SNAPSHOT_WRITE. side и булевый snapshot вводятся только в v5.27. Наличие EX_SNAPSHOT_WRITE в enum не означает реализации процесса записи среза ЕХ.