Что сделано
Провенанс и расчёт расценок
На каждой строке расценки добавлена кнопка [i] — открывает панель с полной формулой расчёта: базисная цена × количество × коэффициент стеснённости × зимнее удорожание × индекс пересчёта = итого в текущих ценах. Плюс показываются проценты НР/СП и ключевые слова, по которым AI нашёл эту расценку. Теперь сметчик видит откуда взялась каждая цифра.
Подтверждение расценок
В табе «Расценки» появился счётчик подтверждений (X/Y ✓). Кнопка «Сгенерировать КС-2» заблокирована пока не подтверждены все work-расценки. Неподтверждённые строки выделены жёлтой полосой слева — сразу видно что ещё не просмотрено.
Импорт счёт-фактуры
Новая функция: загружаешь счёт-фактуру (PDF или Excel) → AI распознаёт список товаров → автоматически сопоставляет с позициями оборудования в смете → показывает таблицу совпадений с ценами → одна кнопка «Применить» заполняет цены оборудования. Нераспознанные позиции показываются отдельно для ручного ввода. Поддерживает сканы через GPT-4o Vision.
Исправление багов
Главный баг: после «Запустить матчинг» UI показывал старые ID расценок пока транзакция не закоммитилась (30-90 сек), из-за чего кнопки «ок» и «удалить» возвращали «Rate not found». Исправлено: эндпоинт матча теперь синхронный — ждёт завершения пайплайна и только потом отвечает. Гарантирует свежие ID.
Также исправлен layout панели альтернатив: кнопка «Использовать» теперь всегда видна без горизонтального скролла. Убраны лишние галочки с вкладки Позиций. Переключен провайдер AI с Anthropic на OpenAI (gpt-4o) для всей орги.
Решения
- Матч-эндпоинт синхронный — это правильно для операций такого масштаба (30-90 сек укладывается в HTTP timeout браузера).
- GPT-4o для vision OCR сканов — уже в списке провайдеров, ключ Руслана добавится через настройки.
- Провенанс показывается из полей которые уже хранятся в БД — не требует дополнительных запросов.
Что дальше
- Руслан тестирует на реальных документах, в том числе счёт-фактуру.
- Возможно потребуется доработка парсинга позиций (сканы, нестандартные форматы).
Расход часов
- Провенанс + подтверждение + UI polish: 1.5 ч
- Импорт счёт-фактуры (backend + frontend): 1.5 ч
- Диагностика и исправление бага Rate not found: 0.5 ч
- Мелкие правки (альтернативы, галочки, polling): 0.5 ч
- Итого: 4 ч