Шаблонные строки ББ/ОФР и выделение «БАЛАНС» (#19) #20

Merged
aep merged 1 commits from feat/19-statement-template-lines into test 2026-10-09 11:53:50 +03:00
Owner

Closes #19

Фронт к RSHB/arm-core#80. Зависит от arm-core PR #81 (бэкенд, Tasks 1-5): без него сервер не отдаёт достроенные строки.

Что сделано, простым языком

  • Сервер теперь присылает полную форму: строки и ячейки, которых распознавание не нашло, приходят с id = null (в базе их ещё нет). Фронт показывает их как обычные и даёт ввести сумму.
  • Почему ключ строки по коду (code-1700): у достроенной строки нет id, а React-таблице нужен уникальный ключ. Взяли код строки. Двоеточие в ключе нельзя - оно разделяет ключ строки и колонки в ключе ячейки, поэтому дефис.
  • Почему тело PATCH собирается по списку строк: по ключу из черновика нужно понять, что слать - line_id (строка есть в базе) или line_code (сервер создаст строку сам). Если строки нет в форме - ошибка, а не тихий пропуск.
  • Пустая достроенная ячейка не подсвечивается как требующая внимания (у неё нет уверенности распознавания); после ввода она становится обычной правкой.
  • Строки БАЛАНС (1600 и 1700 у ББ) выделены светло-фиолетовым фоном #f9f0ff и жирным шрифтом. Фиолетовый выбран, потому что серый занят разделами, синий - правками, оранжевый - вниманием. Подсветка ячейки перекрывает фон строки: сигнал о данных важнее оформления. У ОФР выделения нет. Цвет меняется одной константой GRAND_BG.
  • OpenSpec change statement-template-lines (proposal, design с D-6/R-7/R-10, дельта document-review-ui).

Проверка

make check: biome (0 ошибок, 7 прежних предупреждений), tsc --noEmit чисто, vitest 124 passed (20 файлов), rsbuild build ok. Новые тесты сначала падали (5 failed), затем зелёные. openspec validate --strict valid.
Скриншоты и сверка с макетом - после Task 8.

🤖 Generated with Claude Code

Closes #19 Фронт к RSHB/arm-core#80. Зависит от arm-core PR #81 (бэкенд, Tasks 1-5): без него сервер не отдаёт достроенные строки. ## Что сделано, простым языком - Сервер теперь присылает полную форму: строки и ячейки, которых распознавание не нашло, приходят с id = null (в базе их ещё нет). Фронт показывает их как обычные и даёт ввести сумму. - Почему ключ строки по коду (code-1700): у достроенной строки нет id, а React-таблице нужен уникальный ключ. Взяли код строки. Двоеточие в ключе нельзя - оно разделяет ключ строки и колонки в ключе ячейки, поэтому дефис. - Почему тело PATCH собирается по списку строк: по ключу из черновика нужно понять, что слать - line_id (строка есть в базе) или line_code (сервер создаст строку сам). Если строки нет в форме - ошибка, а не тихий пропуск. - Пустая достроенная ячейка не подсвечивается как требующая внимания (у неё нет уверенности распознавания); после ввода она становится обычной правкой. - Строки БАЛАНС (1600 и 1700 у ББ) выделены светло-фиолетовым фоном #f9f0ff и жирным шрифтом. Фиолетовый выбран, потому что серый занят разделами, синий - правками, оранжевый - вниманием. Подсветка ячейки перекрывает фон строки: сигнал о данных важнее оформления. У ОФР выделения нет. Цвет меняется одной константой GRAND_BG. - OpenSpec change statement-template-lines (proposal, design с D-6/R-7/R-10, дельта document-review-ui). ## Проверка make check: biome (0 ошибок, 7 прежних предупреждений), tsc --noEmit чисто, vitest 124 passed (20 файлов), rsbuild build ok. Новые тесты сначала падали (5 failed), затем зелёные. openspec validate --strict valid. Скриншоты и сверка с макетом - после Task 8. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
aep added 1 commit 2026-10-09 11:18:59 +03:00
Фронт к 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>
Author
Owner

Task 8: проверка на стенде и сверка с макетом (RSHB/arm-core#80)

Стенд: ядро из ветки arm-core feat/80-statement-template-lines (PR RSHB/arm-core#81), фронт из этой ветки (make start), БД демо-стенда (не пересоздавалась). Окно 1600×1000.

ББ АО «Русский бисквит», 1 кв. 2025 (fsbu4)

  • Показаны все строки формы. Строки 1500 и 1700 распознавание не нашло (случай OQ-156). Теперь они видны пустыми, без подсветки «требует внимания».
  • Строки БАЛАНС 1600 и 1700 — светло-фиолетовый фон, жирный шрифт.
  • «Редактировать» → в пустую 1700 введено 2 371 333 → «Сохранить»: ответ 200, ячейка отмечена как правка, проверки пересчитаны (нарушение «1600 = 1700» по колонке 1 ушло).
  • Очистка той же ячейки → «Сохранить»: строка снова пустая, проверки вернулись к исходным четырём (пустая созданная строка в проверки не входит).

ОФР того же ЮЛ: все 24 строки из источника, достраивать нечего, нарушений нет.

Сверка с макетом (41-document-check.png, 41-02-document-check-edit.png): по объёму #80 расхождений нет. Прежние отличия — нет блока шапки формы, колонки «Пояснения», селектора «Документ», кнопки «Добавить комментарий», подстрок «в том числе» — к этой задаче не относятся и ведутся в RSHB/arm-web#6.

Наблюдения

  • O-4 (deferred, вопрос владельцу): если ввести сумму в шаблонную 1700 только в колонке 1, по колонкам 2 и 3 появляется нарушение «1700 = 1300 + 1400 + 1500 — ожидалось 0,00». Строка теперь есть, а пустая ячейка по прежнему правилу считается нулём. Сигнал верный (1700 там правда не заполнена), но шумный.
  • O-5 (deferred): «Подтвердить данные» на стенде не нажималось. Подтверждение необратимо, а это данные демо-стенда. Путь покрыт тестами ядра (test_form_confirmable, test_auto_confirm).
  • O-6 (deferred): редакция 66н (ББ 2024 Q3, aep_6) на стенде не проверялась: в БД стенда только формы 1 кв. 2025. Покрыта тестами.
  • O-7 (deferred): скриншоты не приложены файлами (tea не загружает вложения). Они лежат локально: awp-ca/.playwright-mcp/80-rb-bb-2025q1.png, 80-rb-bb-2025q1-bottom.png, 80-rb-bb-2025q1-1700-saved.png, 80-rb-bb-2025q1-edit.png.

🤖 Generated with Claude Code

## Task 8: проверка на стенде и сверка с макетом (RSHB/arm-core#80) Стенд: ядро из ветки arm-core `feat/80-statement-template-lines` (PR RSHB/arm-core#81), фронт из этой ветки (`make start`), БД демо-стенда (не пересоздавалась). Окно 1600×1000. **ББ АО «Русский бисквит», 1 кв. 2025 (fsbu4)** - Показаны все строки формы. Строки 1500 и 1700 распознавание не нашло (случай OQ-156). Теперь они видны пустыми, без подсветки «требует внимания». - Строки БАЛАНС 1600 и 1700 — светло-фиолетовый фон, жирный шрифт. - «Редактировать» → в пустую 1700 введено 2 371 333 → «Сохранить»: ответ 200, ячейка отмечена как правка, проверки пересчитаны (нарушение «1600 = 1700» по колонке 1 ушло). - Очистка той же ячейки → «Сохранить»: строка снова пустая, проверки вернулись к исходным четырём (пустая созданная строка в проверки не входит). **ОФР того же ЮЛ**: все 24 строки из источника, достраивать нечего, нарушений нет. **Сверка с макетом** (`41-document-check.png`, `41-02-document-check-edit.png`): по объёму #80 расхождений нет. Прежние отличия — нет блока шапки формы, колонки «Пояснения», селектора «Документ», кнопки «Добавить комментарий», подстрок «в том числе» — к этой задаче не относятся и ведутся в RSHB/arm-web#6. **Наблюдения** - O-4 (deferred, вопрос владельцу): если ввести сумму в шаблонную 1700 только в колонке 1, по колонкам 2 и 3 появляется нарушение «1700 = 1300 + 1400 + 1500 — ожидалось 0,00». Строка теперь есть, а пустая ячейка по прежнему правилу считается нулём. Сигнал верный (1700 там правда не заполнена), но шумный. - O-5 (deferred): «Подтвердить данные» на стенде не нажималось. Подтверждение необратимо, а это данные демо-стенда. Путь покрыт тестами ядра (`test_form_confirmable`, `test_auto_confirm`). - O-6 (deferred): редакция 66н (ББ 2024 Q3, aep_6) на стенде не проверялась: в БД стенда только формы 1 кв. 2025. Покрыта тестами. - O-7 (deferred): скриншоты не приложены файлами (tea не загружает вложения). Они лежат локально: `awp-ca/.playwright-mcp/80-rb-bb-2025q1.png`, `80-rb-bb-2025q1-bottom.png`, `80-rb-bb-2025q1-1700-saved.png`, `80-rb-bb-2025q1-edit.png`. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
aep merged commit 77a7987f36 into test 2026-10-09 11:53:50 +03:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

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