Сводная ОСВ: сопоставление контрагента («Указать» → «Связать») по макету [32] #14

Closed
opened 2026-10-08 16:29:35 +03:00 by aep · 1 comment
Owner

Цель

В сводной ОСВ (экран [30]) нельзя сопоставить контрагента строки с ЮЛ справочника (и тем самым создать алиас). Баннер «Требуется указать соответствия… Осталось: N» и фильтр «Показать ЮЛ без ИНН» есть, а действия нет. API arm-core готов с Среза 4: GET …/counterparty-candidates, POST …/osv/entries/{entry_id}/counterparty (docs/dev/frontend-api-guide.md §§ консолидации, п. 9; 10-user-journey.md шаг 3.1).

Найдено владельцем 08.10.2026.

Что сделать (bounded)

  • Ссылка «Указать» в ячейке ИНН у строк без сопоставления (counterparty_id = null), как в макете [32-osv-no-inn]; если ИНН в строке есть — ИНН и «Указать» рядом.
  • Модалка «Выбор организации для связи с <имя контрагента>» по макету [32-osv-map-counterparty]: поиск, таблица ИНН / Организация / ГК / ГСК / ГСЗ, блок «Рекомендуемые» (recommended), кнопка «Связать» в строке.
  • Поиск: по умолчанию scope=group (периметр и ГК); переключатель «Весь справочник» → scope=all (запрос от 3 символов, иначе подсказка, без запроса).
  • «Связать» → POST …/osv/entries/{entry_ids.at(-1)}/counterparty; после успеха — сообщение (связано, автоприменено ещё к N строкам, алиас создан/перенесён) и перечитать страницу и …/osv/summary.
  • 409 ALIAS_TAKEN → подтверждение «Имя уже закреплено за <владельцы>. Перенести?» → повтор с move_alias = true.
  • 409 LOCK_REQUIRED → подтверждение «Взять версию в работу?» → POST …/lock → повтор. LOCKED_BY_OTHER → «Версию держит <имя>», без перехвата. VERSION_NOT_EDITABLE → сообщение.
  • Спека consolidated-osv-ui — сценарий сопоставления.

Вне объёма

  • Пересопоставление уже связанных строк (в макете нет).
  • Модалка ухода с вкладки [31-00] (других вкладок отчёта пока нет).
  • Кнопка «Взять в работу» / перехват блокировки на карточке версии [35].
## Цель В сводной ОСВ (экран [30]) нельзя сопоставить контрагента строки с ЮЛ справочника (и тем самым создать алиас). Баннер «Требуется указать соответствия… Осталось: N» и фильтр «Показать ЮЛ без ИНН» есть, а действия нет. API arm-core готов с Среза 4: `GET …/counterparty-candidates`, `POST …/osv/entries/{entry_id}/counterparty` (`docs/dev/frontend-api-guide.md` §§ консолидации, п. 9; `10-user-journey.md` шаг 3.1). Найдено владельцем 08.10.2026. ## Что сделать (bounded) - Ссылка **«Указать»** в ячейке ИНН у строк без сопоставления (`counterparty_id = null`), как в макете [32-osv-no-inn]; если ИНН в строке есть — ИНН и «Указать» рядом. - Модалка **«Выбор организации для связи с <имя контрагента>»** по макету [32-osv-map-counterparty]: поиск, таблица ИНН / Организация / ГК / ГСК / ГСЗ, блок «Рекомендуемые» (`recommended`), кнопка **«Связать»** в строке. - Поиск: по умолчанию `scope=group` (периметр и ГК); переключатель «Весь справочник» → `scope=all` (запрос от 3 символов, иначе подсказка, без запроса). - «Связать» → `POST …/osv/entries/{entry_ids.at(-1)}/counterparty`; после успеха — сообщение (связано, автоприменено ещё к N строкам, алиас создан/перенесён) и перечитать страницу и `…/osv/summary`. - `409 ALIAS_TAKEN` → подтверждение «Имя уже закреплено за <владельцы>. Перенести?» → повтор с `move_alias = true`. - `409 LOCK_REQUIRED` → подтверждение «Взять версию в работу?» → `POST …/lock` → повтор. `LOCKED_BY_OTHER` → «Версию держит <имя>», без перехвата. `VERSION_NOT_EDITABLE` → сообщение. - Спека `consolidated-osv-ui` — сценарий сопоставления. ## Вне объёма - Пересопоставление уже связанных строк (в макете нет). - Модалка ухода с вкладки [31-00] (других вкладок отчёта пока нет). - Кнопка «Взять в работу» / перехват блокировки на карточке версии [35].
aep closed this issue 2026-10-08 17:08:53 +03:00
Author
Owner

Сделано в PR #15 (коммит 1249e2f, merge 3bd8a22 в test). Отложенное D-1…D-5 — в follow-up issue.

Сделано в PR #15 (коммит 1249e2f, merge 3bd8a22 в test). Отложенное D-1…D-5 — в follow-up issue.
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: RSHB/arm-web#14
No description provided.