ОСВ: ИНН внутри текста строки и ИНН в ячейке над названием контрагента (OQ-100, OQ-130) #9

Closed
opened 2026-10-06 09:36:34 +03:00 by aep · 1 comment
Owner

Решение владельца 07.10.2026: парсер должен разбирать ОСВ произвольного формата, не только фикстуры. Два случая с ИНН сейчас не покрыты (05-domain-rules.md §1.0 п. 4, §1.3):

  1. ИНН в одной ячейке с названием («Полиграф, 3528315710»; 20 строк в ОСВ 76 Счастливочной; также склеенная шапка «ИНН/КПП»). Извлекать в парсере: 10 или 12 цифр, отделённые запятой, скобками, / или пробелом; в counterparty_inn — цифры, в counterparty_name — текст без ИНН и разделителя (trim). Закрывает OQ-100.
  2. ИНН в ячейке на строку выше названия (строка только с ИНН без сумм над строкой контрагента). Склеивать со следующей строкой контрагента того же уровня; одиночная строка ИНН не должна уходить в OTHER. Новый OQ-130.

Также: шапка таблицы на произвольных строках и отсутствие колонки ИНН уже покрыты (s01–s16, РБ без колонки ИНН) — добавить явные регрессионные синтетические фикстуры на оба новых случая и на «ИНН/КПП» в одной ячейке (fixtures/osv/synthetic/s17…s19 + golden), правила — в rules/*.yaml, не в код. Контракт v1.1 не меняется. Bounded-задача (без OpenSpec change).

🤖 Generated with Claude Code

https://claude.ai/code/session_012vJkmBGKKqMoEMzvsXG3y2

Решение владельца 07.10.2026: парсер должен разбирать ОСВ произвольного формата, не только фикстуры. Два случая с ИНН сейчас не покрыты (`05-domain-rules.md` §1.0 п. 4, §1.3): 1. **ИНН в одной ячейке с названием** («Полиграф, 3528315710»; 20 строк в ОСВ 76 Счастливочной; также склеенная шапка «ИНН/КПП»). Извлекать в парсере: 10 или 12 цифр, отделённые запятой, скобками, `/` или пробелом; в `counterparty_inn` — цифры, в `counterparty_name` — текст без ИНН и разделителя (trim). Закрывает OQ-100. 2. **ИНН в ячейке на строку выше названия** (строка только с ИНН без сумм над строкой контрагента). Склеивать со следующей строкой контрагента того же уровня; одиночная строка ИНН не должна уходить в OTHER. Новый OQ-130. Также: шапка таблицы на произвольных строках и отсутствие колонки ИНН уже покрыты (s01–s16, РБ без колонки ИНН) — добавить явные регрессионные синтетические фикстуры на оба новых случая и на «ИНН/КПП» в одной ячейке (`fixtures/osv/synthetic/s17…s19` + golden), правила — в `rules/*.yaml`, не в код. Контракт v1.1 не меняется. Bounded-задача (без OpenSpec change). 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_012vJkmBGKKqMoEMzvsXG3y2
aep closed this issue 2026-10-06 13:00:40 +03:00
Author
Owner

Реализовано в PR #15 (слит в feat/11-dkb-formats), в main — через PR #13 (коммит a592c68). Парный PR fixtures: RSHB/arm-ka-fixtures#8 (синтетика s17–s19, golden). Deferred-находки A9-2, A9-3, A9-5 — в follow-up issue.

Реализовано в PR #15 (слит в feat/11-dkb-formats), в main — через PR #13 (коммит a592c68). Парный PR fixtures: RSHB/arm-ka-fixtures#8 (синтетика s17–s19, golden). Deferred-находки A9-2, A9-3, A9-5 — в follow-up issue.
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: RSHB/arm-tabular-parser#9
No description provided.