Фронт к RSHB/arm-core#80. Строки и ячейки с id = null (достроены сервером) редактируются; правка уходит в PATCH по line_code, строки из БД — по line_id. Ключ достроенной строки code-<код> (R-10). Строки 1600/1700 формы BALANCE выделены фоном #f9f0ff и жирным (R-7). OpenSpec change statement-template-lines. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
3.2 KiB
MODIFIED Requirements
Requirement: Форма ББ/ОФР — просмотр и правка
Экран SHALL показывать GET /documents/{id}/statement: шапку (ИНН, дата отчёта, единицы — значение и исходное при
правке; наименование, ОКУД/ОКПО) и таблицу «строка (код, наименование) × колонки» с суммами из values[], включая
строки и ячейки, достроенные сервером по справочнику редакции (id = null). Ячейки с confidence < 100 или
is_recognized = false SHALL подсвечиваться как «требует внимания», с is_modified = true — как «исправлено» с
исходным значением original_amount в подсказке; пустая достроенная ячейка не подсвечивается. Строки «БАЛАНС» формы
BALANCE (коды 1600 и 1700) SHALL выделяться фоном #f9f0ff и жирным шрифтом; подсветка ячейки перекрывает фон строки.
Единицы (header.units) SHALL выводиться над таблицей. Пока документ не CONFIRMED, ячейка SHALL быть редактируемой:
ввод проверяется по формату суммы (до 2 знаков после точки, знак минус допустим, пустое — null), сохранение
отправляет PATCH /documents/{id}/statement {values: [...]} суммой-строкой: ячейка строки из БД — {line_id, column_id, amount}, ячейка достроенной строки (id = null) — {line_code, column_id, amount}; ответ заменяет
состояние экрана. Правка шапки (ИНН, дата отчёта, единицы) SHALL отправляться тем же PATCH в header;
inn: null не отправляется.
Scenario: Исправление ячейки
- WHEN аналитик меняет значение ячейки и сохраняет
- THEN ячейка помечена «исправлено», проверки пересчитаны по ответу сервера, акцепт снят
Scenario: Заполнение строки, которой не было в распознавании
- WHEN у формы нет строки 1700 из источника, аналитик вводит сумму в достроенную строку 1700 и сохраняет
- THEN уходит
{line_code: "1700", column_id, amount}, по ответу строка получилаid, ячейка помечена «исправлено»
Scenario: Строки «БАЛАНС»
- WHEN открыта форма
BALANCE - THEN строки 1600 и 1700 выделены цветом и жирным, у ОФР выделения нет
Scenario: Неверный формат суммы
- WHEN аналитик вводит «12,3,4»
- THEN запрос не отправляется, поле показывает ошибку формата