Что сделано
Загрузка ведомости объёмов в Excel
Раньше на главном экране принимался только PDF-чертёж (из AutoCAD). Если ведомость была в Excel, её приходилось печатать в PDF — и таблица при этом разъезжалась, а система читала её плохо. Теперь Excel (.xlsx и .xls) принимается напрямую как полноценный вход, без конвертации.
- Excel — это уже готовая таблица с колонками «Наименование», «Кол-во», «Ед. изм.», поэтому читается надёжнее, чем распознавание картинки чертежа.
- Проверено на реальном файле (ведомость по фасадным работам, разбитая на разделы): система корректно извлекла 24 позиции — с наименованием, количеством, единицей измерения и разделом.
Устранён сбой на «сложных» Excel-файлах
При первой проверке реальный файл заказчика не открывался: в ведомостях много объединённых ячеек (объединённые шапки, заголовки разделов), и прежний способ чтения на них падал. Перевели чтение Excel на более устойчивую библиотеку — теперь объединённые ячейки, многострочные названия и старый формат .xls обрабатываются корректно. Тот же сбой заодно устранён и для загрузки Excel-счетов на оборудование.
Устойчивость к временным ограничениям AI-сервиса
Иногда при распознавании появлялась ошибка «слишком много запросов» (временное ограничение внешнего AI-сервиса на объём в минуту). Теперь система сама выжидает и повторяет запрос — такие кратковременные всплески больше не доходят до пользователя как ошибка.
Технический порядок в обновлении базы данных
Навёл порядок в механизме обновления структуры базы: раньше при каждом обновлении системы часть шагов запускалась повторно и подсвечивала ложную ошибку. Теперь каждое изменение применяется аккуратно и ровно один раз — обновления проходят чисто.
Решения
- Excel — первоклассный вход наравне с PDF: для готовой таблицы распознавание картинки не нужно, это и надёжнее, и быстрее.
- Для «грязных» реальных Excel (объединённые ячейки, старый формат) выбрана устойчивая библиотека чтения — проверено на настоящем файле заказчика до внесения в продукт.
- Временные ограничения AI-сервиса лечатся автоповтором; при регулярной большой нагрузке отдельно можно поднять лимиты у поставщика — по потребности.
Открытые вопросы
- Просьба к заказчику: загрузить свой Excel-файл через интерфейс и подтвердить, что позиции извлеклись как ожидалось. На разных бланках ведомости расположение колонок может отличаться — при необходимости подстроим.
Что дальше
- Дождаться проверки заказчиком на его файлах и, если понадобится, донастроить чтение под конкретный вид бланка.
Расход часов
- Диагностика «Excel не принимается» и причины разъезжания таблицы — 0.5 ч
- Реализация загрузки Excel как полноценного входа (интерфейс + обработка) — 1 ч
- Поиск и устранение сбоя на объединённых ячейках, замена библиотеки чтения, проверка на реальном файле — 1.5 ч
- Порядок в обновлении базы + устойчивость к ограничениям AI-сервиса — 0.5 ч
- Выкатка в прод и сквозная проверка — 0.5 ч
Итого: 4 ч