Andrey Epifancev c60a53acc8 docs(openspec): back-to-primary-docs — решения без обсуждения (#197)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 23:05:55 +04:00

2.5 KiB
Raw Blame History

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). Обоснование: стор обновляется эффектом после первого рендера — без условия панель на мгновение показала бы прежнее ЮЛ и запросила бы его файлы. Цена ошибки: нет (поведение для пользователя то же).