Решение владельца 23.10.2026: PR доводим сами, 71ef633 остаётся. design.md: Known issues 1–14 закрыты, открыты 15 (lucide-react в Nexus), 16 (предупреждение вне модалок), 17 (красное поле поиска в [42]); решения без обсуждения (л)–(х), пересмотр (е) и (к). Спека: несохранённые правки в модалках, ошибки [35], [31-00] при неактивных вкладках. tasks.md, web/ARCHITECTURE.md, web/CLAUDE.md. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
72 lines
7.4 KiB
Markdown
72 lines
7.4 KiB
Markdown
## Why
|
||
|
||
В ветке `AURORA-1589` (PR RSHB/arm-core#166, автор — Степанов, задача AURORA-1589) фронт доводит экраны консолидаций до
|
||
макета: список консолидаций ГК [34] с «Взять в работу» и перехватом [35], модалку «Новая консолидация» [42] и кнопку
|
||
«Изменить статус» в карточке версии [30] с модалкой [33-01]. Бэкенд этих действий уже в main (`consolidations-api`:
|
||
список с `in_work_only`, блокировка и перехват, ручная смена статуса). У экранов нет UI-спеки. Спеку, документацию и тесты
|
||
ведёт ревьюер коммитами в ветку автора (правило владельца). После ревью раунда 1 владелец решил (23.10.2026) довести PR
|
||
самим в этой же ветке: расхождения кода с целевой спекой (бывшие «Known issues» `design.md`) исправлены ревьюером, коммит
|
||
71ef633 («Единицы» сводной ОСВ) остаётся в PR и тоже исправлен.
|
||
|
||
## What Changes
|
||
|
||
Репозиторий — только arm-core (`web/`). Эндпоинты arm-core (без изменений): `GET /company-groups/{id}/consolidations`
|
||
(`in_work_only`), `GET /consolidations/versions/{id}`, `POST /consolidations/versions/{id}/lock` (`takeover_reason`),
|
||
`POST /consolidations/versions/{id}/status`, `POST /consolidations`.
|
||
|
||
- Список консолидаций [34]: колонки, дерево версий с номером только у версий 2+, фильтр «Только в работе» (выключен по
|
||
умолчанию), «Взять в работу» с подтверждением [35] и перехватом с причиной, неактивные пункты меню «⋯».
|
||
- Панель «Организации» без выбранной консолидации и серый статус «Отсутствует».
|
||
- Подписи статусов версии («Корректировка данных», «Отменена») и пояснение статуса под заголовком карточки.
|
||
- Модалка «Новая консолидация» [42]: ИНН отдельной колонкой, «+ Создать», без звёздочек обязательности.
|
||
- «Изменить статус» [33-01]: допустимые переходы — зеркало `MANUAL_TRANSITIONS` бэка, по умолчанию ничего не выбрано,
|
||
кнопка доступна только владельцу блокировки и при наличии ручных переходов.
|
||
- Модалка [31-00] «Остались неуказанные ИНН» при уходе со «Сводной ОСВ» на другую вкладку отчёта.
|
||
- Предупреждение браузера о несохранённых правках в модалках этих экранов («Взять в работу» с причиной, «Изменить
|
||
статус», «Новая консолидация»).
|
||
- Сводная ОСВ [30]: «Единицы» (руб. / тыс. руб. / млн руб. / млрд руб.) и «Знаков после запятой» (0–3) — масштаб на
|
||
строках без float, ноль — «—».
|
||
- Новая спека `consolidations-ui` (ADDED Requirements), дельта `consolidated-osv-ui` (ADDED).
|
||
- Чистые правила экранов — `web/src/utils/consolidations.ts`, масштаб сумм — `formatScaledAmount` в `web/src/utils/money.ts`,
|
||
тесты vitest.
|
||
- Документация фронта: `web/CLAUDE.md` (вторая библиотека иконок `lucide-react`), `web/ARCHITECTURE.md` (новые виджеты).
|
||
|
||
## Non-goals
|
||
|
||
- Полный маршрут согласования (переходы Среза 7), «Добавить версию», «Отключить подтверждение КФО», «История изменений»,
|
||
«Редактировать состав», «Импорт», «Дата верификации», «Утверждён в РФ» / «Верифицирован в ГО» — зонтичная задача
|
||
AURORA-1416.
|
||
- ГСК консолидации в API списка и карточки (колонка «ГСК») — отдельная задача ядра; до неё колонка пустая.
|
||
- Список допустимых переходов из API (`allowed_transitions`) — с маршрутом согласования; до него фронт держит зеркало.
|
||
- Предупреждение браузера о несохранённых правках в формах вне экранов консолидаций (справочники, проверка документов) и
|
||
при переходе по меню приложения — открытый вопрос владельцу (`design.md`, «Открытые вопросы»).
|
||
- «Настройка таблицы», «На весь экран», фильтры по суммам в сводной ОСВ — задача «Сводная ОСВ: UI по макету».
|
||
- Изменения бэкенда и DBML.
|
||
|
||
## Capabilities
|
||
|
||
### New Capabilities
|
||
- `consolidations-ui`: список консолидаций ГК, взятие в работу и перехват, модалка новой консолидации (вид), смена статуса
|
||
версии и шапка карточки версии.
|
||
|
||
### Modified Capabilities
|
||
|
||
- `consolidated-osv-ui`: ADDED требование «Единицы и знаки после запятой» (коммит 71ef633 остаётся в PR, решение
|
||
владельца 23.10.2026). `consolidation-setup` (состав модалки [42], создание, «К отчётности») не правится — вид модалки
|
||
и шапка карточки описаны в новой спеке (`design.md`, решение без обсуждения (а)).
|
||
|
||
## Impact
|
||
|
||
- `web/src/utils/consolidations.ts` (+ тест), `web/src/utils/money.ts` (`formatScaledAmount`, + тест),
|
||
`web/src/hooks/useBeforeUnload.ts`, `web/src/widgets/ConsolidatedOsv/` (`OsvTabs.tsx` — модалка [31-00],
|
||
`useNumberDisplay.tsx`, `OsvTable.tsx`),
|
||
- `web/src/widgets/ConsoleTable/` (`ConsoleTable.tsx`, `LockModal.tsx`, `config.tsx`, `consts.ts`, `flatten.ts`),
|
||
`web/src/widgets/StatusChangeModal/ChangeStatusModal.tsx`, `web/src/widgets/NewConsoleModal/`
|
||
(`NewConsoleModal.tsx`, `CompanyOptionRow.tsx`), `web/src/widgets/ConsoleLegalEntities/`,
|
||
`web/src/layouts/ConsolidatedOsvPage.tsx`, `web/src/layouts/ConsolidationsList.tsx`,
|
||
`web/src/services/api/consolidations.ts`, `web/src/store/slices/consolidations/thunks.ts`, `web/src/types/`,
|
||
`web/src/widgets/Sidebar/` (иконки), `web/package.json` (`lucide-react`).
|
||
- Права: действия требуют `CONSOLIDATION_EDIT` на сервере; меню по правам не скрывается.
|
||
- Гайд фронта по API (`docs/dev/frontend-api-guide.md` §5.7): заметка о зеркале ручных переходов — PR в RSHB/arm-ka-docs,
|
||
сливать вместе с этим PR.
|