From f04ad2e7dae1cc7525ff9ed27dfff3f689f6992f Mon Sep 17 00:00:00 2001 From: Andrey Epifancev Date: Tue, 13 Oct 2026 15:12:00 +0400 Subject: [PATCH] =?UTF-8?q?=D0=A1=D0=B8=D0=BD=D1=82=D0=B5=D1=82=D0=B8?= =?UTF-8?q?=D0=BA=D0=B0=20=D0=9E=D0=A1=D0=92:=20=D0=B2=D0=BE=D1=81=D0=B5?= =?UTF-8?q?=D0=BC=D1=8C=20=D1=80=D0=B0=D1=81=D0=BA=D0=BB=D0=B0=D0=B4=D0=BE?= =?UTF-8?q?=D0=BA=20=D1=81=D1=82=D1=80=D0=BE=D0=BA=D0=B8=20=D0=98=D0=9D?= =?UTF-8?q?=D0=9D=20s20=E2=80=93s27,=20s18=20=D1=81=20=D0=B2=D0=B5=D1=80?= =?UTF-8?q?=D0=BD=D1=8B=D0=BC=D0=B8=20=D0=98=D0=9D=D0=9D=20(tabular-parser?= =?UTF-8?q?#35)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 5.5 --- osv/synthetic/README.md | 12 ++++++++++-- osv/synthetic/s18_inn_row_above.xlsx | Bin 5671 -> 5672 bytes .../s20_inn_above_sibling_blank.xlsx | Bin 0 -> 5760 bytes osv/synthetic/s21_inn_above_sibling_sums.xlsx | Bin 0 -> 5814 bytes osv/synthetic/s22_inn_above_parent_blank.xlsx | Bin 0 -> 5763 bytes osv/synthetic/s23_inn_above_parent_sums.xlsx | Bin 0 -> 5817 bytes osv/synthetic/s24_inn_below_child_blank.xlsx | Bin 0 -> 5763 bytes osv/synthetic/s25_inn_below_child_sums.xlsx | Bin 0 -> 5814 bytes osv/synthetic/s26_inn_below_sibling_sums.xlsx | Bin 0 -> 5812 bytes .../s27_inn_below_sibling_blank.xlsx | Bin 0 -> 5760 bytes 10 files changed, 10 insertions(+), 2 deletions(-) create mode 100644 osv/synthetic/s20_inn_above_sibling_blank.xlsx create mode 100644 osv/synthetic/s21_inn_above_sibling_sums.xlsx create mode 100644 osv/synthetic/s22_inn_above_parent_blank.xlsx create mode 100644 osv/synthetic/s23_inn_above_parent_sums.xlsx create mode 100644 osv/synthetic/s24_inn_below_child_blank.xlsx create mode 100644 osv/synthetic/s25_inn_below_child_sums.xlsx create mode 100644 osv/synthetic/s26_inn_below_sibling_sums.xlsx create mode 100644 osv/synthetic/s27_inn_below_sibling_blank.xlsx diff --git a/osv/synthetic/README.md b/osv/synthetic/README.md index b555ad9..7da3fce 100644 --- a/osv/synthetic/README.md +++ b/osv/synthetic/README.md @@ -42,10 +42,18 @@ cd tabular-parser/api | `s15_group_title_synonyms.xlsx` | названия групп сумм: лист «ОСВ 60» — «Входящее сальдо»/«Конечное сальдо», лист «ОСВ 62» — «Начальное сальдо»/«Исходящее сальдо» | два документа, все шесть колонок сумм найдены, `done` | | `s16_header_synonyms.xlsx` | лист «ОСВ 60»: нет названия организации, период «2024», валюта «RUB (код 643)», «Счет» и «Контрагенты» отдельными строками под «Дебет/Кредит»; лист «ОСВ 62» (вариант 2): «Детализация по субсчетам: Номенклатура, Статьи затрат, Нематериальные активы, Валюта» | `organization_name=""` + предупреждение, `Q4`/2024, `currency=RUB`, схема листа 62 — `ACCOUNT` + четыре `OTHER` | | `s17_inn_in_name.xlsx` | колонки ИНН нет, ИНН записан в текст названия контрагента: «ООО Альфа, 7701234567», «ООО Бета (ИНН 7707654321)», «ООО Гамма ИНН: 5001234567», «ИП Сидоров 500100732259» (OQ-100) | `counterparty_inn` — цифры, `counterparty_name` — без ИНН и разделителя, `row_value` не меняется; физлицо без ИНН — `null`; `done` | -| `s18_inn_row_above.xlsx` | у «ООО Альфа» и «ООО Гамма» ИНН стоит отдельной строкой над названием (без сумм, тот же уровень), колонки ИНН нет (OQ-130) | строка с ИНН в `rows` не попадает и не уходит в `OTHER`; ИНН — у контрагента, предупреждение «ИНН … над строкой … отнесён к ней»; `done` | +| `s18_inn_row_above.xlsx` | у «ООО Альфа» и «ООО Гамма» ИНН с верной контрольной суммой (`7701234560`, `5001234561`) стоит отдельной строкой над названием (без сумм, тот же уровень), колонки ИНН нет (OQ-130); без подсказки в шапке строка с неверной контрольной суммой не склеивается (#35) | строка с ИНН в `rows` не попадает и не уходит в `OTHER`; ИНН — у контрагента, предупреждение «ИНН … над строкой … отнесён к ней»; `done` | | `s19_inn_kpp_cell.xlsx` | колонка «ИНН/КПП»: в ячейках склеенное «7701234567/770101001» (OQ-100) | `counterparty_inn` — только ИНН; колонка распознана как колонка ИНН; `done` | +| `s20_inn_above_sibling_blank.xlsx` | ИНН строкой **над** наименованием, сосед того же уровня, **без сумм** (#35) | ИНН — у своего контрагента, строк ИНН в `rows` нет, `done` | +| `s21_inn_above_sibling_sums.xlsx` | ИНН строкой над наименованием, сосед, **с теми же суммами** | то же; пара — по равенству сумм | +| `s22_inn_above_parent_blank.xlsx` | строка ИНН — **родитель** наименования (уровень выше), без сумм | наименование поднимается на её место, ИНН — ему, `done` | +| `s23_inn_above_parent_sums.xlsx` | строка ИНН — родитель наименования, с суммами | то же | +| `s24_inn_below_child_blank.xlsx` | строка ИНН — **ребёнок** наименования (уровень ниже), без сумм | ИНН — родителю, строка из `rows` уходит, `done` | +| `s25_inn_below_child_sums.xlsx` | строка ИНН — ребёнок наименования, с суммами (как «Контрагенты.ИНН» в 1С, но без подсказки в шапке) | то же | +| `s26_inn_below_sibling_sums.xlsx` | ИНН строкой **под** наименованием, сосед, с суммами | ИНН — своему контрагенту, `done` | +| `s27_inn_below_sibling_blank.xlsx` | ИНН строкой под наименованием, сосед, без сумм (дефект main: ИНН уходил следующему контрагенту) | ИНН — своему контрагенту; направление — по блоку 60.02, кончающемуся строкой ИНН; `done` | -`s17`–`s19` — регрессия извлечения ИНН из текста (issue #9). `s14`–`s16` добавлены тестом покрытия словарей `tabular-parser` (`rules/*.yaml`, решение R-22): каждая запись словаря +`s17`–`s19` — регрессия извлечения ИНН из текста (issue #9). `s14`–`s16` добавлены тестом покрытия словарей `tabular-parser` (`rules/*.yaml`, решение R-22): каждая запись словаря `s20`–`s27` — восемь раскладок строки ИНН рядом с контрагентом (issue tabular-parser#35); ИНН с верной контрольной суммой — без подсказки в шапке другие не склеиваются. должна сработать на реальных или синтетических файлах; эти файлы закрывают записи, которых нет в реальных ОСВ. ## О файле xlsb diff --git a/osv/synthetic/s18_inn_row_above.xlsx b/osv/synthetic/s18_inn_row_above.xlsx index 55cf1d09804091b94467f1d15f4d498864363821..e81d6f0fdd8973ff7e92a4392103c6ed4f04ffd0 100644 GIT binary patch delta 1226 zcmV;*1U37oET}B7JO~9Ca#a{>lR*e2e_L-FM-=`mqkU?nmK_!rya=M^yu7JvSbFbPeDznU%7w-4Ce*nPm(2mG%;C}1$;$cJE(NK@{?Xepl1d}$ICuMSn z-N23bFPfy_GN8NTC=R^2H3aq?KmE6#EY#3bLmu`^JGPtkFqoi_b%Q%rV2mM-<1>*T z#v!yjU=cUzAMArP`Zv8wPLgMIMla|zd5P#OIi{C%N^j{k{TG^^)9d7=e^%FHh{tU8 zE_@-*GMKRpW~hUmbH6hPbW3NSCnpf#UGjqdvx<8`uXyzaP(Ubof#`cWLs0$^C_YP0 zQ3WH$2pNd}$E}XR9r!^8HcUh>3ppgqOOj<3$=Aslc%1=>YkC9aD+EQR!!4`S5Pe18 zqEE7Ih@K~>$q!tvcfjQee;Azrw;8km^V5_$oqn1_thyvtRT2A>r3xW#xDLn3SxxlE z&3BdNuQ|J)7!jVsXNdkz-`3EI+!R%Zy4tqI~AtqaJ*HXjQ-QuiCk|3(r&Mi~6)YW)6wVH_ zqh_&WVhpe&LHjJiFiU_am?EYnU`m){j5SbO0GSoM5o%u~Q`{ue5fEhyuLTlCfqi^_ zE`LRih%1~Ysy)7fe+#%M70SqRlj&r9fKCFYs?aG5Dob_BA}TVOjE|71v@X-?BxHS3 znW|M>G)iT2eNu^@%Q>Ev=T~~7)1TSam3%MVKKJI<3$3wK>nx_Yv#!Bh>nx~jY--&R z5nH4*a}qYUB>XBpWTkV@%%6KL0bp%r(G~z@*_1MsQ%X#+f0C18MU~}24f#=OIoHieVMkbTHE5U zx3!M@R&7t(v2WEnX@|awkUoXKw!?wrN6008h=vPQ*o?yTX_;2yV8kDbhd~UFNnRYn zlbnPM0R8Vfo5${tr+~0|XQR000O8001Fev)l~D2L%{%RTyiNrW9KN&yxZb oIsr_RJry_sHIsG~JOZN;lfDrglh73^0f>|P6($DM6951J05>)}xBvhE delta 1226 zcmV;*1U37pET=56JO~9hBua4|Kc}Sv1 zBQSujzVy>|JTeR&e~1Fot7%{5D{TXF6At;#A(JrGMl72H-+#-3Sis;i>OZjU_VHsf78qOIDSTF^qfxP*ND#IBYHun^oCy1e_`l3f4z!dYgIjh zc+6Jsz%RsE1~Zny40W(G?so=(Zs_dG_!t6wh+oowR&meiCGTDX3JAq75&cMK2-+`z z;fyF*BOwwqSw&AM9^e9+^|js z(Kqxx`Yb($=vjOc|HS3`e*j!AfzdH=o52V$KS`L=>E{{5%1dHp6|p~Asu1Fu>u?mG zRz!c?d{=4yma}`si0~Y~K=gO|zJm52-OJ!*EqPfg$A2aHNyyw++pHEIfs9lB2mHV& z8~MmI1pV16OeKyRO2?@!7M~{jB<)S&tMv&a*_z&fx96D@1p)JTfAtY!RixjTU$&?a z@d7>o);^U9s&?@!n4KxsVJ{;x#AF}bmDI3tw|LFF#%tXzUi%L5#6?P-l&Yh$gry6T zz*#Xntmg|R#sE7Mv`-@pvjB*kDPkG|rhqxdSOYZ$kXgbTp;{uD{3e;UfGApcEs!V* zoa6Jl{0%uIu24@@e`kCN=Wt#sl#%8p)5*AnP6DQ^&?yZnN_9#jN-~*@PmrmwF4L+K zvN@?t27MM^UxVRK8uZ;~P_-Fs&C-fIW|Ycq?c04U0~l&RcOe`1QIj1)_%6yLFX4!bhZ zbF}D4*R>>^Bb#|D=S7m`j4xkx!C+s$AyvPeR$sD58UmsqlV5OwW%{QPCRV4mlcE2P zA~o=Li?7wn@SJg9;hXmtey_V$Y+q}ufYvqvt*ruDw-eA<-DeDC)qTfb5^(#Kr876n zD47C6Q3?c%f2w2(AZf`I$;e8kfKVM^dg}4zk)Y2XjUnpz<004m7zN4GGU-JAh(8t&{0JVCyg7g; zISCj5=6k*$Ejuj2@|9ozA5cpJ1QY-O00;m803lq`v)&BE2L)AC+BIsErxaTO&XWTb oIsr?QJ{33tG?RA~JOZK-lfMxhlhG9_0f&?P6($DL6951J0Arv@#Q*>R diff --git a/osv/synthetic/s20_inn_above_sibling_blank.xlsx b/osv/synthetic/s20_inn_above_sibling_blank.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..ba927d22333ee780d6d737cb00d0dc14535cb36c GIT binary patch literal 5760 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 literal 0 HcmV?d00001 diff --git a/osv/synthetic/s21_inn_above_sibling_sums.xlsx b/osv/synthetic/s21_inn_above_sibling_sums.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..743d2ce36eb93e8e128c3fdc57d3f8aec5bfb485 GIT binary patch literal 5814 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 literal 0 HcmV?d00001 diff --git a/osv/synthetic/s22_inn_above_parent_blank.xlsx b/osv/synthetic/s22_inn_above_parent_blank.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..a027bad1eb6f76162f12465e69d3ba957f3f477b GIT binary patch literal 5763 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 literal 0 HcmV?d00001 diff --git a/osv/synthetic/s24_inn_below_child_blank.xlsx b/osv/synthetic/s24_inn_below_child_blank.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..d29c454139ce8ecf7a789a6cbd80ff6ee83cb27e GIT binary patch literal 5763 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 B6tVyS literal 0 HcmV?d00001 diff --git a/osv/synthetic/s25_inn_below_child_sums.xlsx b/osv/synthetic/s25_inn_below_child_sums.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..800e23fd42e9608218d8b3304a45b7850813f4af GIT binary patch literal 5814 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 literal 0 HcmV?d00001 diff --git a/osv/synthetic/s26_inn_below_sibling_sums.xlsx b/osv/synthetic/s26_inn_below_sibling_sums.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..8c8846578ed98220f76296cac1a19ed0dcdfca4f GIT binary patch literal 5812 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 literal 0 HcmV?d00001