§6 показатель пресета — measure правила; гайд фронта: раздел шахматки §5.7.1 (#145, ревью arm-core#141)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
parent
d5634c992f
commit
546310e83c
@ -596,7 +596,7 @@ closing_* = closing_* строки Qn
|
|||||||
Вход: версия + набор дебетовых счетов (`kind ∈ A, AP`) и кредитовых (`kind ∈ P, AP`); предустановки: «58.03 vs
|
Вход: версия + набор дебетовых счетов (`kind ∈ A, AP`) и кредитовых (`kind ∈ P, AP`); предустановки: «58.03 vs
|
||||||
67.03 + 66.03», «60 + 62 + 76 vs 60 + 62 + 76», «все счета». Дополнительно пресетом может быть **правило ББ из §4**
|
67.03 + 66.03», «60 + 62 + 76 vs 60 + 62 + 76», «все счета». Дополнительно пресетом может быть **правило ББ из §4**
|
||||||
(`statement_type = balance`): дебетовые и кредитовые счета берутся из сторон правила (с исключениями `is_excluded`),
|
(`statement_type = balance`): дебетовые и кредитовые счета берутся из сторон правила (с исключениями `is_excluded`),
|
||||||
показатель — `closing`; каскада §5 нет — это просмотр сумм по счетам правила, не сумма элиминации (решение владельца
|
показатель — `measure` правила (у всех правил ББ seed v1 — `closing`); каскада §5 нет — это просмотр сумм по счетам правила, не сумма элиминации (решение владельца
|
||||||
21.10.2026, arm-core #141). Правила ОФР пресетом не являются (ОФР в §4 открыт).
|
21.10.2026, arm-core #141). Правила ОФР пресетом не являются (ОФР в §4 открыт).
|
||||||
|
|
||||||
Шахматка — суммы первички: корректировки (§8) в ячейках не учитываются, список «строк без пары» шахматка не даёт —
|
Шахматка — суммы первички: корректировки (§8) в ячейках не учитываются, список «строк без пары» шахматка не даёт —
|
||||||
|
|||||||
@ -558,6 +558,28 @@ line_code_text}` — строки `unreadable` / `missing`, у которых в
|
|||||||
«Ответственный» на [34] — `lock.locked_by_name`, иначе `initiator.name`; «Утверждён в РФ» / «Верифицирован в ГО» — «—».
|
«Ответственный» на [34] — `lock.locked_by_name`, иначе `initiator.name`; «Утверждён в РФ» / «Верифицирован в ГО» — «—».
|
||||||
13. **`warnings` строк** — диагностика, не контракт: показывать как подсказку.
|
13. **`warnings` строк** — диагностика, не контракт: показывать как подсказку.
|
||||||
|
|
||||||
|
### 5.7.1 Шахматка и результирующая таблица ВГО (Срез 5, правила — `05-domain-rules.md` §6)
|
||||||
|
|
||||||
|
Префикс — `/consolidations/versions/{version_id}`. Права — `CONSOLIDATION_VIEW` и policy версии (чужая — 404); блокировка
|
||||||
|
версии не нужна. Расчёт — на лету по сводной ОСВ версии, ничего не хранится.
|
||||||
|
|
||||||
|
| Метод и путь | Запрос | Ответ | Ошибки |
|
||||||
|
|---|---|---|---|
|
||||||
|
| `GET /directories/accounts` (`DIRECTORY_VIEW`) | — | `AccountOut[] {id, code, parent_id?, name, kind?, row_type, is_off_balance, is_debit, is_credit}` — план счетов целиком, деревья Дт/Кт строятся по `parent_id` | — |
|
||||||
|
| `GET …/elimination-rules` | — | `{version_no?, is_version_fixed, rules[] {id, rule_no, version_no, statement_type, side_1, measure, company_1 {accounts[], excluded[]}, company_2 {…}}}` — правила, по которым строятся пресеты; без зафиксированной версии — открытые правила с максимальным `version_no` | 404 |
|
||||||
|
| `GET …/intercompany-matrix/all` | — | `IntercompanyMatrixOut` по всем счетам | 404 |
|
||||||
|
| `POST …/intercompany-matrix/manual` | `{debit_account_ids[], credit_account_ids[]}` (обе стороны непустые) | `IntercompanyMatrixOut` | 404; 422 `ACCOUNTS_REQUIRED`, массив валидации |
|
||||||
|
| `GET …/intercompany-matrix/preset/{rule_id}` | — | `IntercompanyMatrixOut` по счетам сторон правила (с исключениями), показатель — `measure` правила | 404 (правило не найдено или не действует для версии); 422 `INVALID_RULE` (не ББ, неверная сторона/показатель), `ACCOUNTS_REQUIRED` |
|
||||||
|
| `GET …/intercompany-matrix/all/export`, `POST …/manual/export`, `GET …/preset/{rule_id}/export` | как у расчёта | xlsx; имя — из `Content-Disposition` | как у расчёта |
|
||||||
|
| `GET …/intercompany-matrix/result-table` | — | `{companies[] {id, name}, articles[] {code, name, amounts[] {company_id, amount}, group_total}}` — пять статей §6 | 404; 422 `RESULT_ACCOUNTS_MISSING` (в плане счетов нет счёта статьи, коды в тексте) |
|
||||||
|
| `GET …/intercompany-matrix/result-table/export` | — | xlsx | как у расчёта |
|
||||||
|
|
||||||
|
`IntercompanyMatrixOut` — `{companies[] {id, name}, cells[] {company_a_id, company_b_id, amount_a, amount_b, variance_amount,
|
||||||
|
variance_percent?, exceeds_threshold, one_sided, skipped_osv_entry_count, osv_entry_ids_debit[], osv_entry_ids_credit[]}}`.
|
||||||
|
Порядок компаний задаёт обе оси; диагонали и пар без строк ОСВ в `cells` нет — показывать «—». Суммы — строки в рублях;
|
||||||
|
`variance_amount` — модуль разности, подсветка — по `exceeds_threshold` (> 5 % к меньшей сумме). `skipped_osv_entry_count` —
|
||||||
|
строки ОСВ пары без сопоставленного счёта, в суммы они не вошли. Выгрузки пишут в журнал `EXPORT`.
|
||||||
|
|
||||||
### 5.8 Схемы ответов (кратко)
|
### 5.8 Схемы ответов (кратко)
|
||||||
|
|
||||||
Поля с `?` могут быть `null`, но ключ присутствует всегда. Полные схемы — `/openapi.json` и контракты по областям.
|
Поля с `?` могут быть `null`, но ключ присутствует всегда. Полные схемы — `/openapi.json` и контракты по областям.
|
||||||
@ -742,8 +764,8 @@ async function download(path: string, fallbackName: string): Promise<void> {
|
|||||||
5. **Статус формы после правки** может стать `RECOGNIZED`, даже если у файла были предупреждения маппинга (arm-core#40, R-2) —
|
5. **Статус формы после правки** может стать `RECOGNIZED`, даже если у файла были предупреждения маппинга (arm-core#40, R-2) —
|
||||||
ориентируйтесь на проверки и предупреждения, а не только на статус.
|
ориентируйтесь на проверки и предупреждения, а не только на статус.
|
||||||
6. **Комментарии и правки нельзя удалить/отменить**; подтверждение необратимо.
|
6. **Комментарии и правки нельзя удалить/отменить**; подтверждение необратимо.
|
||||||
7. **Нет в API** (показывать «—» или не показывать): маршрут согласования после `DATA_CORRECTION` (Срез 7), шахматка и ВГО
|
7. **Нет в API** (показывать «—» или не показывать): маршрут согласования после `DATA_CORRECTION` (Срез 7), сопоставление пар ВГО
|
||||||
(Срез 5), КФО и ЕХ (Срезы 6–7), «Добавить версию», гудвилл, журнал аудита, шапка формы ОКЕИ/ОПФ/форма собственности/аудит
|
и элиминация (AURORA-1536), КФО и ЕХ (Срезы 6–7), «Добавить версию», гудвилл, журнал аудита, шапка формы ОКЕИ/ОПФ/форма собственности/аудит
|
||||||
(П-4).
|
(П-4).
|
||||||
8. **В проде нет `/openapi.json`** — генерируйте типы со стенда разработки.
|
8. **В проде нет `/openapi.json`** — генерируйте типы со стенда разработки.
|
||||||
9. **`Content-Disposition` не читается кросс-доменно** (нет `Access-Control-Expose-Headers` в CORS ядра): при фронте на
|
9. **`Content-Disposition` не читается кросс-доменно** (нет `Access-Control-Expose-Headers` в CORS ядра): при фронте на
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user