Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EAKRDNzXtRrwmWz9z6PZu3
45 lines
3.3 KiB
Markdown
45 lines
3.3 KiB
Markdown
# consolidation-setup Specification
|
||
|
||
## Purpose
|
||
TBD - created by archiving change demo-prototype. Update Purpose after archive.
|
||
|
||
## Requirements
|
||
|
||
### Requirement: Состав модалки «Новая консолидация»
|
||
Модалка [42] SHALL предлагать выбор ГК (`GET /directories/company-groups`), ГСК этой ГК с `kind = gsk`
|
||
(`GET /directories/company-groups/{id}/related-groups`), года и квартала, и показывать **все** незакрытые ЮЛ ГК
|
||
(`GET /directories/legal-entities?company_group_id=&closed=false`, страницы дочитываются по `offset`, пока не получены
|
||
все `total`). Члены выбранной ГСК (`GET /directories/related-groups/{id}` → `members[]`) SHALL быть отмечены
|
||
автоматически; пользователь может снять или добавить отметки.
|
||
|
||
#### Scenario: Выбор ГСК отмечает её членов
|
||
- **WHEN** аналитик выбирает ГК «Русский бисквит» и её ГСК
|
||
- **THEN** в списке ЮЛ видны все ЮЛ ГК, а члены ГСК («АО "Русский бисквит"», «ООО "Пекарня Счастливочная"») отмечены
|
||
|
||
#### Scenario: ЮЛ больше одной страницы
|
||
- **WHEN** у ГК больше ЮЛ, чем `limit` одной страницы
|
||
- **THEN** модалка показывает все ЮЛ ГК, а не первую страницу
|
||
|
||
### Requirement: Создание и переход к версии
|
||
По «Создать» модалка SHALL отправить `POST /consolidations {company_group_id, related_group_id, year, quarter,
|
||
legal_entity_ids}` с отмеченными ЮЛ. При 201 модалка SHALL закрыться, список консолидаций ГК — перечитаться, а созданная
|
||
версия (`VersionCard.id`) — открыться в карточке. При ошибке модалка SHALL остаться открытой и показать `message` из
|
||
`ApiError` (коды `CONSOLIDATION_EXISTS`, `RELATED_GROUP_MISMATCH`, `ENTITY_NOT_IN_GROUP`, `PERIMETER_TOO_SMALL` и 422
|
||
валидации).
|
||
|
||
#### Scenario: Успешное создание
|
||
- **WHEN** аналитик создаёт консолидацию 2024 Q3 с периметром из ГСК
|
||
- **THEN** открыта карточка версии №1 со статусом «Инициация» и двумя ЮЛ в панели «Организации»
|
||
|
||
#### Scenario: Консолидация за период уже есть
|
||
- **WHEN** сервер отвечает 409 `CONSOLIDATION_EXISTS`
|
||
- **THEN** модалка не закрывается и показывает текст ошибки сервера
|
||
|
||
### Requirement: Переход к сводной ОСВ из карточки
|
||
Кнопка «К отчётности» карточки версии SHALL вести на `/groups/:group_id/versions/:version_id/osv` и быть доступна в
|
||
любом статусе версии.
|
||
|
||
#### Scenario: Переход к своду
|
||
- **WHEN** аналитик нажимает «К отчётности» у версии
|
||
- **THEN** открывается экран сводной ОСВ этой версии
|