arm-tabular-parser/api/rules/osv_groups.yaml
Andrey Epifancev e01f218138 fix(osv): строки «Период» сверяются цепочкой сальдо, а не суммой (AURORA-1823, #78)
period_groups в osv_groups.yaml, признак is_period у ClassifiedRow; родитель, все дети которого
периоды: обороты = Σ, начало = начало первого, конец = конец последнего. НКЗ лист 58 убран
из манифеста ожидаемых needs_check.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-28 00:44:24 +04:00

35 lines
3.4 KiB
YAML
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Названия группировок ОСВ -> тип группировки `group_type` (05-domain-rules.md §1.1).
# Паттерны ищутся в нормализованном тексте (см. osv_headers.yaml), первый совпавший побеждает.
mapping:
- ['^(счета?|субконто):?$', ACCOUNT]
- ['^подразделени', DEPARTMENT]
- ['^контрагент', COUNTERPARTY]
# вид субконто «Поставщики» (выгрузка 1С «ОСВ по счету 60 по контрагентам», строка внутри таблицы) — контрагенты;
# только целиком: название контрагента «Поставщики ООО» этой записью не узнаётся
- ['^поставщики$', COUNTERPARTY]
# вид субконто «Организации» (плоская форма 1С, счёт 60) — контрагенты-организации (R-10, R-17); единственное число
# «Организация» — собственная организация учёта (измерение шапки), контрагентом не является
- ['^организации\b', COUNTERPARTY]
- ['^договор', CONTRACT]
# Известные группировки OTHER перечислены явно: по ним детектор узнаёт строку-метку в блоке заголовка таблицы
# (строка «Основные средства» под «Счет / Подразделение» — часть заголовка, а не первая строка данных)
- ['^основн\w*\s+средств', OTHER]
- ['^нематериальн\w*\s+актив', OTHER]
- ['^номенклатур', OTHER]
- ['^стать(и|я)\b', OTHER]
# строки валюты («Валюта USD», «В валюте») — не контрагенты и по плану счетов (R-18)
- ['^(в\s+)?валют', OTHER]
# Группировки-периоды: помесячные строки «Обороты за <месяц>» под контрагентом (выгрузка 1С «Субсчета + Контрагенты»,
# третья группировка шапки «Период», AURORA-1823). Тип остаётся OTHER; строки получают признак `is_period`, и сальдо
# родителя сверяется цепочкой периодов (начало первого, конец последнего), а не суммой сальдо периодов.
period_groups: ['^период$']
# Расчётные счета, у которых аналитика первого уровня — контрагенты, даже если вид субконто в шапке не назван
# (ОСВ 1С по счёту 60 без строки «Контрагенты»; AURORA-1661, OQ-158). Счёт сопоставляется по коду и субсчетам
# («76» -> 76.2, 76.Н.1; не 760). 71 и 73 исключены (R-9): подотчётные лица и персонал — не контрагенты.
counterparty_accounts: ['58', '60', '62', '66', '67', '75', '76', '80']
# Всё прочее (не перечисленное выше); такая группировка в отдельной строке блока заголовка не будет узнана как метка
default: OTHER