Архив change statement-checks-alternatives (AURORA-1864) #210

Merged
aep merged 1 commits from chore/archive-statement-checks-alternatives into main 2026-11-06 22:00:45 +03:00
5 changed files with 34 additions and 5 deletions

View File

@ -612,8 +612,15 @@ actual}`, где `codes` — коды цели и членов соотноше
- члены `abs_terms` (2120, 2210, 2220, 2330, 2350, 2410) сравниваются и как записаны, и по модулю; такое соотношение - члены `abs_terms` (2120, 2210, 2220, 2330, 2350, 2410) сравниваются и как записаны, и по модулю; такое соотношение
подтверждает величину, но не знак (шаг 8); подтверждает величину, но не знак (шаг 8);
- набор соотношений — по `form_variant` (полный или упрощённый); `form_variant = null` — полный. В упрощённом наборе - набор соотношений — по `form_variant` (полный или упрощённый); `form_variant = null` — полный. В упрощённом наборе
соотношения ББ жёсткие, а `2400 = 2110 − 2120 − 2330 + 2340 − 2350 − 2410` ОФР — мягкое, как `2400` полного набора соотношения ББ жёсткие, а `2400 = 2110 − 2120 − 2330 + 2340 − 2350 − 2410` и `2400 = 2110 − 2120 − 2330 + 2340 −
(знак 2410, OQ-12); 2350 + 2410` ОФР — мягкие, как `2400` полного набора;
- **группа альтернатив** (`group` в словаре, только у мягких соотношений одной формы и варианта): в колонке сошлась
хоть одна альтернатива — ни одна не попадает в `soft_relations_failed`; не сошлась ни одна — в
`soft_relations_failed` одно нарушение, ближайшая к цели альтернатива (меньшее расхождение; при пустой цели или пустых
членах — первая по словарю). `group` у жёсткого соотношения и разные цели в одной группе — ошибка загрузки словаря. Соотношения 2400 каждого
набора — одна группа: полный — `2400 = 2300 − 2410 + 2420` и `2400 = 2300 + 2410 + 2460`, упрощённый — два варианта
выше. Знак 2410 (расход или доход по налогу, ФСБУ 4/2023) не определяется — принимается любая альтернатива (OQ-12).
Группа не меняет жёстких проверок, подсветки, `needs_check` и подтверждения значений (шаг 8, Р-21);
- родитель пятизначной подстроки — ближайшая четырёхзначная строка выше с теми же первыми тремя цифрами, иначе код из - родитель пятизначной подстроки — ближайшая четырёхзначная строка выше с теми же первыми тремя цифрами, иначе код из
первых четырёх цифр; «сумма подстрок = родитель» (мягкое) — только если хотя бы одна подстрока в колонке непуста. первых четырёх цифр; «сумма подстрок = родитель» (мягкое) — только если хотя бы одна подстрока в колонке непуста.
@ -634,9 +641,31 @@ actual}`, где `codes` — коды цели и членов соотноше
- **THEN** в соотношениях код 2410 равен 749 - **THEN** в соотношениях код 2410 равен 749
#### Scenario: Упрощённый ОФР с доходом по налогу #### Scenario: Упрощённый ОФР с доходом по налогу
- **WHEN** у упрощённого ОФР 2410 записан со знаком дохода, и `2400 = 2110 − 2120 − 2330 + 2340 − 2350 − 2410` по модулю - **WHEN** у упрощённого ОФР 2410 записан со знаком дохода, 2400 с ним сходится только по `2400 = 2110 − 2120 − 2330 +
не сходится 2340 − 2350 + 2410`
- **THEN** нарушение в `soft_relations_failed`, документ из-за него не `needs_check` - **THEN** нарушений по 2400 в `soft_relations_failed` нет
#### Scenario: Доход по налогу в полной форме (AURORA-1864)
- **WHEN** в колонке ОФР 2300 = 100, 2410 = 20 (без минуса и скобок), 2400 = 120
- **THEN** `2400 = 2300 − 2410 + 2420` не сошлось, но сошлось `2400 = 2300 + 2410 + 2460` из той же группы — нарушений
по 2400 в `soft_relations_failed` нет
#### Scenario: Расход по налогу в полной форме
- **WHEN** 2300 = 100, 2410 = −20 или (20) или 20, 2400 = 80
- **THEN** сходится `2400 = 2300 − 2410 + 2420` — нарушений по 2400 в `soft_relations_failed` нет
#### Scenario: Неверная чистая прибыль — одно нарушение
- **WHEN** 2300 = 100, 2410 = 20, 2400 = 150 — не сходится ни одна альтернатива группы
- **THEN** в `soft_relations_failed` одно нарушение по 2400 — `2400 = 2300 + 2410 + 2460` (`actual` 120 ближе к 150,
чем 80); документ из-за него не `needs_check`
#### Scenario: Группа считается по колонке
- **WHEN** в первой колонке 2400 сходится с одной из альтернатив, во второй — ни с одной
- **THEN** нарушение по 2400 одно и только у второй колонки
#### Scenario: Группа у жёсткого соотношения
- **WHEN** в `statement_checks.yaml` у соотношения со `strict: true` указан `group`
- **THEN** словарь не загружается (ошибка загрузки `statement_checks.yaml`)
#### Scenario: Округление итогов #### Scenario: Округление итогов
- **WHEN** `1600 = 1700` расходится на 9,02 при итогах ~17 млрд - **WHEN** `1600 = 1700` расходится на 9,02 при итогах ~17 млрд