docs(openspec): back-to-primary-docs — решения без обсуждения (#197)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Andrey Epifancev 2026-10-27 23:05:55 +04:00
parent a653172418
commit c60a53acc8

View File

@ -0,0 +1,20 @@
## Context
AURORA-1682, RSHB/arm-core#197. Панель «Первичные документы» открывалась локальным состоянием `ConsolidationPage`
(`drawerOpen`), ЮЛ панели — в сторе (`current_legal_entity_id`). «Назад» из документа (`navigate(-1)`) монтирует страницу
консолидации заново, и панель закрыта.
## Decisions made without discussion
- **2026-10-27, R-1.** Открытая панель хранится в адресе (`?entity=<legal_entity_id>`), а не в сторе или sessionStorage.
Обоснование: выбранная версия уже живёт в `?version=` (ConsoleTable), история браузера сама возвращает адрес с панелью,
а ссылку с панелью можно переслать. Цена ошибки: если параметр не нужен в адресе — заменить на состояние в сторе
(правка в `ConsolidationsList.tsx` и двух функциях `utils/consolidations.ts`).
- **2026-10-27, R-2.** Открытие и закрытие панели заменяют запись истории (`replace: true`), как выбор версии. Обоснование:
иначе «Назад» браузера после закрытия панели снова открывал бы её. Цена ошибки: низкая — одна опция `setSearchParams`.
- **2026-10-27, R-3.** Режим «Все документы организации» в адрес не входит: после «Назад» панель открыта столом
консолидации. Обоснование: в задаче речь о возврате к панели организации; переключатель и без того сбрасывается при каждом
открытии панели. Цена ошибки: низкая — добавить второй параметр адреса.
- **2026-10-27, R-4.** Панель открывается, только когда ЮЛ из адреса уже в сторе (`current_legal_entity_id === entity`).
Обоснование: стор обновляется эффектом после первого рендера — без условия панель на мгновение показала бы прежнее ЮЛ и
запросила бы его файлы. Цена ошибки: нет (поведение для пользователя то же).