openspec: архив goodwill-ui-errors (AURORA-2006)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Andrey Epifancev 2026-11-12 11:20:29 +04:00
parent 8a87cb8ee2
commit 564a53a776
4 changed files with 34 additions and 3 deletions

View File

@ -11,7 +11,11 @@
«Всего» блока из `groups[].totals`, внизу «Итого по листу» из `totals`. Колонки — по макету `[31-03]`: «Учет в отчете»,
«Наименование дочерней организации», «Доля владения», «Фондовые вложения головной организации», «Доля участия головной
организации в уставном капитале», «Уставный капитал», «Гудвилл (+/-)», «Комментарий». Сумма `null` SHALL показываться
прочерком, ноль — нулём в выбранных единицах; итоги фронт MUST NOT считать сам.
прочерком, ноль — нулём в выбранных единицах; итоги фронт MUST NOT считать сам. Стрелка раскрытия блока SHALL стоять в
колонке «Наименование дочерней организации» при любом наборе видимых колонок; если эта колонка скрыта — в первой видимой.
Если загрузка не удалась, вместо таблицы SHALL показываться текст ошибки (сообщение сервера или «Не удалось загрузить
таблицу гудвилла») и кнопка «Повторить»; сообщение «Вложений по 58.01 между компаниями периметра нет» MUST NOT
показываться при ошибке.
#### Scenario: Нулевой и нерассчитанный гудвилл
- **WHEN** у одной строки `goodwill_amount = "0.00"`, у другой `null`
@ -25,6 +29,14 @@
- **WHEN** у строки есть `warnings` (например, `CAPITAL_SOURCE_MISSING`)
- **THEN** рядом с названием ДО иконка предупреждения, по наведению — тексты `message`
#### Scenario: Стрелка блока при скрытой колонке
- **WHEN** в «Настройке таблицы» снята колонка «Учет в отчете»
- **THEN** стрелка раскрытия блока остаётся в колонке «Наименование дочерней организации»
#### Scenario: Ошибка загрузки
- **WHEN** `GET …/goodwill` отвечает ошибкой
- **THEN** вместо таблицы — текст ошибки и «Повторить»; «Повторить» запрашивает таблицу заново и при успехе показывает её
### Requirement: Редактирование таблицы гудвилла
Кнопка «Редактировать» SHALL быть доступна при `editable = true`; иначе — недоступна с подсказкой причины
(`read_only_reason`). В режиме редактирования (баннер «Доступны для редактирования столбцы «Доля владения» и
@ -33,7 +45,10 @@
ошибочная доля MUST NOT обрезаться или подменяться, а показывается ошибкой у поля. «Сохранить» SHALL быть недоступно,
пока у отмеченной действующей строки нет корректной доли или комментария. Групповой чекбокс блока SHALL отмечать и снимать
все действующие строки блока, включая скрытые фильтром, и показывать промежуточное состояние при частичном выборе.
«Отменить изменения» SHALL возвращать последнее сохранённое состояние.
«Отменить изменения» SHALL возвращать последнее сохранённое состояние. На ответ 409 (версия закрыта, блокировку забрали)
или 404 (пары уже нет) при «Сохранить» экран SHALL показать уведомление с текстом сервера и перечитать таблицу, строку
MUST NOT подсвечивать; если после перечитывания `editable = false`, режим редактирования SHALL закрыться, введённое —
сброситься.
#### Scenario: Сохранение набора
- **WHEN** аналитик отметил две строки, ввёл доли «80,5» и «100» и комментарии и нажал «Сохранить»
@ -51,12 +66,24 @@
- **WHEN** аналитик вводит долю «80,123»
- **THEN** у поля ошибка «Число от 0 до 100, не больше двух знаков после запятой», значение в поле не меняется, «Сохранить» недоступно
#### Scenario: Версию забрал другой пользователь
- **WHEN** аналитик в режиме редактирования нажимает «Сохранить», сервер отвечает 409 `LOCKED_BY_OTHER`, перечитанная
таблица приходит с `editable = false`
- **THEN** уведомление с текстом сервера, режим редактирования закрыт, показаны сохранённые значения, «Редактировать»
недоступна с подсказкой «Консолидацию редактирует другой пользователь»
#### Scenario: Пары больше нет
- **WHEN** сервер отвечает на «Сохранить» 404 по паре, которой больше нет в версии
- **THEN** уведомление с текстом сервера, таблица перечитана, ни одна строка не подсвечена; правки этой пары в запрос
больше не попадают
### Requirement: Переключатель, фильтр и экспорт гудвилла
Панель вкладки SHALL содержать переключатель «Учитывать гудвилл в КФО» (`PUT …/goodwill-settings`, доступен при
`editable` вне режима редактирования) с подписью суммы `goodwill_in_kfo_amount` или «Гудвилл не учитывается в КФО»;
фильтр «Гудвилл»: «Все значения», «Положительные», «Отрицательные», «Нулевые» (нерассчитанный гудвилл — только во «Все
значения»); единицы и знаки после запятой; «Настройка таблицы»; «Экспорт» — `GET …/goodwill/export` с текущим фильтром
(`sign`); «На весь экран».
(`sign`); «На весь экран». На ответ 409 или 404 при переключении экран SHALL показать уведомление с текстом сервера и
перечитать таблицу.
#### Scenario: Экспорт с фильтром
- **WHEN** выбран фильтр «Положительные» и нажат «Экспорт»
@ -65,3 +92,7 @@
#### Scenario: Выключение гудвилла
- **WHEN** аналитик выключает переключатель
- **THEN** таблица перечитывается из ответа, под переключателем подпись «Гудвилл не учитывается в КФО», ручной ввод строк не меняется
#### Scenario: Переключатель после закрытия версии
- **WHEN** аналитик переключает «Учитывать гудвилл в КФО», а сервер отвечает 409 `VERSION_NOT_EDITABLE`
- **THEN** уведомление с текстом сервера, таблица перечитана, переключатель недоступен