Плоская форма ОСВ 1С: счёт из шапки, «Итого развернутое», плоский список, контрагенты расчётных счетов (#59) #63
Loading…
x
Reference in New Issue
Block a user
No description provided.
Delete Branch "feat/59-osv-flat-form"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Closes RSHB/arm-tabular-parser#59. Jira: AURORA-1661 (структурная часть). Связано: tabular-parser#49 (файлы Компании 4 «ОСВ сч. NN за 2 кв. 2026.xls» — 6 из 10 упирались в плоскую форму), трек A (#58/#60) слит в main до этого PR — ветка перебазирована на него.
Парные PR: arm-ka-fixtures (синтетика s40–s44, golden s40–s44, README набора), arm-ka-docs (§1.1/§1.3/§1.4, OQ-169…172). Порядок слияния: fixtures → tabular-parser → docs. Спека: openspec/changes/osv-flat-form/.
Что сделано
ОСВ 1С по одному счёту в плоской форме («по счету: X», колонка «Субконто», нет строки счёта, «Итого развернутое») разбирается без INVALID_FORMAT: счёт и организация берутся из шапки («по счету:», строка вида субконто между названием и периодом, «План счетов <орг>»); «Итого развернутое» — итоговая строка в любом порядке относительно «Итого»; новая стратегия иерархии header_account (плоский список под счётом шапки); «Итого» без корня ACCOUNT = сумма уровня 0; на расчётных счетах (58, 60, 62, 66, 67, 75, 76, 80) аналитика без названия вида — COUNTERPARTY с предупреждением OSV_ROWS. Контракт не менялся.
Проверки
make test-integrationнужно прогнать на свободном стенде до слияния (statements-check и docker-build прошли).Rulings I made
R-8 «Учредители» на 80 остаются OTHER (рекомендация сессии при одобрении запуска). R-9 счета 71/73 исключены из расчётных. R-10 → R-17 «Организации» (множественное) — синоним COUNTERPARTY, единственное «Организация» — OTHER. R-11 данные синтетики s40–s42 «подправлены» — ОТМЕНЁН R-16. R-12 пропуск меток шапки в строке вида субконто. R-13 OSV_ROWS по коду счёта. R-14 ожидания data_type=None у s40–s44 (после rebase BU по умолчанию). R-15 текст предупреждения «Итого» без корня. R-16 → R-19 тождество строки пропускается у вторых итоговых только без оборотов и не у единственной TOTAL. R-18 by_account не применяется к «Валюта…»/«В валюте». R-20 rebase после fix wave. R-21 шаг через показатели в итоговом блоке только при вторичной итоговой выше; показатели вторичной итоговой наследуют пропуск тождества. Подробности и цена ошибки — design.md, «Decisions made without discussion».
Таблица находок
d6d1c71(R-21)d6d1c71(R-21)d6d1c71Deferred (в follow-up issue при закрытии)
T2.3, T2.6, T3.2, T4.3, T5.1/M-8, T5.2, T5.3 (OQ-172), I-3, M-10, I-5.
Зависимость от трека A
Трек A (#58, tabular-parser#60) слит в main; ветка перебазирована на него (конфликты по 6 пунктам разобраны, golden s40–s44 обновлены: BU по умолчанию). Без трека A плоские файлы не попадали в свод (data_type = null).
🤖 Generated with Claude Code