From 5dcfaf8fdd71c7ce15808f1a2702e935b6e0b6ab Mon Sep 17 00:00:00 2001 From: Andrey Epifancev Date: Wed, 7 Oct 2026 03:35:25 +0400 Subject: [PATCH] =?UTF-8?q?feat(ocr):=20=D1=8D=D1=82=D0=B0=D0=BB=D0=BE?= =?UTF-8?q?=D0=BD=D1=8B=20=D0=BD=D0=BE=D1=80=D0=BC=D0=B0=D0=BB=D0=B8=D0=B7?= =?UTF-8?q?=D0=B0=D1=82=D0=BE=D1=80=D0=B0=20=E2=80=94=20=D0=BF=D1=80=D0=B5?= =?UTF-8?q?=D0=B4=D1=83=D0=BF=D1=80=D0=B5=D0=B6=D0=B4=D0=B5=D0=BD=D0=B8?= =?UTF-8?q?=D1=8F=20=D0=BE=20=D0=BF=D1=80=D0=BE=D0=BF=D1=83=D1=89=D0=B5?= =?UTF-8?q?=D0=BD=D0=BD=D1=8B=D1=85=20=D1=81=D1=82=D1=80=D0=BE=D0=BA=D0=B0?= =?UTF-8?q?=D1=85,=20=D1=84=D0=BE=D1=80=D0=BC=D1=83=D0=BB=D0=B8=D1=80?= =?UTF-8?q?=D0=BE=D0=B2=D0=BA=D0=B0=20=D0=98=D0=9D=D0=9D=20(=D0=A1=D1=80?= =?UTF-8?q?=D0=B5=D0=B7=203a,=20#12)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit aep_3 и aep_6: предупреждения «строк с нечисловым кодом пропущено: N» и «строк без кода с суммами пропущено: N» на таблицу; aep_3: «ИНН распознан неуверенно» вместо «ИНН не распознан» (ИНН извлечён, confidence < 100). Документы (строки, суммы, колонки) не изменились. В README — строка про ocr/expected_normalize/. Co-Authored-By: Claude Sonnet 5.5 Claude-Session: https://claude.ai/code/session_012vJkmBGKKqMoEMzvsXG3y2 --- README.md | 2 ++ ocr/expected_normalize/aep_3.json | 6 +++++- ocr/expected_normalize/aep_6.json | 4 ++++ 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 70865dc..9bfa533 100644 --- a/README.md +++ b/README.md @@ -19,6 +19,8 @@ ocr/ пары «вход → выход» И ИС кладёт в каталог по одному json на каждый распознанный документ файла: aep_3.pdf → aep_3.json (баланс + ОФР, успех) и aep_3_ofr.json (ошибка INVALID_DOCUMENT); aep_6.pdf → aep_6.json (баланс + ОФР, успех); aep_5, aep_8 — ответы-ошибки + expected_normalize/ — эталоны нормализатора ответов ИС (status, warnings, documents по набору aep_N*.json), + как golden/expected_osv_parse для парсера ОСВ; описание — expected_normalize/README.md golden/ эталонная ручная консолидация и анализ (Excel), expected_osv_parse/ — снимки парсера disclosures/ формы расшифровок к отчётности directories/ выгрузка ЕЦП по ГК РБ (Срез 1), план счетов 1С заказчика chart-of-accounts-1c.xlsx (OQ-113) diff --git a/ocr/expected_normalize/aep_3.json b/ocr/expected_normalize/aep_3.json index bc38369..9ba0240 100644 --- a/ocr/expected_normalize/aep_3.json +++ b/ocr/expected_normalize/aep_3.json @@ -1038,13 +1038,17 @@ }, "status": "needs_check", "warnings": [ - "3f1c2b7a-0000-4000-8000-000000000001.json: ИНН не распознан", + "3f1c2b7a-0000-4000-8000-000000000001.json: ИНН распознан неуверенно", "3f1c2b7a-0000-4000-8000-000000000001.json: table:0: шапка синтезирована: колонки без дат", + "3f1c2b7a-0000-4000-8000-000000000001.json: table:0: строк с нечисловым кодом пропущено: 8", + "3f1c2b7a-0000-4000-8000-000000000001.json: table:0: строк без кода с суммами пропущено: 2", "3f1c2b7a-0000-4000-8000-000000000001.json: table:0: код 1320 повторяется: оставлена первая строка", "3f1c2b7a-0000-4000-8000-000000000001.json: table:0: код 1350 повторяется: оставлена первая строка", "3f1c2b7a-0000-4000-8000-000000000001.json: table:0: код 1360 повторяется: оставлена первая строка", "3f1c2b7a-0000-4000-8000-000000000001.json: table:0: код 1370 повторяется: оставлена первая строка", "3f1c2b7a-0000-4000-8000-000000000001.json: table:1: шапка синтезирована: колонки без дат", + "3f1c2b7a-0000-4000-8000-000000000001.json: table:1: строк с нечисловым кодом пропущено: 2", + "3f1c2b7a-0000-4000-8000-000000000001.json: table:1: строк без кода с суммами пропущено: 2", "3f1c2b7a-0000-4000-8000-000000000001_ofr.json: INVALID_DOCUMENT: Не удалось определить тип документа." ] } diff --git a/ocr/expected_normalize/aep_6.json b/ocr/expected_normalize/aep_6.json index e5902d1..9934250 100644 --- a/ocr/expected_normalize/aep_6.json +++ b/ocr/expected_normalize/aep_6.json @@ -1383,9 +1383,13 @@ "warnings": [ "3f1c2b7a-0000-4000-8000-000000000001.json: ИНН не распознан", "3f1c2b7a-0000-4000-8000-000000000001.json: дата отчёта не разобрана", + "3f1c2b7a-0000-4000-8000-000000000001.json: table:0: строк с нечисловым кодом пропущено: 2", + "3f1c2b7a-0000-4000-8000-000000000001.json: table:0: строк без кода с суммами пропущено: 19", "3f1c2b7a-0000-4000-8000-000000000001.json: table:0: редакция fsbu4 не заполнена", "3f1c2b7a-0000-4000-8000-000000000001.json: table:0: код 1220 повторяется: оставлена первая строка", "3f1c2b7a-0000-4000-8000-000000000001.json: table:0: код 1520 повторяется: оставлена первая строка", + "3f1c2b7a-0000-4000-8000-000000000001.json: table:1: строк с нечисловым кодом пропущено: 1", + "3f1c2b7a-0000-4000-8000-000000000001.json: table:1: строк без кода с суммами пропущено: 2", "3f1c2b7a-0000-4000-8000-000000000001.json: table:1: редакция fsbu4 не заполнена", "3f1c2b7a-0000-4000-8000-000000000001.json: table:1: код 2410 повторяется: оставлена первая строка" ]