Andrey Epifancev 5f2b0e890f Гудвилл: UI-спека goodwill-ui, правки по проверке на стенде
OpenSpec change goodwill-ui (таблица, редактирование, переключатель/фильтр/экспорт;
вкладка «Гудвилл» в intercompany-matrix-ui больше не заглушка; R-1…R-3). По стенду:
стрелка раскрытия блока — у названия, «Выделить все» в одну строку, текст пустой таблицы.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-06 18:44:02 +04:00

6.5 KiB
Raw Blame History

ADDED Requirements

Requirement: Таблица гудвилла

Вкладка goodwill страницы отчёта версии SHALL загружать таблицу одним запросом GET /consolidations/versions/{id}/goodwill (контракт ../docs/dev/api-contract-goodwill.md) и показывать блоки по ГО в порядке ответа: строка ГО, строки ДО, строка «Всего» блока из groups[].totals, внизу «Итого по листу» из totals. Колонки — по макету [31-03]: «Учет в отчете», «Наименование дочерней организации», «Доля владения», «Фондовые вложения головной организации», «Доля участия головной организации в уставном капитале», «Уставный капитал», «Гудвилл (+/-)», «Комментарий». Сумма null SHALL показываться прочерком, ноль — нулём в выбранных единицах; итоги фронт MUST NOT считать сам.

Scenario: Нулевой и нерассчитанный гудвилл

  • WHEN у одной строки goodwill_amount = "0.00", у другой null
  • THEN первая показывает «0,00», вторая — «—»

Scenario: Строка «Нет вложений»

  • WHEN у строки has_investments = false
  • THEN строка серая, с меткой «Нет вложений», чекбокс недоступен, суммы — прочерки, сохранённые доля и комментарий видны

Scenario: Предупреждения

  • WHEN у строки есть warnings (например, CAPITAL_SOURCE_MISSING)
  • THEN рядом с названием ДО иконка предупреждения, по наведению — тексты message

Requirement: Редактирование таблицы гудвилла

Кнопка «Редактировать» SHALL быть доступна при editable = true; иначе — недоступна с подсказкой причины (read_only_reason). В режиме редактирования (баннер «Доступны для редактирования столбцы «Доля владения» и «Комментарий».») у действующих строк доступна галочка; у отмеченной действующей строки — поля доли и комментария, P и G строки SHALL пересчитываться предварительно по введённой доле. Доля — 0–100, не больше двух знаков, запятая или точка; ошибочная доля MUST NOT обрезаться или подменяться, а показывается ошибкой у поля. «Сохранить» SHALL быть недоступно, пока у отмеченной действующей строки нет корректной доли или комментария. Групповой чекбокс блока SHALL отмечать и снимать все действующие строки блока, включая скрытые фильтром, и показывать промежуточное состояние при частичном выборе. «Отменить изменения» SHALL возвращать последнее сохранённое состояние.

Scenario: Сохранение набора

  • WHEN аналитик отметил две строки, ввёл доли «80,5» и «100» и комментарии и нажал «Сохранить»
  • THEN уходит один PUT …/goodwill только с изменёнными строками; ответ заменяет таблицу, режим редактирования закрывается

Scenario: Снятие галочки у строки без доли

  • WHEN аналитик снимает галочку у строки, где доля не вводилась, и сохраняет
  • THEN строка уходит с ownership_share: null и сохраняется без ошибки

Scenario: Ошибка строки от сервера

  • WHEN сервер отвечает 422 COMMENT_REQUIRED с ключом пары
  • THEN поле комментария этой строки подсвечено ошибкой, режим редактирования не закрыт, введённое не потеряно

Scenario: Лишние знаки доли

  • WHEN аналитик вводит долю «80,123»
  • THEN у поля ошибка «Число от 0 до 100, не больше двух знаков после запятой», значение в поле не меняется, «Сохранить» недоступно

Requirement: Переключатель, фильтр и экспорт гудвилла

Панель вкладки SHALL содержать переключатель «Учитывать гудвилл в КФО» (PUT …/goodwill-settings, доступен при editable вне режима редактирования) с подписью суммы goodwill_in_kfo_amount или «Гудвилл не учитывается в КФО»; фильтр «Гудвилл»: «Все значения», «Положительные», «Отрицательные», «Нулевые» (нерассчитанный гудвилл — только во «Все значения»); единицы и знаки после запятой; «Настройка таблицы»; «Экспорт» — GET …/goodwill/export с текущим фильтром (sign); «На весь экран».

Scenario: Экспорт с фильтром

  • WHEN выбран фильтр «Положительные» и нажат «Экспорт»
  • THEN запрос уходит с sign=positive

Scenario: Выключение гудвилла

  • WHEN аналитик выключает переключатель
  • THEN таблица перечитывается из ответа, под переключателем подпись «Гудвилл не учитывается в КФО», ручной ввод строк не меняется