openspec: архив checklist-documents-filter (AURORA-1678, PR #227)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
parent
869f5d72b7
commit
47eba831d6
@ -198,6 +198,11 @@ account, status, missing_quarters, document_ids}`: `document_type` и `account`
|
|||||||
`CONFIRMED` «Загружен», `PROCESSING` «Обработка», `NEEDS_CHECK`/`RECOGNIZED` «Требуется проверка», `ERROR` «Ошибка
|
`CONFIRMED` «Загружен», `PROCESSING` «Обработка», `NEEDS_CHECK`/`RECOGNIZED` «Требуется проверка», `ERROR` «Ошибка
|
||||||
загрузки», `MISSING` «Отсутствует» (с « (нет: Q1, Q2)» при `missing_quarters`); `Content-Disposition` — `attachment` с
|
загрузки», `MISSING` «Отсутствует» (с « (нет: Q1, Q2)» при `missing_quarters`); `Content-Disposition` — `attachment` с
|
||||||
именем `checklist-<ГК>-<год>-<квартал>.csv` в RFC 5987.
|
именем `checklist-<ГК>-<год>-<квартал>.csv` в RFC 5987.
|
||||||
|
Параметр `documents` (JSON и CSV) SHALL отбирать столбцы: список через запятую из `BALANCE`, `INCOME` и `OSV:<счёт>`;
|
||||||
|
в ответе остаются только названные правила (в порядке `rules`) и их ячейки у каждого ЮЛ, ЮЛ периметра не отбираются;
|
||||||
|
документ, которого нет в правилах подхода версии, столбца не добавляет. Без `documents` — все правила. Пустой список,
|
||||||
|
пустой токен, неизвестный документ и `OSV` без счёта SHALL давать 422 `INVALID_DOCUMENTS` (`detail.token`), значение
|
||||||
|
длиннее 500 символов — 422 валидации; проверка — до обращения к БД.
|
||||||
|
|
||||||
#### Scenario: Пробел Q2
|
#### Scenario: Пробел Q2
|
||||||
- **WHEN** у ЮЛ привязаны квартальные ОСВ 60 за Q1 и Q3 2024, версия за 2024 Q3
|
- **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
|
- **WHEN** запрошен чек-лист версии с `format=csv`, у ЮЛ подтверждён ББ, ОСВ 60 отсутствует за Q2
|
||||||
- **THEN** файл начинается с BOM, первая строка — «Организация;ИНН;Бух. баланс;ОФР;ОСВ 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: Границы входных данных
|
### Requirement: Границы входных данных
|
||||||
Входы консолидаций SHALL иметь верхние границы: `legal_entity_ids` тела `PUT …/members` и тела `POST /consolidations` —
|
Входы консолидаций SHALL иметь верхние границы: `legal_entity_ids` тела `PUT …/members` и тела `POST /consolidations` —
|
||||||
не больше 500 идентификаторов, `comment` тела `POST …/status` — не больше 1000 символов, `q` фильтров `GET …/osv` и
|
не больше 500 идентификаторов, `comment` тела `POST …/status` — не больше 1000 символов, `q` фильтров `GET …/osv` и
|
||||||
|
|||||||
@ -293,3 +293,22 @@ SHALL быть неактивной с подсказкой «Возьмите
|
|||||||
#### Scenario: Показать пары
|
#### Scenario: Показать пары
|
||||||
- **WHEN** в модалке нажато «Показать пары»
|
- **WHEN** в модалке нажато «Показать пары»
|
||||||
- **THEN** вкладка «ОСВ» остаётся, открыт режим «Встречные записи» с первой парой
|
- **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** в поле «Документы не выбраны», в матрице только «Организация», «Скачать» неактивна
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user