counterparty_accounts в osv_groups.yaml (R-9: без 71 и 73), is_counterparty_account, OSV_ROWS по счёту; формулировка проверки «Итого» без корня ACCOUNT (T4.1); ожидания s40–s44 в синтетике (T1.1/T1.2), тест испорченной «Итого» плоского списка (T4.2). Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
25 lines
2.0 KiB
YAML
25 lines
2.0 KiB
YAML
# Названия группировок ОСВ -> тип группировки `group_type` (05-domain-rules.md §1.1).
|
||
# Паттерны ищутся в нормализованном тексте (см. osv_headers.yaml), первый совпавший побеждает.
|
||
mapping:
|
||
- ['^(счета?|субконто):?$', ACCOUNT]
|
||
- ['^подразделени', DEPARTMENT]
|
||
- ['^контрагент', COUNTERPARTY]
|
||
# вид субконто «Организации» (плоская форма 1С, счёт 60) — контрагенты-организации (R-10)
|
||
- ['^организаци', COUNTERPARTY]
|
||
- ['^договор', CONTRACT]
|
||
# Известные группировки OTHER перечислены явно: по ним детектор узнаёт строку-метку в блоке заголовка таблицы
|
||
# (строка «Основные средства» под «Счет / Подразделение» — часть заголовка, а не первая строка данных)
|
||
- ['^основн\w*\s+средств', OTHER]
|
||
- ['^нематериальн\w*\s+актив', OTHER]
|
||
- ['^номенклатур', OTHER]
|
||
- ['^стать(и|я)\b', OTHER]
|
||
- ['^валют', OTHER]
|
||
|
||
# Расчётные счета, у которых аналитика первого уровня — контрагенты, даже если вид субконто в шапке не назван
|
||
# (ОСВ 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
|