Первичные документы в контексте консолидации: привязка файла к консоли, маршруты /consolidations/{id}/legal-entities/{le}/files #90

Closed
opened 2026-10-09 21:33:24 +03:00 by aep · 2 comments
Owner

Проблема

Панель «Первичные документы» ЮЛ, открытая из версии консолидации, показывает все файлы ЮЛ, в том числе загруженные в другие консолидации той же ГК. Файл принадлежит ЮЛ (stored_file.legal_entity_id), контекста консолидации у него нет; GET /legal-entities/{id}/files не фильтруется.

Целевая картина (решения владельца 09.10.2026)

  • Файл загружается в консолидацию (период ГК) и становится частью её «рабочего стола», общего для всех рабочих версий периода (рабочие версии различаются периметром).
  • Верифицированная версия заморожена: её первичка фиксируется в ЕХ (ex_snapshot_item, Срез 7). Новая версия после VERIFIED может менять документы при том же периметре.
  • Что именно использует конкретная версия — consolidation_document и чек-лист версии (без изменений).

Объём

  • DBML v5.18: stored_file.consolidation_id (nullable FK → consolidation), индекс (legal_entity_id, consolidation_id); entities; §9.5 domain-rules; гайды API/QA; user-journey п. 2.5; OQ про целевую модель версий.
  • arm-core: миграция 0006 с backfill по привязкам; POST/GET /consolidations/{cid}/legal-entities/{le}/files; у POST /legal-entities/{le}/files убрать query consolidation_version_id; FileOut.consolidation_id; наследование consolidation_id при автозамене файла без контекста; переход INITIATED → DOCUMENTS_PROCESSING у всех версий «в работе» с ЮЛ в периметре.
  • arm-web: стор current_consolidation_id, панель и загрузка через новые маршруты, переключатель «Все документы организации» с подписью консолидации у файла.

Спецификация — openspec/changes/console-files/ в этом репозитории; у arm-core и arm-web — свои change и PR.

## Проблема Панель «Первичные документы» ЮЛ, открытая из версии консолидации, показывает все файлы ЮЛ, в том числе загруженные в другие консолидации той же ГК. Файл принадлежит ЮЛ (`stored_file.legal_entity_id`), контекста консолидации у него нет; `GET /legal-entities/{id}/files` не фильтруется. ## Целевая картина (решения владельца 09.10.2026) - Файл загружается в консолидацию (период ГК) и становится частью её «рабочего стола», общего для всех рабочих версий периода (рабочие версии различаются периметром). - Верифицированная версия заморожена: её первичка фиксируется в ЕХ (`ex_snapshot_item`, Срез 7). Новая версия после VERIFIED может менять документы при том же периметре. - Что именно использует конкретная версия — `consolidation_document` и чек-лист версии (без изменений). ## Объём - [ ] DBML v5.18: `stored_file.consolidation_id` (nullable FK → consolidation), индекс `(legal_entity_id, consolidation_id)`; entities; §9.5 domain-rules; гайды API/QA; user-journey п. 2.5; OQ про целевую модель версий. - [ ] arm-core: миграция 0006 с backfill по привязкам; `POST/GET /consolidations/{cid}/legal-entities/{le}/files`; у `POST /legal-entities/{le}/files` убрать query `consolidation_version_id`; `FileOut.consolidation_id`; наследование consolidation_id при автозамене файла без контекста; переход INITIATED → DOCUMENTS_PROCESSING у всех версий «в работе» с ЮЛ в периметре. - [ ] arm-web: стор `current_consolidation_id`, панель и загрузка через новые маршруты, переключатель «Все документы организации» с подписью консолидации у файла. Спецификация — `openspec/changes/console-files/` в этом репозитории; у arm-core и arm-web — свои change и PR.
Author
Owner

Часть «docs» закрыта PR #91 (слит в main 10.10.2026, коммит 07549a4): DBML v5.18 (stored_file.consolidation_id последней колонкой, индекс (legal_entity_id, consolidation_id)), entities v5.18, 05-domain-rules.md §9.1/§9.5 п. 1, 3, 8, 11, гайд фронта и контракты API, 10-user-journey.md п. 2.5, QA-гайд, OQ-159 закрыт, OQ-160 (целевая модель версий), план срезов. Отложенные находки — #92 (Follow-ups from #90).

Остаются открытыми пункты arm-core (RSHB/arm-core#96, change и план готовы) и arm-web (RSHB/arm-web#26, change и план готовы). Архив change console-files в этом репозитории — после закрытия дочерних (правило openspec/config.yaml).

Часть «docs» закрыта PR #91 (слит в main 10.10.2026, коммит 07549a4): DBML v5.18 (`stored_file.consolidation_id` последней колонкой, индекс `(legal_entity_id, consolidation_id)`), entities v5.18, `05-domain-rules.md` §9.1/§9.5 п. 1, 3, 8, 11, гайд фронта и контракты API, `10-user-journey.md` п. 2.5, QA-гайд, OQ-159 закрыт, OQ-160 (целевая модель версий), план срезов. Отложенные находки — #92 (Follow-ups from #90). Остаются открытыми пункты arm-core (RSHB/arm-core#96, change и план готовы) и arm-web (RSHB/arm-web#26, change и план готовы). Архив change `console-files` в этом репозитории — после закрытия дочерних (правило `openspec/config.yaml`).
Author
Owner

Дочерние задачи закрыты: arm-core #96 (PR #97, main 9be7d75), arm-web #26 (PR #27, test 418697a). Архив сквозного change console-files — отдельным PR.

Дочерние задачи закрыты: arm-core #96 (PR #97, main 9be7d75), arm-web #26 (PR #27, test 418697a). Архив сквозного change `console-files` — отдельным PR.
aep closed this issue 2026-10-10 09:03:27 +03:00
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: RSHB/arm-ka-docs#90
No description provided.