4.4 KiB
4.4 KiB
Why
Замечания тестировщика заказчика 21.10.2026 (Яшин Д.О.):
- AURORA-1734 — «Баланс АК-ЮЛ.pdf», «Баланс Саракташагротехремонт.pdf»: ИС Сканирование вернула ББ и ОФР одной
таблицей
table_structure[0]с меткой «Бухгалтерский баланс». У нас таблица ИС — один кандидат, шапка ОФР на строке 41 — повторная шапка того же документа: строки ОФР попадают в ББ («Прочие строки»), под колонками и периодами ББ. - AURORA-1735 — «Баланск Калтан.pdf»: подпись «За I полугодие 2025 года» ИС разорвала на «31» (столбец 5) и «а I
полугодие 2025 года» (столбец 6); под обрывком «31» — одно постороннее число «$301» в строке 2400. Столбец 5 становится
колонкой без даты (
COLUMN_WITHOUT_DATE,error), в ОФР три колонки вместо двух.
Оба дефекта — в ответе ИС, но владелец решил (06.11.2026) обрабатывать их у себя по общим правилам пакета.
What Changes
- Разрез кандидата по смене формы (пакет
arm_statements, новая функцияsplit_by_form): сегмент со своей шапкой, у которого не меньшеmin_codesкодов и тип формы по кодам другой, чем у текущей части, начинает новую часть — отдельный документ со своими колонками и периодами. Хосты (scan-gateway, tabular-parser) вызывают разрез передnormalize_candidate. - Редкий столбец с неразобранной подписью между колонками периодов (число не более чем в одной строке с кодом при
трёх и более у колонок периодов) — не колонка сумм; его числа — в
NUMBERS_OUTSIDE_TABLE(info) с текстом «числа вне колонок формы не учитываются». - Документы контекста:
05-domain-rules.md§11 (п. 2 «Сегменты», п. 6 «Подпись без периода»), таблица предупреждений. - Контракт, DBML, ядро — без изменений: части различаются
file_ordinal(Р-10),locatorчасти — строка с хвостом;form:<k>.
Non-goals
- Склейка разорванной подписи в период («31» + «а I полугодие 2025 года» → дата не восстанавливается из обрывков; колонка 6 и так разбирается).
- Тип по метке файла ИС вместо метки таблицы (
TYPE_CONFLICTу ОФР Калтана:data_ocr.label— «ОТЧЕТ О ФИНАНСОВЫХ РЕЗУЛЬТАТАХ», метка таблицы — «Бухгалтерский баланс») — отдельное правило адаптера scan-gateway, не в этом change. - Правило ИС «ОФР без ИНН — одним документом» (уточнение аналитика в AURORA-1734): мы режем по кодам, не по ИНН.
- Перераспознавание уже загруженных файлов.
Impact
- Спека
statement-normalization: новое требование «Шаг 2 — разрез кандидата по смене формы», изменены «Шаг 1 — многостраничная форма» и «Шаг 2 — подпись и дата колонки». - Репозитории: pylib_ai_arm_statements (0.1.5, RSHB/pylib_ai_arm_statements#5), arm-ka-docs (этот change); вызов
split_by_formи пин 0.1.5 в arm-scan-gateway и arm-tabular-parser — после merge AURORA-1677 (холд владельца до выкатки гудвилла). arm-core — только пин (пересчёт не режет: документы уже разрезаны).