diff --git a/openspec/changes/statement-template-lines/design.md b/openspec/changes/statement-template-lines/design.md index 1852287..1fa5976 100644 --- a/openspec/changes/statement-template-lines/design.md +++ b/openspec/changes/statement-template-lines/design.md @@ -116,7 +116,12 @@ pydantic: коды — четыре цифры, без повторов внут `statementGrid`: ключ строки — `line.id ?? "code:" + line_code`, ключ ячейки — `rowKey:column_id`; `draftToPatch` отправляет `line_id` или `line_code` по ключу. Достроенная пустая ячейка (`id = null`) без подсветки «требует проверки» (`is_recognized = null`), введённое значение подсвечивается как правка. `formLayout` уже раскладывает строки по разделам — -меняется только то, что разделы теперь всегда полные. Сверка с макетом [41] (PNG `docs/mockup/screens/`) в Playwright и +меняется только то, что разделы теперь всегда полные. **Строки «БАЛАНС» (1600 по активу, 1700 по пассиву) выделяются +цветом** (просьба владельца 09.10.2026: сейчас итог баланса сливается с обычными строками и «Итого по разделу»): фон +всей строки — светло-синий (`#e6f4ff`, токен antd `colorPrimaryBg`; отличается от серого фона заголовков разделов), +шрифт 700 у наименования, кода и сумм. Подсветка ячейки «требует проверки» / «правлено» перекрывает фон строки — +сигнал о данных важнее оформления. Признак — `formLayout` (`LayoutRow.grand: true` для 1600/1700 у `BALANCE`), цвет — +`StatementTable`. Сверка с макетом [41] (PNG `docs/mockup/screens/`) в Playwright и ручной прогон сценария: пустая строка → ввод → «Сохранить» → проверки пересчитаны. ## Risks / Trade-offs @@ -139,3 +144,4 @@ pydantic: коды — четыре цифры, без повторов внут | R-4 | 09.10.2026 | Без редакции (нет даты периода) строки не достраиваются, недостающие ячейки — достраиваются | Не из чего выбрать состав; дата периода нужна и для подтверждения (`PERIOD_REQUIRED`) — после её правки строки появятся | Аналитик не видит пустых строк, пока не введёт дату отчёта | | R-5 | 09.10.2026 | `line_code` для кода, уже существующего в форме, — 422 `UNKNOWN_CELL`, а не тихая правка существующей строки | Один способ адресации существующей ячейки (`line_id`), второй запрос в гонке не перезапишет чужую правку молча | Лишний круг фронта: перечитать форму и повторить | | R-6 | 09.10.2026 | Ячейка, которой нет у существующей строки, создаётся при правке по `line_id` | Та же проблема, что с отсутствующей строкой; отдельного API не требует | — | +| R-7 | 09.10.2026 | Цвет строк «БАЛАНС» — светло-синий `#e6f4ff` + жирный 700; подсветка ячейки перекрывает фон строки; ОФР не выделяется | Владелец просил выделить баланс по активу и пассиву, цвет не задал; в макете [41] строки «БАЛАНС» не видно; синий не спорит с серым фоном разделов и жёлтым «требует проверки» | Цвет не понравится — правка одной константы | diff --git a/openspec/changes/statement-template-lines/proposal.md b/openspec/changes/statement-template-lines/proposal.md index dcaaa72..9ba7ce7 100644 --- a/openspec/changes/statement-template-lines/proposal.md +++ b/openspec/changes/statement-template-lines/proposal.md @@ -64,4 +64,4 @@ DBML и контракты обмена не меняются, миграций - Спеки (дельты): `documents-api` («Форма ББ/ОФР для экрана проверки», «Правка формы»), `statement-checks` («Соотношения §7 по колонкам»). - Фронт arm-web: ключ шаблонной строки, отправка `line_code`, отсутствие подсветки «требует проверки» у пустых - достроенных ячеек. + достроенных ячеек; выделение цветом строк «БАЛАНС» (1600 актив, 1700 пассив) — просьба владельца 09.10.2026.