Протокол расчёта
Протокол расчёта: разбор ошибок и предупреждений с переходом к объектам, сравнение с прошлым расчётом тех же фрагментов, полный текст расчёта и история сохранённых протоколов.
Возможности
- Разбор ошибок и предупреждений расчёта по категориям: регуляторы и байпасы, расчётные схемы, узлы с заданным напором, подсети без источника и другие.
- Сравнение с прошлым расчётом тех же фрагментов: «+2 к прошлому», «−4 к прошлому».
- Переход к объектам: значок объекта в сообщении приближает карту и открывает карточку (для регулятора, байпаса, насоса — нужный журнал); «Все на карте» — метки у всех объектов с проблемами.
- Кнопки «Исправить: …» ведут туда, где правится причина: параметры расчёта, температурный график, карточка объекта, расчётная схема, узел с заданным напором.
- «Что исправить» — Excel со списком проблем и ссылками на объекты на карте.
- «Объяснить» — разбор протокола помощником ИИ простыми словами (если ИИ включён).
- История: последние 100 сохранённых протоколов любого фрагмента.
Как это работает
Движок расчёта пишет протокол в виде строк с кодами сообщений. После расчёта воркер разбирает их в записи calculation_protocol: уровень (ошибка, предупреждение), категория, фрагмент, подсеть, объекты. Повторяющиеся сообщения сворачиваются («повторов 12»). Текст сообщений переводится на язык интерфейса при выдаче.
Сравнение «к прошлому» берёт предыдущий расчёт тех же фрагментов. Расчёт по списку даёт один протокол на все фрагменты (общий номер запроса).
Панель протокола прикреплена к низу карты: высота меняется перетаскиванием края или стрелками ↑↓ на нём (Shift — крупный шаг), есть «Во весь экран» и «Свернуть». Вкладка «Текст расчёта» идёт за новыми строками, пока вы у конца списка; отлистали вверх — прокрутка не прыгает.
Что нужно для работы
- Хотя бы один выполненный расчёт.
- «Объяснить» — помощник ИИ включён на сервере и право «Запуск расчётов».
Шаги
«Сохранённые протоколы» (значок истории): последние 100 расчётов с числом ошибок и предупреждений. Щелчок по строке открывает протокол.

Вкладка «Анализ»: плитки «Ошибки» и «Предупреждения» с изменением «к прошлому», категории, поиск, переход к предыдущей и следующей проблеме, «Что исправить» (Excel).

«Все на карте» ставит метки у объектов с проблемами: красные — ошибки, жёлтые — предупреждения. «Скрыть на карте» убирает их.

Вкладка «Текст расчёта» — полный вывод расчёта со временем; ссылки на объекты переводят карту к ним.

Примеры
Регулятор не держит уставку. Плановый расчёт фрагмента 74: «Регулятор давления [(6-8 УР2ЧАП) M2 1КЗ-22А О - M2 1КЗ-22Б О] не может обеспечить давление в узле… Задано 59.0 м., получено 51.19 м., расход 0.16 т/ч». Кнопка «Исправить: Журнал регуляторов» открывает журнал на этом регуляторе: проверьте уставку и место установки.
Если не получается
- «Протокол появится после расчёта» — в этом сеансе расчётов не было; откройте сохранённый через «Сохранённые протоколы».
- Значок объекта не переводит карту — объект удалён после расчёта.
- «Помощник ИИ не ответил» — нет связи с моделью или ИИ выключен на сервере; повторите позже.
Для администратора
- Протоколы хранятся
CALC_PROTOCOL_KEEP_DAYSдней; таблицуcalculation_protocolворкер создаёт сам. - ИИ:
AI_ENABLED,AI_MODEL,ANTHROPIC_API_KEY, ограниченияAI_MAX_INPUT_CHARS,AI_MAX_OUTPUT_TOKENS,AI_TIMEOUT_S. Ответ кешируется вcalculation_protocol.ai_summaryпо языкам.
Для разработчика
- API:
GET /api/v1/calculations/protocols,/protocols/{id},/protocols/by-request/{request_id},/protocols/by-request/{request_id}/fixes.xlsx,POST /protocols/locate(до 500 объектов),POST /api/v1/ai/calc-protocol/explain. - Веб:
components/CalculationProtocol.vue, разбор и сравнение —utils/calcProtocol.ts, очистка HTML вывода —utils/protocolHtml.ts. - Тесты:
tests/components/CalculationProtocol.spec.ts,tests/utils/calcProtocol.spec.ts; API —test_calc_protocol.py,test_protocol_fixes.py,test_protocol_i18n.py,test_ai_calc_protocol.py.
