From e47f1ab69c7a93fed39f2bc32f290a52ec3dd28e Mon Sep 17 00:00:00 2001 From: Andrey Epifancev Date: Sun, 18 Oct 2026 12:04:48 +0400 Subject: [PATCH] =?UTF-8?q?=C2=A71.4:=20=D1=82=D0=BE=D1=87=D0=BD=D0=BE?= =?UTF-8?q?=D0=B5=20=C2=AB=D0=98=D1=82=D0=BE=D0=B3=D0=BE=C2=BB=20=D0=B8?= =?UTF-8?q?=D1=89=D0=B5=D1=82=D1=81=D1=8F=20=D1=80=D0=B0=D0=BD=D1=8C=D1=88?= =?UTF-8?q?=D0=B5=20=C2=AB=D0=98=D1=82=D0=BE=D0=B3=D0=BE=20=E2=80=A6=C2=BB?= =?UTF-8?q?,=20=D1=85=D0=B2=D0=BE=D1=81=D1=82=20=E2=80=94=20=D1=87=D0=B8?= =?UTF-8?q?=D1=81=D0=BB=D0=B0=20=D0=B2=20=D0=BA=D0=BE=D0=BB=D0=BE=D0=BD?= =?UTF-8?q?=D0=BA=D0=B0=D1=85=20=D1=82=D0=B0=D0=B1=D0=BB=D0=B8=D1=86=D1=8B?= =?UTF-8?q?=20(tabular-parser=20#47,=20AURORA-1664)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Sonnet 5.5 --- context/05-domain-rules.md | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/context/05-domain-rules.md b/context/05-domain-rules.md index 1a5e1ec..5dc4098 100644 --- a/context/05-domain-rules.md +++ b/context/05-domain-rules.md @@ -233,8 +233,12 @@ r11 Договоры ← в сверку не входит; строка сумм без подписи в конце таблицы принимается за «Итого» с предупреждением. **Таблица кончается на первой «Итого»** (на корневом уровне оформления; плюс «Итого развернутое» сразу за ней): всё ниже (подпись «Ответственный:», блоки, дописанные аналитиком, в том числе строки, начинающиеся с «Итого») — вне - документа, в `rows` не попадает; числа в хвосте — предупреждение «ниже таблицы … есть числа» без смены статуса (статус - решают контрольные суммы). **Реализовано**, tabular-parser #47, AURORA-1664 (закрывает tabular-parser #7, M-2). + документа, в `rows` не попадает. Сначала ищется первая строка корневого уровня с текстом ровно «Итого» + (`total_row_exact`), и только если такой нет — первая, начинающаяся с «Итого» (`total_row`): так контрагент + «Итого-Сервис» на плоском листе без outline и отступов не обрезает таблицу. Остаточный риск — только когда точного + «Итого» нет вовсе (ловит проверка «TOTAL = корень»). Числа в хвосте **в колонках таблицы** (от колонки текста до + правого края сумм) — предупреждение «ниже таблицы … есть числа» без смены статуса (статус решают контрольные суммы); + числа правее таблицы (контрольные суммы) хвостом не считаются. **Реализовано**, tabular-parser #47, AURORA-1664 (закрывает tabular-parser #7, M-2). Если корня нет (**пустая ОСВ**: заголовок и сразу «Итого» — в фикстурах две, schastl 58 и 66 за 2 кв. 2025) — «Итого» должна быть пустой или нулевой; такая ОСВ штатна: `done`, `hierarchy=trivial`, `metrics.rows = 0`, предупреждение «нет строк данных». Если строка «Итого» не