Proposal и design: §8 «КФО», DBML v5.26, контракт API КФО под AURORA-1546/1547; ответы на вопросы проверки исполнителем. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
49 lines
5.0 KiB
Markdown
49 lines
5.0 KiB
Markdown
# Proposal: расчёт КФО — правила §8, модель v5.26, контракт API (docs #206)
|
||
|
||
## Why
|
||
|
||
Разработка КФО стартует 10.11.2026: AURORA-1546 (расчёт, Цыганков) и AURORA-1547 (экран, Степанов, на фейковых данных
|
||
по контракту). Обе задачи в «Нужно до старта» ссылаются на три документа, которых нет или которые устарели:
|
||
|
||
- §8 «КФО» в `context/05-domain-rules.md` написан по прежней редакции: корректировки складываются с автоэлиминацией,
|
||
нет распределения по строкам правил 1 и 2, нет ветки гудвилла в расчёте, нет единиц и округления;
|
||
- в модели `kfo_result_line_company` нет «по данным клиента» и «в т. ч. взаимные» по компании — колонки экрана из
|
||
сохранённого результата не восстановить;
|
||
- контракта API КФО нет совсем.
|
||
|
||
Источники: страницы Лысенко — DOC-274230 «Правила пар счетов» (27.10), DOC-259025 «Гудвилл» (03.11), DOC-272613
|
||
«Корректировка данных агрегатом» (04.11); черновики команды — DOC-274636 «Расчёт КФО», DOC-274647 «Экран: КФО»;
|
||
макет `[31-04]`. При расхождении страница Лысенко важнее черновика (решение владельца 28.10.2026, распространено на КФО
|
||
в раскладке спринта 4, R-1).
|
||
|
||
## What changes
|
||
|
||
- `context/05-domain-rules.md` §8, блок «КФО» — переписан: источники значений, порядок расчёта, автосумма агрегата по
|
||
каждому правилу ББ, распределение по строкам, корректировка агрегата вместо автосуммы, гудвилл, ОФР, итоговые строки,
|
||
единицы и округление, расхождения и пороги, реквизиты, пересчёт и заморозка, предупреждения.
|
||
- `model/data-model-v5.26.dbml` + `model/entities-v5.26.md` — `kfo_result_line_company` получает `client_amount`
|
||
и `vgo_amount`; пояснения `kfo_result_line` (`vgo_amount`, `eliminated_manual`, `GOODWILL`, единицы) и `kfo_result`
|
||
приведены к §8; changelog в шапке.
|
||
- `dev/api-contract-kfo.md` + `dev/api-contract-kfo.openapi.yaml` — новый контракт: чтение результата КФО версии,
|
||
сохранение ручных полей (комментарии строк, обоснование порога, причины отклонений от Методики).
|
||
- §8 «Корректировка» и `dev/api-contract-corrections.md` — автосумма агрегата нового режима `min_or_full` (правило 2):
|
||
таблица корректировок и КФО считают её одной функцией.
|
||
- DBML v5.26 также: `kfo_result.warnings` и сводка корректировок, `audit_action.KFO_EDIT`, пояснение `elimination_mode`.
|
||
- `context/07-open-questions.md` — открытые вопросы КФО с вариантом, принятым на старте.
|
||
|
||
Срез плана: Срез 6 (`09-delivery-plan.md`), Гант 2.5 / 2.8. Дочерние change'и — в `arm-core` (AURORA-1546, 1547,
|
||
1417), заводят исполнители.
|
||
|
||
Схема среза ЕХ `ex-payload-v1` — отдельный change и PR (под AURORA-1560), строится на форме ответа этого контракта.
|
||
|
||
## Non-goals
|
||
|
||
- Код расчёта и экрана — AURORA-1546, 1547 в `arm-core`.
|
||
- Правила пар ОФР как данные и их расчёт — AURORA-1999 (§5); здесь только как КФО читает агрегаты ОФР.
|
||
- Механизм пересчёта и инвалидации (события, триггеры) — AURORA-1417; здесь только наблюдаемое поведение для экрана.
|
||
- «КФО Общий» (динамика), «Подтверждение КФО клиента», выгрузка формы 2.03.01.01с — AURORA-2003, 1549/1550, 1565.
|
||
- Проверки перед переходами статусов (обязательность обоснования при отправке на верификацию) — AURORA-2002 / 1414;
|
||
здесь только признак «нужно обоснование».
|
||
- Новые поля версии под «подход по Методике» и «согласовано клиентом» — ждут ответа заказчика (DOC-274636, вопросы 14, 15).
|
||
- Схема `ex-payload-v1` — следующий change.
|