ОСВ: xls без CODEPAGE → cp1251, «Кол-во»/«Вал», таблица кончается на первой «Итого» (#47, AURORA-1662, 1663, 1664) #48
Loading…
x
Reference in New Issue
Block a user
No description provided.
Delete Branch "feat/47-osv-encoding-labels-tail"
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?
Closes #47. Bounded-задача: три бага разбора ОСВ из прогона выгрузки контура (AURORA-1639, находки O-1, O-5, O-6, O-12 свода
admin/1639-contour-run). Реворк нормализации ББ/ОФР (arm-ka-docs#116) разбор ОСВ не меняет.Связанные PR (сливать в порядке): RSHB/arm-ka-fixtures — golden и синтетика s29–s32 (первым), этот PR, RSHB/arm-ka-docs — §1 правил.
Что изменено
AURORA-1662 — xls без CODEPAGE.
readers/xls.py: книга BIFF5/7 без записи CODEPAGE открывается сencoding_override="cp1251", предупреждение книги «xls без кодовой страницы — строки прочитаны как cp1251». BIFF8 и книги с CODEPAGE — как прежде, кодировка по содержимому не угадывается.AURORA-1663 — «Кол-во» и «Вал».
rules/data_types.yaml: «Кол-во» → QUANTITY; «Вал» без точки — не метка валюты (материал на сч. 10), метка — «Вал.» и коды валют. Реальных валютных строк «Вал» без точки в 126 фикстурах нет.AURORA-1664 — строки ниже таблицы.
classify.py: таблица кончается на первой «Итого» корневого уровня (+ «Итого развернутое» сразу за ней); сначала ищется строка ровно «Итого» (total_row_exact), без неё — первая «Итого …». Числа ниже таблицы в колонках таблицы — предупреждение «строки N–M: ниже таблицы (после «Итого») есть числа …», статус не меняется. Закрывает tp#7 M-2.Проверка
make check: 2564 passed, ruff/mypy чистые;make test-integration: 10 passed;make docker-build: ok.total_row_matches_root=True, предупреждение о хвосте строк 2667–2674.Rulings I made
on_demand, ошибка пробы не мешает читателю. Цена ошибки: xls в иной однобайтовой кодировке без CODEPAGE прочитается неверно — в выгрузках 1С/Excel РФ не встречалось.total_row_exact). Остаточный риск: если точного «Итого» нет, а на листе нет outline/отступов, контрагент «Итого-…» станет TOTAL — ловит проверка TOTAL = корень (тестtest_known_risk_…).tests/synthetic/xls_writer.py): Excel и LibreOffice CODEPAGE пишут всегда.Находки
^итого\b: контрагент «Итого-Сервис» на плоском листе обрезал бы таблицу195720c195720cmake -C docs validate-openspecпадает на архивномslice-0-skeleton(давнее)make checkв docs требуетjsonschemaбез своего venvhierarchy=sums, шапка без счёта — не разбиралосьПосле слияния: AURORA-1662, 1663, 1664 → «Готово к тестированию» (через arm-ka-docs#118, Jira сейчас недоступна).
🤖 Generated with Claude Code