diff --git a/openspec/changes/statement-template-lines/.openspec.yaml b/openspec/changes/archive/2026-10-09-statement-template-lines/.openspec.yaml similarity index 100% rename from openspec/changes/statement-template-lines/.openspec.yaml rename to openspec/changes/archive/2026-10-09-statement-template-lines/.openspec.yaml diff --git a/openspec/changes/statement-template-lines/design.md b/openspec/changes/archive/2026-10-09-statement-template-lines/design.md similarity index 100% rename from openspec/changes/statement-template-lines/design.md rename to openspec/changes/archive/2026-10-09-statement-template-lines/design.md diff --git a/openspec/changes/statement-template-lines/proposal.md b/openspec/changes/archive/2026-10-09-statement-template-lines/proposal.md similarity index 100% rename from openspec/changes/statement-template-lines/proposal.md rename to openspec/changes/archive/2026-10-09-statement-template-lines/proposal.md diff --git a/openspec/changes/statement-template-lines/specs/document-review-ui/spec.md b/openspec/changes/archive/2026-10-09-statement-template-lines/specs/document-review-ui/spec.md similarity index 100% rename from openspec/changes/statement-template-lines/specs/document-review-ui/spec.md rename to openspec/changes/archive/2026-10-09-statement-template-lines/specs/document-review-ui/spec.md diff --git a/openspec/specs/document-review-ui/spec.md b/openspec/specs/document-review-ui/spec.md index 5eeae4c..4191a47 100644 --- a/openspec/specs/document-review-ui/spec.md +++ b/openspec/specs/document-review-ui/spec.md @@ -25,18 +25,30 @@ ### Requirement: Форма ББ/ОФР — просмотр и правка Экран SHALL показывать `GET /documents/{id}/statement`: шапку (ИНН, дата отчёта, единицы — значение и исходное при -правке; наименование, ОКУД/ОКПО) и таблицу «строка (код, наименование) × колонки» с суммами из `values[]`. Ячейки с -`confidence < 100` или `is_recognized = false` SHALL подсвечиваться как «требует внимания», с `is_modified = true` — как -«исправлено» с исходным значением `original_amount` в подсказке. Единицы (`header.units`) SHALL выводиться над таблицей. -Пока документ не `CONFIRMED`, ячейка SHALL быть редактируемой: ввод проверяется по формату суммы (до 2 знаков после -точки, знак минус допустим, пустое — `null`), сохранение отправляет `PATCH /documents/{id}/statement {values: -[{line_id, column_id, amount}]}` суммой-строкой, ответ заменяет состояние экрана. Правка шапки (ИНН, дата отчёта, -единицы) SHALL отправляться тем же `PATCH` в `header`; `inn: null` не отправляется. +правке; наименование, ОКУД/ОКПО) и таблицу «строка (код, наименование) × колонки» с суммами из `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** запрос не отправляется, поле показывает ошибку формата