ББ/ОФР из Excel: значение как показывает числовой формат (#42, AURORA-1528) #43
Loading…
x
Reference in New Issue
Block a user
No description provided.
Delete Branch "feat/42-xls-number-format"
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?
Закрывает RSHB/arm-tabular-parser#42, Jira AURORA-1528 «Неверный масштаб сумм при импорте ББ и ОФР из Excel».
Значение ячейки ББ/ОФР из Excel теперь = как его показывает числовой формат ячейки (решение владельца 15.10.2026, пересмотр OQ-138). 1С отдаёт рубли с копейками, в тысячи их переводит формат (
#,##0,,0,, условные литералы[=0]"-",[=-872206880.07]"(872 207)").Cell.number_format); xlsb — без формата + предупреждение на документ;statements/number_format.py(секции, условия, масштабирующие запятые, литералы, округление половина от нуля, не больше 2 знаков); неразобранный формат — сырое значение + предупреждение;Порядок слияния: docs (arm-ka-docs) -> fixtures (arm-ka-fixtures, golden) -> этот PR. Golden-тесты этого PR требуют новых снимков из fixtures (без них fixtures-тесты красные); вместе с fixtures слить в один заход.
Проверки:
make check-fullзелёный (lint, 2529 passed, 10 integration passed, docker-build). arm-core на новых golden: 1335 unit + 911 integration passed (arm-core не менялся).Изменения статусов в
statements_manifest.yaml: нет (статусы, complete, failed_relations прежние); обновлены только комментарии. Предупреждения «значений с дробной частью» исчезли в НПЗ ББ, Межениновская ББ, Унагранде-co Б.Б Лист 1.Rulings I made
Cell.number_format(default None), не отдельной картой. Цена ошибки: изменение равенства Cell только у числовых ячеек с форматом; ОСВ поле не использует.[>100]0;0;0могут отличаться от Excel; значение почти не зависит от выбора секции (знак — от сырого).General-> сырое значение, не «не разобран».sheet=<первый лист>: xlsb «формат чисел xlsb не читается: значения как в файле»; «формат чисел не разобран, значения как в ячейках: «ф1», «ф2»» (уникальные, по алфавиту, до 30 символов). Документы без колонки кодов и DISCLOSURE предупреждений не получают (значений нет).to_money(quantize_money).[=-1486533582.35]); то же — для округления при масштабировании. Цена: значение с 16+ значащими цифрами округляется до 15 (в реальных данных нет); при формате0и значении ≥1e15 результат выходит за numeric(18,2) -> «не разобран».[=1E-5]), -> не разобран, а не игнорируется.read_book_detected->detected == "XLSB"), а не из текста outline-предупреждения.openspec/specs/{statement-parsing,tabular-recognition-service}/spec.mdНЕ обновлены и частично противоречат коду — см. I-2 (deferred).Находки
904392d.15gокругляет HALF_EVEN904392d[=5]0;[=5]1unparsed без теста[=5]0;[=5]0,904392d(make check-full: 10 integration passed)904392d904392d904392d904392d[=0]"-"); UI покажет пустые/«—»make checkdocs не прошёл: нет jsonschema в средеARM_KA_FIXTURES=$W/fixtures)🤖 Generated with Claude Code