6.3 KiB
Why
AURORA-1661 (баг заказчика, найден прогоном выгрузки контура AURORA-1639, 16.10.2026; свод admin/1639-contour-run,
находки O-2, O-3, O-4, O-29): ОСВ 1С по одному счёту в плоской форме — шапка «Оборотно-сальдовая ведомость по счету:
76» (с двоеточием), колонка «Субконто», строки счёта и группировок нет, сразу список контрагентов, затем «Итого
развернутое» и «Итого» — не разбирается или разбирается неверно:
- без строки счёта и без оформления —
INVALID_FORMAT«иерархия строк не определена» (12 файлов контура, в том числе файл «ОСВ сч. 60 за 2 кв. 2026» из письма заказчика; 6 из 10 файлов Компании 4, tp#49); - «по счету: X» с двоеточием не распознаётся: счёт берётся из первой строки таблицы («76.2» вместо «76»), вместо организации — вид субконто («Контрагенты», «Материалы»);
- «Итого развернутое» стоит перед «Итого» и становится строкой данных под последним счётом (ложные нарушения «сумма детей = родитель» и тождества строки);
- если вид субконто не назван (в шапке только «Субконто»), контрагенты 60/62/67/76 молча получают
OTHER: ядро их не сопоставляет, в сводной ОСВ нет признака ГСК/ГК/Внешний, ВГО их не видит (O-29, ОСВОКТ-24).
Валютная часть AURORA-1661 («Валюта USD» / «В валюте», O-7) — в параллельном треке вместе с AURORA-1613 (путь
data_type), не здесь.
Срез: доработка Среза 2a (парсер ОСВ, 09-delivery-plan.md). Репозитории: tabular-parser (код, эта спека),
arm-ka-docs (05-domain-rules.md §1.1, §1.3, §1.4, 07-open-questions.md), arm-ka-fixtures (синтетика и golden).
Таблицы DBML v5.19 не затрагиваются; контракт результата не меняется (CONTRACT_VERSION прежний).
What Changes
- Шапка (§1.1). Код счёта после «по счету» — и с двоеточием («по счету: 76.Н.1»); счёт шапки важнее первой строки таблицы (фолбэк OQ-134 — только без счёта в шапке, как сейчас). Ячейки между строкой названия ведомости и строкой периода — строка вида субконто, не организация; организация — также из метки «План счетов <организация>». Известные виды субконто из этой строки («Контрагенты») становятся группировками схемы после ACCOUNT.
- «Итого развернутое» (§1.4). Вторая итоговая строка —
TOTALи перед, и после «Итого»; сверка «Итого = корень» берёт основную «Итого», а не «Итого развернутое». - Плоский список (§1.3). Новая стратегия иерархии
header_account— все строки уровня 0 под счётом шапки: применима, только если в шапке есть код счёта и среди строк таблицы нет ни одной строки-счёта; стоит в каскаде передsums. Строки без счёта в ветке наследуют счёт шапки (account_code_raw). «Итого» без корневой строки ACCOUNT сверяется с суммой строк уровня 0. - Контрагенты по плану счетов (§1.1/§1.3). На расчётных счетах (58, 60, 62, 66, 67, 71, 73, 75, 76, 80 — данные
rules/osv_groups.yaml) первая не-счётная позиция без названия в схеме —COUNTERPARTYс предупреждениемOSV_ROWS. - Синтетика
s40–s44, golden; правила §1 и открытые вопросы в docs.
Capabilities
Modified Capabilities
osv-parsing: «Шапка документа и схема группировок», «Иерархия строк — каскад стратегий», «Классификация строк», «Контрольные суммы определяют статус».
Non-goals
- Валюта («Валюта <код>», «В валюте»), колонка «Показатели»,
data_typeстроки при молчащей шапке — трек A (AURORA-1613- валютная часть 1661). До его слияния строки плоских файлов без «Выводимые данные» приходят с
data_type = null, и ядро не берёт их в свод (SUMMARY_DATA_TYPES = (BU, SUM)): файлы распознаются, но в сводную ОСВ не попадают.
- валютная часть 1661). До его слияния строки плоских файлов без «Выводимые данные» приходят с
- «Учредители» на 80 (именованная группировка
OTHER, O-29) — вопрос владельцу, не меняется. - Распознавание вида субконто «Организации» как контрагентов по имени — не делается: неизвестный вид в схему не добавляется, позиция остаётся без названия и подпадает под правило расчётных счетов.
- Склейка кварталов (O-28), «Итого» с потерянной подписью, буквенные счета первого сегмента (OQ-103) — без изменений.