openspec: архив checklist-documents-filter (AURORA-1678) #240

Merged
aep merged 1 commits from chore/archive-checklist-documents-filter into main 2026-11-10 15:47:51 +03:00
8 changed files with 37 additions and 0 deletions

View File

@ -198,6 +198,11 @@ account, status, missing_quarters, document_ids}`: `document_type` и `account`
`CONFIRMED` «Загружен», `PROCESSING` «Обработка», `NEEDS_CHECK`/`RECOGNIZED` «Требуется проверка», `ERROR` «Ошибка
загрузки», `MISSING` «Отсутствует» (с « (нет: Q1, Q2)» при `missing_quarters`); `Content-Disposition` — `attachment` с
именем `checklist-<ГК>-<год>-<квартал>.csv` в RFC 5987.
Параметр `documents` (JSON и CSV) SHALL отбирать столбцы: список через запятую из `BALANCE`, `INCOME` и `OSV:<счёт>`;
в ответе остаются только названные правила (в порядке `rules`) и их ячейки у каждого ЮЛ, ЮЛ периметра не отбираются;
документ, которого нет в правилах подхода версии, столбца не добавляет. Без `documents` — все правила. Пустой список,
пустой токен, неизвестный документ и `OSV` без счёта SHALL давать 422 `INVALID_DOCUMENTS` (`detail.token`), значение
длиннее 500 символов — 422 валидации; проверка — до обращения к БД.
#### Scenario: Пробел Q2
- **WHEN** у ЮЛ привязаны квартальные ОСВ 60 за Q1 и Q3 2024, версия за 2024 Q3
@ -232,6 +237,19 @@ account, status, missing_quarters, document_ids}`: `document_type` и `account`
- **WHEN** запрошен чек-лист версии с `format=csv`, у ЮЛ подтверждён ББ, ОСВ 60 отсутствует за Q2
- **THEN** файл начинается с BOM, первая строка — «Организация;ИНН;Бух. баланс;ОФР;ОСВ 60…», в строке ЮЛ — «Загружен» и «Отсутствует (нет: Q2)»
#### Scenario: CSV по выбранным документам
- **WHEN** запрошен чек-лист версии с `format=csv&documents=OSV:60,BALANCE,OSV:99`, у ЮЛ «А» подтверждена ОСВ 60
- **THEN** заголовок — «Организация;ИНН;Бух. баланс;ОСВ 60», строки обоих ЮЛ периметра с двумя ячейками, у «А» —
«Отсутствует;Загружен»
#### Scenario: JSON по выбранным документам
- **WHEN** запрошен чек-лист версии с `documents=INCOME,OSV:60`
- **THEN** `rules` — ОФР и ОСВ 60, у каждой строки две ячейки тех же правил
#### Scenario: Неизвестный документ
- **WHEN** запрошен чек-лист с `documents=OFR` (или пустым, `OSV:`, `BALANCE,,INCOME`)
- **THEN** 422 `INVALID_DOCUMENTS`, файл не отдаётся
### Requirement: Границы входных данных
Входы консолидаций SHALL иметь верхние границы: `legal_entity_ids` тела `PUT …/members` и тела `POST /consolidations` —
не больше 500 идентификаторов, `comment` тела `POST …/status` — не больше 1000 символов, `q` фильтров `GET …/osv` и

View File

@ -293,3 +293,22 @@ SHALL быть неактивной с подсказкой «Возьмите
#### Scenario: Показать пары
- **WHEN** в модалке нажато «Показать пары»
- **THEN** вкладка «ОСВ» остаётся, открыт режим «Встречные записи» с первой парой
### Requirement: Окно «Чек-лист загруженных документов»
Кнопка «Скачать чек-лист» панели «Организации» SHALL открывать окно «Чек-лист загруженных документов» (макет [37]):
фильтр «Документы», легенда статусов и матрица «Организация» × «Бух. баланс», «ОФР», «ОСВ» по счетам правил версии.
Фильтр «Документы» — селект с подписью сверху, как фильтры отчётности: в списке пункт «Все документы» и по пункту на
столбец матрицы с флажками; в поле — «Все документы», «Документы не выбраны» или «N документ(а/ов)». При открытии
отмечены все документы. Матрица SHALL показывать только отмеченные столбцы (колонка «Организация» — всегда; группа «ОСВ»
без отмеченных счетов не показывается). «Скачать» SHALL выгружать CSV с теми же документами (`documents` запроса
`GET …/checklist?format=csv`; при всех отмеченных — без параметра) и неактивна, пока не отмечен ни один документ.
Фильтра «Группа компаний» из макета нет: окно открывается внутри версии одной ГК.
#### Scenario: Выбраны два документа
- **WHEN** в фильтре «Документы» отмечены только «ОФР» и «ОСВ 01»
- **THEN** в поле «2 документа», в матрице колонки «Организация», «ОФР» и «ОСВ» → «01»; «Скачать» выгружает CSV с
`documents=INCOME,OSV:01`
#### Scenario: Сняты все документы
- **WHEN** на «Все документы» нажали при всех отмеченных
- **THEN** в поле «Документы не выбраны», в матрице только «Организация», «Скачать» неактивна