proposal, design (Known issues — открытые дефекты ветки за автором; Decisions made without discussion), tasks и спека intercompany-matrix-ui: вкладки по маршруту :tab, таблица ЮЛ x ЮЛ, фильтры компаний и счетов Дт/Кт, режимы all/manual, единицы и знаки, экспорт XLSX, полноэкранный режим. Описано фактическое поведение ветки; дефекты в требования не вошли. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
46 lines
3.7 KiB
Markdown
46 lines
3.7 KiB
Markdown
## Why
|
||
|
||
В ветке `feat/chessTable` (PR RSHB/arm-core#158, автор — Голов) во фронте появился экран «Шахматка» — вкладка страницы
|
||
отчёта по версии консолидации рядом со «Сводной ОСВ». Бэкенд шахматки (`GET/POST …/intercompany-matrix/*`) уже в main
|
||
(change `2026-10-16-intercompany-matrix`), у экрана спеки нет. Спеку пишет ревьюер в ветке автора по решению владельца
|
||
(21.10.2026): она фиксирует фактическое поведение экрана и отделяет от него открытые дефекты (`design.md`, «Known issues»),
|
||
чтобы дефекты не закрепились требованием.
|
||
|
||
## What Changes
|
||
|
||
Репозиторий — только arm-core (`web/`). Экран «Шахматка» [31-01], эндпоинты arm-core:
|
||
`GET …/intercompany-matrix/all`, `POST …/intercompany-matrix/manual`, `GET …/intercompany-matrix/all/export`,
|
||
`POST …/intercompany-matrix/manual/export`, `GET /directories/accounts`.
|
||
|
||
- Маршрут `/groups/:group_id/versions/:version_id/:tab`: страница отчёта (`ConsolidatioReportPage`) с общей шапкой и
|
||
вкладками (`OsvTabs`); `tab = osv` — сводная ОСВ, `tab = chess` — шахматка. Прежний адрес `…/osv` продолжает работать.
|
||
- Таблица ЮЛ × ЮЛ: в ячейке три числа (сумма A, сумма Б, расхождение), строка «Итого».
|
||
- Фильтры: компании, счета Дт, счета Кт (деревом), единицы, знаков после запятой; режимы расчёта `all` / `manual`.
|
||
- Экспорт в XLSX (`all` / `manual`), полноэкранный режим.
|
||
- Новая спека `intercompany-matrix-ui` (ADDED Requirements).
|
||
|
||
## Non-goals
|
||
|
||
- Исправление дефектов экрана (перечень — `design.md`, «Known issues»): они остаются автору PR.
|
||
- Результирующая таблица ВГО (`GET …/intercompany-matrix/result-table`) и пресеты счетов — во фронте не реализованы.
|
||
- Выбор года и квартала на экране: селекторы заглушены (`disabled`), версия задаётся адресом.
|
||
- Изменения бэкенда и DBML: шахматка — чистая функция от версии, ничего не хранится (DECISION-5).
|
||
- Вкладки «Таблица корректировки», «Гудвилл», «КФО», «КФО Общий», «Подтверждение КФО клиента» — недоступны.
|
||
|
||
## Capabilities
|
||
|
||
### New Capabilities
|
||
- `intercompany-matrix-ui`: экран «Шахматка» версии консолидации.
|
||
|
||
### Modified Capabilities
|
||
|
||
Нет: `consolidated-osv-ui` не правится (вкладки описаны в новой спеке, см. design.md).
|
||
|
||
## Impact
|
||
|
||
- `web/src/App.tsx`, `web/src/layouts/{ConsolidatioReportPage,index}.ts(x)`, `web/src/widgets/ConsolidatedOsv/OsvTabs.tsx`,
|
||
`web/src/widgets/ConsolidatedOsvContent/`, `web/src/widgets/ConsolidatedChessContent/`,
|
||
`web/src/widgets/ConsolidationChessTable/`, `web/src/components/TreeFilterDropdown/`,
|
||
`web/src/services/consodilation/chess.ts`, `web/src/types/chess/chess.ts`, `web/src/api/client.ts` (`apiFetchBlob` принимает `init`).
|
||
- Права: экран читает данные под `CONSOLIDATION_VIEW`; меню по правам не скрывается.
|