From c60a53acc86c1034287c1bf3cc068252423ad491 Mon Sep 17 00:00:00 2001 From: Andrey Epifancev Date: Tue, 27 Oct 2026 23:05:55 +0400 Subject: [PATCH] =?UTF-8?q?docs(openspec):=20back-to-primary-docs=20?= =?UTF-8?q?=E2=80=94=20=D1=80=D0=B5=D1=88=D0=B5=D0=BD=D0=B8=D1=8F=20=D0=B1?= =?UTF-8?q?=D0=B5=D0=B7=20=D0=BE=D0=B1=D1=81=D1=83=D0=B6=D0=B4=D0=B5=D0=BD?= =?UTF-8?q?=D0=B8=D1=8F=20(#197)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 5.5 --- .../changes/back-to-primary-docs/design.md | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 openspec/changes/back-to-primary-docs/design.md diff --git a/openspec/changes/back-to-primary-docs/design.md b/openspec/changes/back-to-primary-docs/design.md new file mode 100644 index 0000000..899cc10 --- /dev/null +++ b/openspec/changes/back-to-primary-docs/design.md @@ -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=`), а не в сторе или 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`). + Обоснование: стор обновляется эффектом после первого рендера — без условия панель на мгновение показала бы прежнее ЮЛ и + запросила бы его файлы. Цена ошибки: нет (поведение для пользователя то же).