Andrey Epifancev c8a89d4c63 docs(openspec): consolidations-ui — расхождения закрыты, дельта consolidated-osv-ui «Единицы» (AURORA-1589, PR #166)
Решение владельца 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>
2026-10-23 01:15:55 +04:00

72 lines
7.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

## 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.