4.3 KiB
Raw Blame History

Why

Панель «Первичные документы» [39], открытая из строки ЮЛ в карточке версии, показывает все файлы ЮЛ (GET /legal-entities/{id}/files), в том числе загруженные в другие консолидации ГК. Решения владельца 09.10.2026 (RSHB/arm-ka-docs#90, сквозной change ../docs/openspec/changes/console-files/; ядро — RSHB/arm-core#96): файл загружается в консолидацию (ГК + период) и образует её «рабочий стол»; ядро даёт маршруты POST/GET /consolidations/{cid}/legal-entities/{le}/files, а query consolidation_version_id у POST /legal-entities/{id}/files удаляет. Issue — RSHB/arm-web#26.

What Changes

Экраны: [39] панель «Первичные документы», [40] модалка «Загрузка документов». Эндпоинты arm-core: GET /consolidations/{cid}/legal-entities/{le}/files (новый), POST /consolidations/{cid}/legal-entities/{le}/files (новый), GET /legal-entities/{id}/files (без изменений, в FileOut добавлено consolidation_id), POST /legal-entities/{id}/files (без query версии).

  • Консолидация и статус открытой версии выводятся из стора (consolidations[] + current_version_id) селектором; отдельного поля в сторе нет.
  • services/api/files.ts: listLegalEntityFiles(legalEntityId, consolidationId) и uploadFiles(legalEntityId, files, consolidationId) — с консолидацией маршруты /consolidations/{cid}/…, без неё маршруты ЮЛ; query consolidation_version_id исчезает.
  • Панель [39]: по умолчанию рабочий стол консолидации; переключатель «Все документы организации» переключает на список ЮЛ; в режиме «все» у файла в подписи — его консолидация («2025 К1» по списку консолидаций ГК, «вне консолидации» при null, «другая консолидация» при неизвестном id). Опрос раз в 5 с — по активному списку.
  • Кнопка «Загрузить документы» недоступна, если открытая версия не «в работе» (INITIATED, DOCUMENTS_PROCESSING, DATA_CORRECTION), с подсказкой.
  • Типы: FileOut.consolidation_id: string | null.
  • Спека primary-files-ui: три требования переписаны/добавлены.

Non-goals

  • Экран [60] «Монозаёмщики» и панель без контекста консолидации — не делаются (их пока нет во фронте).
  • Пометка «документ не подходит версии» в панели — нет (чек-лист версии, OQ-120).
  • Перенос файла между консолидациями, удаление файла из панели — нет (как и сейчас).
  • Изменение экрана проверки документа [41] и сводной ОСВ — нет.
  • arm-core/web (дубль фронта в ядре) не трогается.

Capabilities

New Capabilities

Modified Capabilities

  • primary-files-ui: загрузка в консолидацию, рабочий стол и переключатель «Все документы организации», недоступная загрузка вне версии «в работе».

Impact

  • src/services/api/files.ts (+ files.test.ts), src/widgets/FilesDrawer/{FilesDrawer,FilesList,UploadDocumentsModal}.tsx, src/widgets/FilesDrawer/{useLegalEntityFiles,documentRows}.ts (+ тест), новый src/widgets/FilesDrawer/consolidationLabel.ts (+ тест), новый src/store/slices/consolidations/selectors.ts (+ тест), src/types/api.ts.
  • Зависимость: ядро с RSHB/arm-core#96 на стенде; до его выката панель получит 404 на маршрутах консолидации.