Руководство администратора — Версия 2.7.6

Административная панель Смета.Нет.Ру · 2026-08-10

Административная панель управляет:

  • ФСНБ-2022 — загрузка ZIP-архивов от Минстроя, активация версий, навигация по каталогу
  • Индексами цен — импорт XLSX от ФГИС ЦС, ручной и автоматический (робот), ночное автообнаружение квартала
  • Справочниками — кварталы, страны, регионы, ед. изм., ставки НДС, характеристики, обоснования коэффициентов
  • Привязкой НР и СП — сопоставление нормативов с работами
  • Шаблонами отчётов и НПА документами
  • ИИ-ассистентом — чаты пользователей, телеметрия подбора, модели ИИ и расходы
  • Разметкой и качеством подбора — характеристики ФСНБ деревом, RAG-примеры, оценка качества, Профи.ру
  • Пользователями — список зарегистрированных, признак «Эксперт», обращения, статистика
  • Тестированием — запуск автоматических сценариев из админки (на тестовом контуре)

Содержание

  1. 1.Вход в систему
  2. 2.Главная и навигация
  3. 3.ФСНБ
  4. 4.Импорт ФСНБ
  5. 5.Привязка НР и СП
  6. 6.Индексы цен
  7. 7.Робот загрузки ИЦ
  8. 8.Справочники
  9. 9.Технологические группы
  10. 10.Шаблоны отчётов
  11. 11.НПА документы
  12. 12.Обращения пользователей
  13. 13.Пользователи
  14. 14.Тестирование
  15. 15.Документация
  16. 16.Чаты пользователей
  17. 17.Телеметрия подбора
  18. 18.Модели ИИ и расходы
  19. 19.Разметка ФСНБ (характеристики)
  20. 20.Оценка качества подбора
  21. 21.Профи.ру
  22. 22.Продуктовая аналитика (Метрика)

1. Вход в систему

Административная панель — https://smeta.net.ru (рабочий контур) или https://smeta-admin-test.softlancer.ru (тестовый).

Форма входа

1.1. Форма входа

Поле Описание
Логин имя администратора (например admin)
Пароль пароль администратора

Кнопка: «Войти» — заблокирована при пустых полях или во время запроса; во время загрузки показывает индикатор. При неверных учётных данных под полем появляется красное сообщение.

1.2. Учётные данные

Учётные записи администраторов создаются вручную в системе. В админке нет формы регистрации — администратор не саморегистрируется. Для создания нового администратора обратитесь к ответственному за инфраструктуру.

1.3. После входа

Система запоминает вас — повторное открытие сразу попадает в кабинет (если не выходить через «Выйти»).

Открывается главная страница — статистика по системе и быстрые ссылки на разделы. Выход — кнопка «Выйти» в нижней части бокового меню.

1.4. Сессия

Срок жизни сессии — 24 часа. По истечении приложение возвращает на форму входа с сообщением «Сессия истекла».

1.5. Безопасность

  • Соединение всегда по HTTPS.
  • Передача авторизации защищена и подписана секретным ключом сервера.
  • Если у администратора в системе сменился пароль, активные сессии остаются действительными до истечения 24 часов.

2. Главная и навигация

После входа открывается главная страница и боковое меню — оно доступно со всех экранов.

Главная страница и боковое меню

2.1. Главная страница

Содержит:

  • Заголовок «Администрирование Смета.Нет.Ру».
  • Версия приложения (например, 2.6.2).
  • Виджеты статистики: количество загруженных ФСНБ, активный ФСНБ, количество пользователей, обращений.
  • Быстрые ссылки на основные разделы.

2.2. Боковое меню

Меню структурировано по группам:

Каталог ФСНБ

Пункт Назначение
🏠 Главная Возврат на главную
📚 ФСНБ Список загруженных ФСНБ, активация, удаление, навигация по каталогу

Справочники

Пункт Назначение
📅 Кварталы управление кварталами (год, номер, письмо Минстроя)
🌐 Страны управление списком стран
🗺️ Регионы управление регионами (с привязкой к ФГИС ЦС, многозонные регионы)
📏 Ед. измерения конвертация единиц (категория + множитель)
📋 Характеристики словарь характеристик для применения коэффициентов
📖 Обоснования коэф. справочник обоснований применения коэффициентов (приказы 421/пр, 571/пр, 812/пр, 774/пр)

Индексы цен

Пункт Назначение
📊 Индексы цен просмотр загруженных индексов
⬆️ Импорт ИЦ ручная загрузка XLS-файла
🤖 Робот ИЦ автоматическая загрузка из ФГИС ЦС

НР и СП

Пункт Назначение
💰 Привязка НР и СП сопоставление таблиц нормативов накладных расходов и сметной прибыли с работами ФСНБ

Загрузка

Пункт Назначение
📥 Загрузка ФСНБ импорт ZIP-архива с XML-файлами ФСНБ

Управление пользователями и обратной связью

Пункт Назначение
👥 Пользователи список зарегистрированных пользователей (только просмотр)
💬 Обращения список обращений пользователей (ошибки и предложения)
📄 НПА документы управление приказами, методиками, СП, МДС с PDF-файлами
📊 Шаблоны отчётов управление шаблонами экспорта (Стандарт / ФСНБ. Ресурсы и индексы)

ИИ-ассистент и аналитика (в боковом меню — раздел «Система»)

Пункт Назначение
Чаты пользователей просмотр диалогов пользователей с ассистентом (см. главу 16)
Аналитика чата дашборд телеметрии: эпизоды и исходы подбора (см. главу 17)
Модели ИИ доступные модели ИИ (см. главу 18)
Настройки агента параметры агента: модель, итерации, токены, матрица качества (см. главу 18)
Расход API расход по обращениям к API моделей (см. главу 18)
Расходы сводный расход ресурсов ИИ (см. главу 18)

Разметка и качество подбора (в боковом меню — разделы «Система» и «Алгоритмы»)

Пункт Назначение
Оси хар-к (ФСНБ) параметры работ для разметки ФСНБ (см. главу 19)
Разметка ФСНБ присвоение характеристик деревом (см. главу 19)
RAG-примеры база знаний подбора (см. главу 19)
Eval оценка качества подбора, кейсы, покрытие, очередь ревью (см. главу 20)
Профи.ру пайплайн каталога услуг (см. главу 21)

Тестирование

Пункт Назначение
Тестирование запуск автоматических сценариев из админки (только на тестовом контуре)

Документация

Пункт Назначение
📖 Документация ссылки на руководства (HTML / PDF / Markdown) и Release Notes

2.3. Принципы навигации

  • Клик по пункту меню — переход в соответствующий раздел.
  • Кнопка «← Назад» в шапке (если есть история) — возврат на предыдущий экран.
  • При перезагрузке страницы (F5) состояние сбрасывается на главную.

2.4. Шапка приложения

Над содержимым — название текущего раздела + кнопки действий, специфичные для каждой страницы.

В нижней части бокового меню — кнопка «Выйти».

2.5. Доступ

Ролей и прав внутри админки пока нет — авторизованный администратор видит весь интерфейс; разграничение прав запланировано. Отдельно существует признак «Эксперт» для пользователей калькулятора (см. главу 13) — он расширяет их возможности в пользовательском приложении, а не в админке.

3. ФСНБ

«ФСНБ» (Федеральная сметная нормативная база) — корневой справочник системы. Каждая загруженная ФСНБ содержит сборники (ГЭСН, ГЭСНм, ГЭСНр и т. д.), разделы, группы, работы и ресурсы.

Список ФСНБ

3.1. Список ФСНБ

Открывается по пункту меню «ФСНБ».

Колонки таблицы:

Колонка Что показано
ID внутренний идентификатор
Название например «ФСНБ-2022 (приказ Минстроя 696/пр от 12.11.2025)»
Номер приказа например «696/пр»
Дата приказа например «12.11.2025»
Статус «Активна» / «Не активна»
Кол-во сборников / разделов / работ счётчики

Действия в строке:

Кнопка Назначение
Открыть детали этой ФСНБ (см. 3.2)
Активировать / Деактивировать переключить статус
Удалить удаление ФСНБ со всеми связанными данными (с подтверждением); в процессе показывается индикатор

Кнопки страницы: + Загрузка ФСНБ — переход на форму импорта (см. главу 4).

3.2. Карточка ФСНБ

Карточка ФСНБ

Открывается из списка по «Открыть».

Шапка

  • Название ФСНБ (редактируемое).
  • Номер и дата приказа.
  • Статус.
  • Кнопки: «Сохранить» (после редактирования), «Деактивировать», «Удалить».

Сборники

Таблица: тип, название, дата создания, уровень цен. Клик переходит в карточку сборника.

Привязка НР / СП

Выпадающий список «Привязка НР/СП» — выбор активного маппинга (см. главу 5).

Расчёт НР / СП

Кнопки:

  • «Рассчитать НР/СП» — запускает расчёт для всех работ ФСНБ.
  • Прогресс — индикатор обновляется автоматически.
  • «Список нерассчитанных» — показывает работы без НР / СП.

3.3. Сборник

Сборник ГЭСН

Список разделов. Колонки: код, название, кол-во групп, кол-во работ. Поиск (для ФСБЦ_Маш, ФСБЦ_Мат) — на сервере, с задержкой ~400 мс.

3.4. Раздел

Список групп и подразделов. Иерархия раскрывается через хлебные крошки.

3.5. Группа

Список работ в группе. Колонки: код, название, единица измерения. Клик по работе открывает её карточку.

3.6. Карточка работы

Карточка работы

Полная карточка работы (только просмотр):

  • Код, название, единица измерения, сборник.
  • Ресурсы — таблица: № / Тип / Код / Название / Кол-во / Ед. Бейдж «П» для ресурсов с количеством из проекта.
  • НР / СП — таблица: НР или СП, % от ФОТ, обоснование.
  • Технологические группы — список групп с привязкой к абстрактным ресурсам.
  • Абстрактные ресурсы — материалы, замещаемые конкретными в калькуляторе через выбираемые материалы.

4. Импорт ФСНБ

Загрузка ZIP-архива с XML-файлами ФСНБ. Источник архивов — официальные публикации Минстроя на ФГИС ЦС.

Загрузка ФСНБ

4.1. Открытие

Меню → «Загрузка ФСНБ».

4.2. Загрузка файла

Поле «Выберите файл ZIP» — стандартный выбор файла, принимаются ZIP-архивы стандартного формата ФСНБ Минстроя (с XLSM-файлами по сборникам и спецификациями XML).

Кнопка «Загрузить» — отправляет архив на сервер. После загрузки запускается фоновый процесс импорта.

4.3. Список загрузок

Колонка Что показано
Имя файла как загружено пользователем
Размер в МБ
Дата загрузки
Статус «Загружен» / «Импортируется» / «Готов» / «Ошибка»
Прогресс прогресс-бар при импорте

Прогресс импорта обновляется автоматически. Показывает:

  • % выполнения общего импорта;
  • Текущий шаг (например, «Импорт ГЭСН: раздел 5 из 67»);
  • Количество обработанных строк.

4.4. Обработка ошибок

При ошибке статус меняется на «Ошибка», в детальной строке выводится сообщение. Типичные ошибки:

  • «Файл не является ZIP» — неверный формат файла.
  • «Не найден файл XLSM» — структура ZIP не соответствует ожидаемой.
  • «Конфликт ссылок» — попытка удалить ФСНБ, на которую ссылаются индексы цен.
  • «Слишком длинное значение» — поле в XLSM длиннее допустимого.

4.5. После успешного импорта

  • Загруженная ФСНБ появляется в списке.
  • Статус — «Не активна» по умолчанию. Активировать вручную.
  • Расчёт НР / СП — отдельным шагом (см. главу 5).

4.6. Что включено в импорт

Сущность Источник в архиве
Сборник заголовочные листы
Раздел таблицы разделов
Группа подзаголовки
Работа строки расценок (с обоснованием, единицей измерения, разрядом)
Ресурсы оплата труда, эксплуатация машин, материалы по каждой работе
Базисные цены ресурсов из сборников ФСБЦ_Маш и ФСБЦ_Мат
Технологические группы раздел технологических групп
Абстрактные ресурсы шаблоны материалов в работах
Ставки НР / СП через отдельную привязку (см. главу 5)

4.7. Размер и время

Полный импорт ФСНБ-2022 занимает 5–15 минут на тестовом контуре и до 30 минут на рабочем (зависит от ресурсов сервера). Размер архива — обычно 50–80 МБ.

Во время импорта система остаётся работоспособной, но активный ФСНБ не меняется до явной активации.

5. Привязка НР и СП

«НР / СП» (накладные расходы и сметная прибыль) — нормативные процентные ставки от ФОТ, применяющиеся к каждой работе. В ФСНБ они не приходят в составе работы напрямую — их нужно сопоставить из таблиц приказа Минстроя 812/пр (НР) и 774/пр (СП).

Меню → «Привязка НР и СП» (раздел «Алгоритмы»).

Привязка НР и СП

5.1. Открытие

Меню → «Привязка НР и СП».

5.2. Список привязок

Колонки таблицы:

Колонка Что показано
ID
Название например «Стандартный (812/пр_2020 + 774/пр_2020)»
Кол-во строк сколько кодов работ покрыто
Активна флаг

Действия: Открыть / Удалить / Скачать XLSX / Загрузить XLSX.

5.3. Создание новой привязки

Кнопка «+ Новая привязка» открывает форму:

  • Название привязки.
  • Файл XLSX — таблица с колонками: код работы / процент НР / процент СП / обоснование НР / обоснование СП.

После загрузки система разбирает XLSX и создаёт записи привязки.

5.4. Применение привязки

В карточке ФСНБ (см. главу 3) у каждой ФСНБ — выпадающий список «Привязка НР / СП». Выбор привязки и кнопка «Рассчитать НР/СП» запускает расчёт.

Система проходит по всем работам ФСНБ и для каждой создаёт записи НР и СП с процентами и обоснованиями из привязки.

Прогресс отображается в виде полосы.

5.5. Структура XLSX-файла

Шапка таблицы:

Код Вид работ НР % НР обоснование СП % СП обоснование
15 Отделочные работы 100 812/пр_2020_прил.т_п.15 60 774/пр_2020_прил.т_п.15
49.3 Электромонтажные 97 812/пр_2020_прил.т_п.49.3 51 774/пр_2020_прил.т_п.49.3

Сопоставление по коду вида работ (первая колонка) — система соотносит с кодом группы или работы в ФСНБ.

5.6. Множественные пары

Одна работа может иметь несколько пар «НР + СП» (например, для разных видов: монтажный + ремонтный). В таком случае в XLSX повторяются строки с одинаковым кодом.

В смету пользователя всегда попадает ровно одна пара (с версии 2.7.0). Если вариантов несколько, при добавлении работы берётся пара с минимальным процентом НР (тай-брейк: минимальный СП, затем шифр), пользователь видит пометку «выбран минимальный норматив» и может сменить привязку вручную (см. руководство пользователя, главы 6 и 7.7). Ручной выбор пользователя сохраняется в смете и не перезатирается пересчётами.

Практическое следствие для администратора: порядок и состав дублирующихся строк в XLSX влияет на автоматический выбор. Если по коду загружены лишние или ошибочные виды работ, сметы систематически получат заниженный НР — выверяйте дубли по коду перед загрузкой.

5.6.1. Лечение смет, созданных до 2.7.0

Сметы, сгенерированные раньше, содержат в БД все пары сразу и завышают итог. Разовое лечение выполняется DML-скриптом docs/migrations/v2.7.0-d2-nrsp-collapse.sql (репозиторий admin-backend):

  • скрипт идемпотентен — повторный запуск безопасен;
  • перед удалением лишних пар делается резервная копия в таблицу backup_smeta_nr_sp_d2не удалять её до приёмки релиза;
  • после прогона обязателен пересчёт итогов смет (см. §5.6.2) — иначе в списке смет останутся старые суммы;
  • порядок: TEST → проверка → PROD (только в согласованное окно).

Пользователь после этого увидит в смете информационный баннер об уменьшении итога — руками чинить ничего не нужно.

5.6.2. Пересчёт итогов: как читать отчёт

Пересчёт запускает приложение smeta-user-backend:

POST http://<хост-контура>/api/internal/recalc-all

Массовый вызов на PROD — только в согласованное окно.

⚠️ Открытие сметы в интерфейсе пользователя итоги НЕ пересчитываетGET /api/smeta/{id} только читает, ни одной записи в БД не делает. Не считайте смету вылеченной на том основании, что её открыли. Точечная альтернатива массовому пересчёту одна: попросить владельца сметы открыть у нужной работы «Сменить привязку» и повторно применить уже выбранный вариант — привязка не изменится, а итоги работы, раздела и сметы пересчитаются (подробнее — §5.6.3).

⚠️ Endpoint работает без аутентификации — звать только изнутри контура, снаружи не дёргать.

Смотреть надо на тело ответа, а не только на код возврата. В версиях до 2.7.0 пересчёт отдавал 200 «Пересчитано смет: N», даже если часть итогов не посчиталась и была затёрта в пустое значение (на TEST 21.07 так потерялись итоги 37 работ в 5 сметах). С 2.7.0 ответ — JSON-отчёт:

Поле Что означает
smetaCount сколько смет обработано
rabotaFailedCount по скольким работам расчёт не удался
smetaFailedCount по скольким сметам не удалось поднять сумму наверх
failedRabotaIds / failedSmetaIds перечень идентификаторов (усечён до 200 — об усечении сказано в message; полный перечень в журнале smeta-user-backend)
message текстовая сводка

Как читать:

  • HTTP 200, rabotaFailedCount = 0, smetaFailedCount = 0 — пересчитано полностью, идти дальше по процедуре;
  • HTTP 500 с тем же отчётом в теле — часть работ не посчиталась. Итоги этих работ не пересчитаны, но и не затёрты: прежние значения остались на месте, деньги в смете не «схлопываются» в пустоту.

Ненулевой rabotaFailedCount на PROD — СТОП процедуры: разобрать причину по стеку в журнале smeta-user-backend (строки [recalc] rabotaId=…), устранить, повторить пересчёт. На TEST — то же самое, но без остановки окна.

Контрольный запрос после пересчёта (до сверки сумм) — сколько работ вылеченных смет осталось без итога:

SELECT count(*) FROM smeta_rabota r
  JOIN smeta_razdel z ON z.id = r.razdel_id
 WHERE z.smeta_id IN (SELECT id FROM smeta WHERE nr_sp_collapsed_at IS NOT NULL)
   AND r.itogo_summa IS NULL;

Ожидание — только заведомо пустые работы (без ресурсов и цен). Внезапный рост этого числа после пересчёта = потеря итогов, откатывать по блоку ОТКАТ в самом скрипте миграции.

5.6.3. Смены привязки в версиях 2.7.0 — 2.7.4: итоги надо пересчитать

В этих сборках смена привязки НР/СП пользователем сохраняла новую пару вместе со старым итогом работы: проценты и суммы НР/СП в БД обновлялись, а itogo_summa работы оставалась посчитанной по предыдущей паре. Расхождение поднималось в итог раздела, сметы и в выгрузку XLSX; обновление страницы его не лечило, ошибка «отставала ровно на одну смену».

Исправлено в smeta-user-backend. Выкат кода лечит только последующие действия — уже сохранённые итоги остаются неверными, их надо пересчитать.

Кандидаты на пересчёт — сметы, где вид работ выбирал человек:

SELECT DISTINCT z.smeta_id
  FROM smeta_nr_sp p
  JOIN smeta_rabota r ON r.id = p.rabota_id
  JOIN smeta_razdel z ON z.id = r.razdel_id
 WHERE p.origin = 'USER';

Выборка шире реально затронутых: origin = 'USER' ставится и когда вид работ выбрали прямо при добавлении работы (такие итоги верны). Лишний пересчёт безвреден, поэтому уточнять её не нужно.

Лечение — тот же пересчёт итогов, что и после DML-лечения: массово по §5.6.2 либо точечно (пользователь открывает «Сменить привязку» и повторно применяет уже выбранный вариант — привязка не меняется, итоги работы, раздела и сметы пересчитываются).

На PROD массовый пересчёт — только в согласованное окно и со снятыми суммами смет до и после: у смет, ссылающихся на отсутствующий индекс цен (сплит-форму), пересчёт даёт «законный ноль» — итог обнуляется, а отчёт остаётся зелёным (rabotaFailedCount = 0).

5.7. Ручное редактирование

В таблице привязки можно вручную править строки (если зайти через «Открыть»):

  • Колонки кликабельны для редактирования на месте.
  • Кнопка — удалить строку.
  • Кнопка «+ Добавить» — новая строка с пустыми полями.

Сохранение — пополе. Изменения не пересчитывают уже посчитанные НР / СП — нужно повторно запустить «Рассчитать НР/СП» в карточке ФСНБ.

5.8. Привязка по умолчанию

При первом запуске системы привязка создаётся вручную (загрузить XLSX или попросить готовый файл от Минстроя). Значений по умолчанию нет.

5.9. Особенности 2.2.21

В 2.2.20+ добавлены коэффициенты 812/пр_2020_п.25 (НР × 0,9) и 774/пр_2020_п.16 (СП × 0,85), применяемые при капитальном ремонте через ГЭСН вместо ГЭСНр. Их не нужно включать в привязку — это отдельные обоснования (см. главу 8 «Справочник обоснований»). Они применяются сверх базовых ставок.

6. Индексы цен

«Индексы цен» (раньше называлось «Сплит-форма») — таблицы пересчёта базисных цен ресурсов в текущие. Каждая запись = ресурс × регион × квартал → текущая цена + индекс.

Индексы загружаются напрямую с ФГИС ЦС по паре «регион + квартал»: администратор выбирает регион и квартал, система сама формирует ссылку, скачивает сплит-форму (xlsx) и разбирает её. Загрузки файлом с компьютера в системе нет.

Список индексов цен

6.1. Открытие

  • Меню → «Индексы цен» — список загруженных индексов и их содержимое.
  • Меню → «Импорт ИЦ» — загрузка индексов нового региона/квартала.

6.2. Список импортов

Колонки таблицы:

Колонка Что показано
Регион код ценовой зоны и название региона
Квартал номер квартала (Q1…Q4) и название, например «4 квартал 2025 г.»
Ресурсов сколько строк загружено
Дата импорта когда выполнена загрузка
Статус кнопка «Активно» / «Не активно»

Действия:

Действие Как Что делает
Открыть содержимое клик по строке раскрывает панель ресурсов (см. 6.4)
Переключить статус клик по кнопке в колонке «Статус» «Не активно» ↔︎ «Активно»; на время запроса кнопка заблокирована

Удаления индексов в интерфейсе нет — повторный импорт той же пары «регион + квартал» полностью заменяет данные (см. 6.8).

6.3. Фильтры

Фильтр Что фильтрует
Страна ограничивает список регионов
Регион конкретный регион (в скобках — код ценовой зоны ФГИС ЦС)
Квартал сгруппирован по годам; в скобках — код периода ФГИС ЦС

6.4. Панель ресурсов

Открывается кликом по строке списка. Сверху — поиск по коду или наименованию ресурса, справа — общее число строк.

Колонки: Код ресурса, Наименование, Ед.изм, Отп. цена 01.01.2022, Смет. цена 01.01.2022, Гр., Наименование группы, Смет. цена текущая, Индекс.

Заполнены не все колонки у всех строк, и это нормально:

  • у машин и механизмов обычно есть текущая сметная цена и нет индекса;
  • у материалов — отпускная и базисная цены плюс индекс пересчёта.

Панель — основной способ убедиться, что импорт действительно привёз данные, а не создал пустой заголовок: найдите знакомый код (например 91.05.05-015) и проверьте, что цены непустые.

6.5. Импорт индексов с ФГИС ЦС

Импорт индексов цен

Меню → «Импорт ИЦ».

  1. СтранаРегион. Под полем зелёным выводятся собранные параметры: priceZoneId (Код ФСНБ региона) и countrySubjectId (ФГИС ЦС ID региона).
  2. Квартал (список сгруппирован по годам). Под полем — periodId (Код ФСНБ квартала).
  3. Появляется блок «URL для скачивания» — та самая ссылка на ФГИС ЦС, которая будет вызвана, и предупреждение: «Существующие данные для выбранных региона и квартала будут удалены и заменены новыми».
  4. Сверьте параметры до нажатия кнопки — особенно periodId: именно он определяет квартал, данные которого будут перезаписаны (см. 6.8).
  5. Кнопка «Скачать и импортировать» запускает процесс. Кнопка неактивна, пока не выбраны регион и квартал или пока не хватает кодов ФГИС ЦС.

Экран прогресса (не закрывайте и не перезагружайте вкладку до конца — прогресс хранится по идентификатору задания в памяти сервера):

  • строка фазы: «Проверка параметров…» → «Удаление старых данных…» → «Скачивание файла с ФГИС ЦС…» → «Импорт: N строк прочитано…» → «Завершено»;
  • два счётчика: «Прочитано строк» и «Записано в БД» (в норме совпадают — расходятся только за счёт пропущенных пустых строк файла);
  • ссылка на источник — то, что реально скачивается.

Терминальные состояния:

Состояние Что значит Что делать
Готово данные загружены перейти к активации (6.7)
Ошибка текст ошибки на экране см. 6.6 и 6.8

Типичные тексты ошибок: HTTP 404/500 при скачивании файла с ФГИС ЦС — проблема на стороне внешнего источника (повторить позже); не задан Код ФСНБ / «Регион не найден» / «Квартал не найден» — не заполнены справочники (см. 6.6).

Загрузка одного крупного региона занимает порядка полминуты (файл ~8 МБ, сотни тысяч строк); ограничение на скачивание — 10 минут.

6.6. Что должно быть заполнено в справочниках

Импорт возможен, только если заданы три кода ФГИС ЦС:

Код Где заполняется Роль в ссылке
Код ФСНБ региона справочник «Регионы» (глава 8) priceZoneId
ФГИС ЦС ID региона справочник «Регионы» countrySubjectId
Код ФСНБ квартала справочник «Кварталы» periodId

Если чего-то не хватает, пункт списка помечается «⚠ нет кодов ФГИС» / «⚠ нет Кода ФСНБ» и недоступен для выбора, а вместо URL показывается красный блок «Невозможно сформировать URL». Это же — признак испорченного справочника: если ранее доступный квартал вдруг стал недоступен, сначала проверьте его карточку, а не источник.

Кварталы прошлых периодов ФГИС ЦС отдаёт наравне с текущим — восстановить индексы за уже прошедший квартал можно в любой момент (проверено на 4 квартале 2025 г.).

6.7. Активация — обязательный шаг после импорта

Импорт всегда создаёт запись со статусом «Не активно» и сам её не активирует. Это относится и к загрузке вручную, и к работе робота (глава 7).

Пользовательское приложение показывает в форме создания сметы только активные индексы: пока статус не переключён, ни регион, ни квартал в списках у сметчика не появятся, хотя данные уже в базе.

Итого после импорта: список «Индексы цен» → найти новую строку → нажать кнопку статуса → «Активно».

Активных индексов у одного региона может быть несколько (разные кварталы) — это штатное состояние, конфликта не создаёт: сметчик выбирает нужный квартал сам. Деактивация делает индекс невидимым для новых смет, но не влияет на уже созданные — в смете регион и квартал фиксируются при создании и не меняются.

6.8. Перезапись данных: что важно знать

  • Импорт удаляет данные строго по паре «регион + квартал» и загружает их заново. Другие регионы и другие кварталы того же региона не затрагиваются.
  • Удаление выполняется до скачивания файла. Отсюда два следствия:
    • ошибка в выборе квартала уничтожает уже загруженные данные раньше, чем система обратится к ФГИС ЦС — поэтому сверка periodId на шаге 4 (6.5) обязательна;
    • обрыв связи оставляет пустой заголовок (0 ресурсов, «Не активно») — это нормальное состояние отката.
  • Повторный запуск безопасен и идемпотентен: он снова чистит пару и грузит заново. Перед повтором дождитесь завершения предыдущего задания.
  • Не перезапускайте сервис администрирования во время импорта — прогресс задания хранится в памяти и будет потерян (данные останутся в том состоянии, в котором прервались).

6.9. Как добавить или восстановить квартал (типовая процедура)

  1. «Импорт ИЦ» → Страна → Регион → Квартал; сверить priceZoneId / countrySubjectId / periodId и URL.
  2. «Скачать и импортировать» → дождаться «Завершено»; убедиться, что «Прочитано» и «Записано» совпадают и это десятки–сотни тысяч строк (несколько сотен строк — признак неполной загрузки, импорт повторить).
  3. «Индексы цен» → новая строка → переключить статус на «Активно».
  4. Клик по строке → в панели ресурсов найти пару кодов и проверить, что цены и индексы непустые.
  5. Проверить пользовательскую сторону: у сметчика в окне «Новая смета» для этого региона появился нужный квартал и смета на нём создаётся.

Ориентир по объёму: Московская область, 4 квартал 2025 г. — 165 716 строк, загрузка заняла около 36 секунд.

6.10. Состав сплит-формы зависит от квартала

Число строк в формах разных кварталов одного региона может заметно отличаться (например, 165 716 за 4 квартал 2025 г. против 281 327 за 2 квартал 2026 г. по Московской области — расхождение даёт в основном блок перевозок). Это свойство самих файлов ФГИС ЦС, а не признак неполного импорта. Критерий корректности загрузки — совпадение счётчиков «Прочитано» и «Записано» и статус «Завершено».

6.11. Состав файла ФГИС ЦС

Разбирается первый лист книги, данные читаются с 17-й строки (выше — шапка формы). Строки без кода ресурса пропускаются. Колонки:

Колонка Содержимое
A код ресурса
B наименование
C единица измерения
D отпускная цена на 01.01.2022
E сметная цена на 01.01.2022
F номер группы
G наименование группы
H сметная цена текущая
I индекс

Числа принимаются и в формате 1 167,70, и в формате 1,167.70; нечисловое значение сохраняется как пустое.

6.12. Связь с ФСНБ

Каждый ресурс в индексе цен ссылается на запись из ФСНБ по коду. Если в активной ФСНБ нет такого кода, цена применяется через справочную текущую цену (без индекса). Это нормальное поведение для не-ФСНБ ресурсов (например, перевозок «47-1», «47-2»).

7. Робот загрузки ИЦ

«Робот ИЦ» — автоматическая загрузка индексов цен по всем регионам России из ФГИС ЦС. Запускается ночью или вручную.

Робот ИЦ

7.1. Открытие

Меню → «Робот ИЦ».

7.2. Таблица задач

Каждая задача — пара (регион + квартал), которая должна быть загружена.

Колонка Что показано
ID внутренний идентификатор
Регион название
Квартал например «4 квартал 2025 г.»
Статус «Новая» / «В работе» / «Ошибка» / «Успех»
Сообщение для статуса «Ошибка» — текст ошибки
Создано
Обновлено

Действия:

Кнопка Назначение
Запустить в строке — запустить эту задачу; если статус «Ошибка», перезапуск
Удалить очистить задачу

7.3. Создание задач для квартала

Кнопка «+ Создать задачи для квартала» открывает форму:

Поле Описание
Квартал выбор из существующих

После выбора создаются по одной задаче для каждого региона (со статусом «Новая»). Это пакетная операция, после которой можно запустить робота.

Внимание: операция массовая и перезаписывающая. Задачи заводятся на все регионы (их около 170), и робот отработает их сам в ближайшее ночное окно. Загрузка каждой задачи — это тот же импорт, что и в главе 6: он сначала удаляет уже загруженные индексы пары «регион + квартал» и только потом обращается к ФГИС ЦС. Если по какому-то региону файл не скачается, ранее загруженные индексы этого квартала окажутся потеряны, а на их месте останется пустой заголовок.

Поэтому: заводите задачи на квартал осознанно, когда действительно нужно обновить всю страну. Чтобы догрузить один регион или один квартал, пользуйтесь экраном «Импорт ИЦ» (см. 6.9) — он затрагивает ровно одну пару.

7.4. Расписание

Робот настроен на автоматический запуск:

  • Окно работы — ночь, с 02:00 до 05:00 по часовому поясу сервера (обычно московское время); внутри окна робот просыпается каждые 10 минут.
  • Алгоритм (за одно срабатывание — одна задача):
    1. Берёт одну задачу со статусом «Новая» или «Ошибка» (по очереди создания).
    2. Меняет статус на «В работе».
    3. Запускает загрузку и разбор файла из ФГИС ЦС.
    4. После успеха — «Успех». После ошибки — «Ошибка» с сохранением сообщения.
    5. Следующее срабатывание берёт следующую задачу — и так, пока в очереди есть «Новые» и «Ошибки» либо пока окно не закроется.

Если задач со статусом «Новая» или «Ошибка» нет, робот ночью ничего не делает и загруженные индексы не трогает.

Загруженные роботом индексы остаются «Не активными». Робот, как и ручной импорт, не активирует записи — после его работы зайдите в «Индексы цен» и переключите статус нужных строк на «Активно» (см. 6.7), иначе сметчики новый квартал не увидят.

7.5. Обновление статусов

При открытии страницы статусы задач обновляются автоматически — изменения отображаются в таблице без перезагрузки.

7.6. Журнал

Каждое действие робота записывается в журнал сервера. Формат:

[Робот] Взята задача id=42, регион=Московская область, квартал=4кв 2025
[Робот] Загрузка из ФГИС ЦС…
[Робот] Задача id=42, успех, импортировано 1234 ресурса

При ошибке — стек ошибки с пометкой «[Робот] ОШИБКА».

7.7. Известные ошибки

Сообщение Причина Решение
«Тайм-аут соединения с ФГИС ЦС» сайт ФГИС ЦС недоступен повторить через час
«Файл не найден» публикация для региона+квартала ещё не выпущена ждать релиза квартала
«Конфликт ссылок» удалена запись индекса во время загрузки проверить целостность данных
«Не задан идентификатор региона в ФГИС ЦС» у региона не заполнен внутренний идентификатор ФГИС ЦС заполнить через справочник «Регионы» (см. главу 8)

7.8. Ручной запуск

Кнопка «Запустить все задачи» вверху страницы — последовательно проходит по всем задачам со статусом «Новая» и «Ошибка». Используется для ручного восстановления после массовой ошибки.

7.9. Особенности на рабочем контуре

На рабочем контуре робот может работать несколько часов (если квартал свежий и нужно загрузить ~85 регионов). Это нормально. Систему он не перегружает — задачи выполняются последовательно по одной.

7.10. Ночные роботы обнаружения (новое в 2.6.2)

Помимо робота загрузки индексов, в системе работают роботы обнаружения — они автоматически следят за появлением новых данных и сообщают администратору. Работают в ночном окне 02:00–05:00.

Автообнаружение нового квартала индексов

Робот периодически проверяет ФГИС ЦС на публикацию индексов нового квартала.

  • При обнаружении нового квартала он заводит его автоматически, после чего можно запускать загрузку индексов (см. 7.3).
  • Это полная автоматизация: администратору не нужно вручную отслеживать выход новых кварталов.

Детект новой редакции ФСНБ

Робот следит за реестром нормативной базы (ФРСН) на появление новой редакции ФСНБ. Запуск — ежедневно в 03:00; вручную — кнопкой «Проверить сейчас» на экране «Загрузка ФСНБ».

Как робот определяет новейшую редакцию (уточнено в 2.7.0). Реестр ФРСН не отсортирован — запись более нового приказа может лежать раньше более старого. Поэтому робот выбирает новейшую редакцию по дате приказа (при равных датах — по более поздней записи реестра), а не по порядку записей. Затем сверяет её с уже загруженными редакциями по трём признакам: номер приказа (нормализованный — 696пр и 696/пр считаются одним приказом), дата приказа и номер дополнения (доп. №18 и доп. №18.1 — разные редакции, даже если приказ один и тот же).

Что администратор видит в журнале:

Статус Когда Что делать
FOUND_NEW новейшая по дате редакция ещё не загружена скачать ZIP редакции с ФГИС ЦС вручную и импортировать (см. главу 4)
NO_NEW новейшая по дате редакция уже загружена ничего
ERROR реестр ФРСН недоступен или ответ не разобран повторить проверку позже

Строка FOUND_NEW называет редакцию однозначно — номер приказа, дату приказа и номер дополнения, например: «Новая редакция ФСНБ: доп. №18.1, приказ 435/пр от 09.07.2026».

  • Если скачивание заблокировано проверкой (captcha), робот всё равно фиксирует факт появления редакции и сообщает о нём — импорт выполняется вручную (см. главу 4).
  • Записи реестра, у которых дату приказа разобрать не удалось (старые записи без приказа в названии), в выборе не участвуют, но не теряются молча — их количество указывается в сообщении журнала.

Ограничение. Сверка «запись реестра ↔︎ загруженная редакция» выполняется по признакам из названия (приказ + дата + дополнение), прямой ссылки на запись реестра в базе пока нет. Если название загруженной редакции заполнено вручную и сильно отличается от реестрового, возможен повторный FOUND_NEW на уже загруженную редакцию — заполняйте название при импорте в формате реестра.

Журнал обнаружений

Все срабатывания роботов обнаружения записываются в журнал (robot_discovery_log) — что и когда было найдено. Журнал помогает убедиться, что система вовремя замечает новые кварталы и редакции.

8. Справочники

В админке поддерживаются несколько справочников, влияющих на расчёты и интерфейс пользовательского приложения.

8.1. Кварталы

Справочник кварталов

Справочник кварталов: год, номер (1–4), название, дополнительные поля.

Колонки таблицы

Колонка Описание
ID внутренний
Год например 2025
Номер 1 / 2 / 3 / 4
Название например «4 квартал 2025 г.»
Письмо Минстроя — название нормативное основание
Письмо Минстроя — номер
Письмо Минстроя — дата
Код ФСНБ код для ФГИС ЦС

Действия

Кнопка Назначение
+ Создать окно с формой
Редактировать в строке — окно
Удалить если на квартал не ссылаются индексы — удаляет; иначе показывает ошибку

Поля формы (создание/редактирование)

  • Год / Номер / Название (генерируется автоматически из года и номера, можно переопределить).
  • Письмо Минстроя: название (полное), номер, дата (для отчёта «02 ФСНБ»).
  • Код ФСНБ.

8.2. Страны

Простой справочник: ID, код (ISO), название.

Действие Описание
+ Создать окно
Редактировать окно
Удалить если нет регионов — удаляет

8.3. Регионы

Справочник регионов

Список регионов России (и других стран при расширении).

Колонка Описание
ID
Страна связь со справочником стран
Код например «RU-MOW»
Название «Москва»
Идентификатор ФГИС ЦС для робота загрузки индексов цен
Код ФСНБ для импорта индексов

В версии 2.0.0 справочник регионов России заполнен (с учётом многозонных — берётся первая зона).

Особенности

  • Идентификатор ФГИС ЦС обязателен для работы робота (см. главу 7).
  • Многозонные регионы (Якутия, Красноярский край, Иркутская область, Дальний Восток) — добавлены отдельные строки для каждой зоны.
  • Удаление региона невозможно, если есть индексы цен; нужно сначала удалить их.

8.4. Единицы измерения

Справочник единиц измерения

Конвертация единиц для подмены выбираемых материалов (см. руководство пользователя, главу 10).

Колонка Описание
Из например «кг»
В например «т»
Множитель 0,001 (для кг → т)
Категория масса / длина / площадь / объём / прочее

Создание / редактирование / удаление через окна.

Используется системой при подмене абстрактного ресурса конкретным с другой единицей измерения.

Это не «удобство», а условие подбора. С версии 2.7.2 количество выбираемого материала хранится в единицах абстрактного ресурса, а в смету идёт умноженным на множитель из этого справочника. Нет пары единиц — количество вычислить нечем, поэтому материал не подбирается автоматически и не выбирается вручную (кнопка «Применить» у пользователя заблокирована), а у ресурсов «количество определяется проектом» позиция считается нулевой суммой с пометкой «⚠ ед.изм. не переводится». Полнота этого справочника — администраторская задача, и она влияет на деньги в смете.

Особенности

  • Множитель применяется к количеству независимо от источника — и к норме расхода из ФСНБ, и к количеству, заданному пользователем (с 2.7.2). До 2.7.2 два источника жили по разным правилам, из-за чего на паре т/кг смета расходилась в 1000 раз (дефект D-24); формулировка «множитель только к норме» из 2.7.1 отменена.
  • Пользователь по-прежнему вводит количество в единицах выбранного материала — приведение к единицам абстрактного ресурса система делает при сохранении. У ресурсов с признаком «количество определяется проектом» поля ввода нет вовсе: количество берётся из ВОР (руководство пользователя, 10.8).
  • Смена материала на материал в других единицах внутри окна выбора: множитель приводит уже введённое количество к новой единице, чтобы физический объём не изменился (пользователю это видно как «⇄ пересчитано из 20 кг»).
  • Достаточно одной строки на пару: обратное направление система считает как 1 / множитель.
  • Нет пары — нет подбора. Так разбираются три обращения:
Обращение пользователя Что смотреть
«в окне выбора не подставляется количество и не нажимается „Применить“» найдите единицу абстрактного ресурса и единицу материала, добавьте пару — поведение восстановится без перезапуска
«материал не подобрался сам, стоит „⚠ не подобран“» автоподбор берёт кандидата с совпадающей единицей, иначе — с переводимой; если ни того, ни другого нет, он намеренно не подставляет ничего
«позиция в смете стоит нулевой суммой, пометка „⚠ ед.изм. не переводится“» ресурс «из проекта», пары единиц нет; после добавления пары сумма появится при ближайшем пересчёте сметы
  • Пару, которой не существует физически (например «м3 → шт» — штуки из кубометров без объёма изделия не выводятся), в справочник добавлять нечего: здесь верное действие — подобрать материал в единице абстрактного ресурса.

8.5. Характеристики

Меню → «Характеристики» (раздел «Алгоритмы»).

Справочник характеристик

Словарь характеристик объекта, сметы, раздела и работы (см. руководство пользователя, главу 11).

Колонка Описание
Код например «altitude_m»
Название «Высота над уровнем моря, м»
Тип Логический / Целое / Дробное / Список
Категория для группировки в форме
Описание подсказка в интерфейсе
По умолчанию значение по умолчанию
Уровни на каких уровнях может задаваться (объект, смета, раздел, работа)
Активна флаг

Для типа «Список» — отдельный справочник пар «код → название».

8.6. Обоснования коэффициентов

Меню → «Обоснования коэф.» (раздел «Алгоритмы»).

Справочник обоснований коэффициентов

Справочник обоснований применения поправочных коэффициентов (см. руководство пользователя, главу 8). Используется в калькуляторе при выборе обоснования.

Колонки таблицы

Колонка Описание
Код например «421/пр_2020_п.58_пп.б»
Нормативный документ приказ Минстроя (421/пр_2020, 571/пр_2022, 812/пр_2020, 774/пр_2020)
Название заголовок
Тип Технологический / ВСПМ / Перевозка / Снижение производительности / Повышенный ОТ / Коэф. НР / Коэф. СП / Прочее
Сборники к каким типам работ применим («ГЭСН, ГЭСНм» или «*» — везде)
Активен флаг

Форма редактирования

Полная форма с вкладками:

  • Основное: код, название, описание, нормативный документ, тип, сборники, активность, типы объектов, ссылка на раздел в PDF.
  • Значения: какие элементы (ОТ / ЭМ / ОТм / МАТ / НР / СП) и как (множитель × N / по расчёту / по диапазону / процент от другого элемента) применяются.
  • Режим объединения: как несколько применённых коэффициентов взаимодействуют (умножение / максимум / альтернатива).
  • Альтернативная группа: код группы — внутри одной группы можно выбрать только один.
  • Исключения: какие коэффициенты отменяет.
  • Связи с характеристиками: какие характеристики делают этот коэффициент применимым.

Связь с характеристиками

В форме обоснования можно задать связи с характеристиками: «применимо, если тип объекта = ремонт» или «применимо, если высота над уровнем моря > 1500». При выборе обоснования в калькуляторе значение из диапазона может предвыбираться.

В версии 2.2.21 эта функциональность присутствует в схеме данных, но автозаполнение в интерфейсе ещё не активно.

8.7. Резервная копия перед массовым редактированием

Перед массовым обновлением справочников (особенно обоснований) рекомендуется бэкап базы данных. Изменения в справочнике обоснований сразу влияют на все будущие применения коэффициентов в калькуляторе.

9. Технологические группы

«Технологическая группа» — справочник, объединяющий конкретные ресурсы для замены абстрактных в работах. Например, ТГ «28.18.023» = «Плитки керамогранитные» содержит варианты разных производителей и размеров.

В админке доступен только просмотр (чтобы отлаживать выбор материалов в пользовательском приложении).

Технологические группы доступны из карточки ФСНБ или работы

9.1. Доступ к технологическим группам

Отдельного пункта меню нет — список технологических групп доступен:

  • из карточки ФСНБ (см. главу 3.2) — кнопка «Технологические группы»;
  • из карточки работы (см. главу 3.6) — раздел «Технологические группы» внизу страницы — клик по конкретной группе открывает её содержимое.
Колонка Описание
ID внутренний идентификатор
Код ТГ например «28.18.023»
Название «Плитки керамогранитные»
ID ФСНБ к какой версии ФСНБ привязана
Кол-во ресурсов в группе

Поиск по коду или названию.

9.2. Содержимое группы

Клик по строке ТГ — список конкретных ресурсов:

Колонка Описание
порядковый
Код ресурса например «06.2.05.03-0003»
Название полное наименование
Ед. изм.
Базисная цена
Тек. цена если есть в активном индексе
Индекс

Используется для проверки: какие конкретные коды доступны для замены абстрактного ресурса в окне выбора материала пользовательского приложения.

9.3. Откуда берутся технологические группы

Загружаются вместе с ФСНБ при импорте ZIP (см. главу 4). В файлах ФСНБ есть отдельный лист с описанием технологических групп и их составом.

В админке группы только для просмотра — редактирование не предусмотрено (структура задаётся Минстроем).

9.4. Связь с абстрактными ресурсами

Каждый абстрактный ресурс работы имеет привязку к технологической группе (одной или нескольким). Например, для абстрактного ресурса «Плиты керамогранитные» в работе ГЭСН 11-01-047-01:

технологические группы: 28.18.023

Система ищет все ресурсы для этой группы, выбирает первый подходящий (или предпочитает того, у кого есть индекс цены). Пользователь может переопределить через окно выбора материала.

9.5. Использование при отладке

Если в калькуляторе в выбираемых материалах выбран не тот материал (например, показывается «Дно колодца» вместо «Плитка керамогранитная») — проверьте:

  1. Связь абстрактного ресурса с правильной технологической группой.
  2. Содержимое группы в этом разделе — нужный ресурс есть в списке.
  3. Если ресурс есть, но не выбирается — система выбирает по «первой попавшейся» цене. Решение — пользователь явно выбирает в окне выбора материала (выбор сохраняется в конкретной смете).

9.6. Пустая технологическая группа (с версии 2.7.1)

В колонке «Кол-во ресурсов» встречаются группы с 0. Это штатное состояние справочника, а не сбой импорта: в активной редакции ФСНБ пустых групп около четверти (1 653 из 6 710). Разметка групп задаётся Минстроем, в админке не редактируется, донаполнение вручную не предусмотрено.

Раньше пустая группа приводила к тупику в калькуляторе: у абстрактного ресурса не было ни материала, ни кнопки подбора, а его стоимость выпадала из сметы. С версии 2.7.1 это закрыто на стороне пользовательского приложения:

  • если группа пуста, калькулятор ищет материалы в группе кода каталога ФСБЦ — коды вида 04.3.01.12-0001, -0002 … для абстрактного кода 04.3.01.12 (такой канал закрывает ≈76 % «осиротевших» абстрактных кодов);
  • при добавлении новой работы подходящий материал (совпадает единица измерения, есть цена в текущих индексах, первый по коду) подставляется автоматически и помечается пользователю бейджем «авто»;
  • в уже существующих сметах ничего не подставляется и суммы не меняются — пользователь подбирает материал сам кнопкой «🔍 Подобрать»;
  • если и группа кода пуста, пользователю остаются поиск по каталогу и ручной ввод.

Обращение вида «материал не считается в смете». Порядок проверки: открыть группу абстрактного ресурса в этом разделе → если ресурсов 0, это ожидаемо, и пользователю нужно подобрать материал в окне выбора (руководство пользователя, глава 10); если ресурсы есть, но не выбираются — см. 9.5.

Аварийный рубильник. Автоподбор из группы кода отключается переменной окружения SMETA_VM_AUTO_PICK=false на пользовательском бэкенде (по умолчанию включён). Отключение не возвращает старый дефект: кнопка подбора, окно выбора и ручной ввод остаются, меняется только то, что материал не подставляется сам.

9.7. Известные особенности

  • Один абстрактный ресурс может ссылаться на несколько технологических групп; система проверяет по очереди.
  • Технологические группы привязаны к версии ФСНБ — при смене ФСНБ сметы тот же абстрактный ресурс может вести в другие группы.
  • Один и тот же ресурс может входить в несколько групп (например, плитка одна и та же, но входит и в группу «Облицовка», и в группу «Полы»).

10. Шаблоны отчётов

«Шаблоны отчётов» — справочник доступных форматов экспорта сметы в Excel. Каждый шаблон имеет код (01, 02, …), название, описание и флаг активности.

Шаблоны отчётов

10.1. Открытие

Меню → «Шаблоны отчётов».

10.2. Таблица

Колонка Описание
ID внутренний идентификатор
Код 01, 02, … — используется в адресе экспорта
Название например «Смета. Стандарт»
Описание расширенный текст
Активен флаг — отображать ли в выпадающем списке экспорта в калькуляторе
Порядок сортировки порядок в выпадающем списке

10.3. Действия

Кнопка Назначение
Редактировать окно — изменить название и описание
Активировать / Деактивировать переключение активности

Важно: добавление новых шаблонов через интерфейс не реализовано — каждый шаблон требует кода в системе. Текущие шаблоны:

  • 01 — стандартный отчёт ЛСР
  • 02 — отчёт по Приложению №3 Приказа 421/пр

10.4. Шаблоны в системе

01 — Смета. Стандарт

Полная локальная смета: разделы → работы → ресурсы (ЗТ / ЭМ / МАТ / ВМ) → ФОТ → НР / СП → итоги. Формулы Excel во всех итоговых ячейках. См. руководство пользователя, главу 12.

02 — Смета. ФСНБ. Ресурсы и индексы

Формат по Приложению №3 Приказа 421/пр. Расширенная шапка, детализация по видам затрат и видам работ. См. руководство пользователя, главу 12.

10.5. Связь с пользовательским приложением

В пользовательском приложении выпадающий список «↓ Экспорт» в шапке сметы показывает только активные шаблоны.

Деактивация шаблона немедленно скрывает его из выпадающего списка (после обновления страницы у пользователя).

10.6. Известный недочёт

В версии 2.2.21 фильтр активности не применяется на сервере — список шаблонов возвращает все шаблоны. На тестовом контуре временно неактивные шаблоны включены принудительно. После исправления деактивация в админке должна сразу скрывать шаблон. Это будет в одном из ближайших релизов.

10.7. Прямой запрос экспорта

Если в адресе пользовательского приложения указан код шаблона напрямую, система всё равно выдаст файл (для сценариев и тестов). Если код невалидный (например, «99») — ответ с ошибкой.

10.8. Будущие шаблоны

Планируются:

  • 03 — Смета по форме №2 Приказа Минстроя (расширенный для энергетики).
  • 04 — Сводный сметный расчёт (ССР).
  • 05 — Локальная смета по форме госконтракта.

Каждый новый шаблон требует:

  1. Реализации логики в системе.
  2. Добавления записи в справочник «Шаблоны отчётов».
  3. Описания в этой главе.

11. НПА документы

«НПА» (нормативно-правовые акты) — справочник приказов Минстроя, методик, СП, МДС. Хранятся вместе с PDF-файлами.

НПА документы

11.1. Открытие

Меню → «НПА документы».

11.2. Таблица

Колонка Описание
ID внутренний идентификатор
Тип Приказ / Методика / СП / МДС / Прочее
Номер например «421/пр»
Дата
Название заголовок
Файл имя оригинального PDF
Размер в КБ / МБ
Активен флаг отображения в пользовательском приложении

11.3. Действия

Кнопка Назначение
+ Добавить окно создания (см. 11.4)
Редактировать окно редактирования (без замены файла)
Заменить файл загрузка нового PDF
Скачать PDF скачивание файла
Удалить удалить запись и файл (с подтверждением)

11.4. Создание / редактирование

Поле Описание
Тип выпадающий список
Номер например «421/пр»
Дата календарь
Название заголовок
Описание расширенный текст (необязательно)
PDF файл выбор файла (только при создании; для замены — отдельная кнопка)
Активен флажок

Кнопки: Отмена / Сохранить.

11.5. Привязка к объекту / смете

В будущих версиях (не реализовано в 2.2.21):

  • Привязка НПА к конкретному объекту → отображение в шапке сметы пользователя.
  • Привязка к ФСНБ → автоматическая ссылка из окна выбора обоснования коэффициента.

11.6. Хранение PDF

PDF хранится в базе данных. В версии 2.1.0 проведена миграция формата хранения, улучшившая производительность и упростившая создание резервных копий.

11.7. Размер

Стандартные приказы — 50–500 КБ. Большие (с приложениями и таблицами) — до 5 МБ. Лимит загрузки — 10 МБ.

11.8. Безопасность

  • Загрузка только PDF.
  • Имя файла очищается от опасных символов.
  • Скачивание доступно для авторизованных пользователей системы.

11.9. Стандартные документы (рекомендуется загрузить)

Документ Использование
Приказ 421/пр от 04.08.2020 методика применения сметных норм
Приказ 571/пр от 22.06.2022 новая редакция методики
Приказ 696/пр от 12.11.2025 расширенная редакция ФСНБ-2022
Приказ 812/пр от 21.12.2020 методика накладных расходов
Приказ 774/пр от 11.12.2020 методика сметной прибыли
МДС 81-35.2004 методика определения стоимости (старая)
СП 81-2.04.2020 свод правил по сметному нормированию

После загрузки они появляются в окне «Методика» в пользовательском приложении (см. руководство пользователя, главу 13).

12. Обращения пользователей

«Обращения» — таблица сообщений от пользователей: ошибок и пожеланий.

Обращения пользователей

12.1. Открытие

Меню → «Обращения».

12.2. Таблица

Колонка Описание
автонумерация
Дата когда отправлено
Тип «Ошибка» (красный бейдж) / «Предложение» (синий)
Тема краткое описание
Пользователь логин и ФИО
Email для связи
Телефон если есть
Версия системы на момент отправки (например «2.2.20»)
Статус «Новое» / «В работе» / «Закрыто» (планируется в будущих версиях)

Действия в строке:

Кнопка Назначение
Открыть окно с полным сообщением (см. 12.3)

12.3. Окно просмотра

Поле Описание
Тема заголовок
Сообщение полный текст с переносами строк
Пользователь логин, ФИО, email, телефон
Дата
Версия системы
ID объекта / сметы если упомянут пользователем (для контекста)

В версии 2.2.21 нет полей «Статус», «Ответ администратора», «История» — это запланировано.

12.4. Фильтры

Фильтр Что фильтрует
Тип Ошибки / Предложения / Все
Дата от / до
Поиск подстрока в теме или сообщении

12.5. Сортировка

По дате (по умолчанию — новые сверху). Клик по заголовку колонки переключает сортировку по этой колонке.

12.6. Уведомления администратору

При новом обращении:

  • Email на адрес администратора.
  • Telegram — сообщение в чат-канал.

12.7. Экспорт

Кнопка «Экспорт в CSV» — выгрузка списка обращений в CSV для отчётов.

12.8. Удаление

Удаление обращений не предусмотрено — все обращения хранятся в истории. Это сделано для аудита и анализа.

12.9. Что делать с обращением

После просмотра администратор должен:

  1. Если ошибка — воспроизвести, завести задачу в трекере, исправить и сообщить пользователю по email.
  2. Если предложение — оценить приоритет, добавить в бэклог, ответить пользователю с примерным сроком (если будет реализовано).

В будущих версиях планируется встроенное обсуждение обращения внутри приложения.

13. Пользователи

«Пользователи» — список зарегистрированных пользователей системы (только просмотр).

Список пользователей

13.1. Открытие

Меню → «Пользователи».

13.2. Таблица

Колонка Описание
ID уникальный идентификатор
Логин
Email
ФИО имя и фамилия
Телефон если есть
Дата регистрации
Статус верификации «Подтверждён» / «Не подтверждён»
Объектов счётчик
Смет счётчик
Последний вход дата (если есть)

13.3. Фильтры

Фильтр Что фильтрует
Поиск подстрока в логине, ФИО или email
Верификация только подтверждённые / не подтверждённые / все
Дата регистрации от / до

13.4. Действия

Список работает в режиме просмотра. Доступно одно управляющее действие — признак «Эксперт» (см. 13.5).

Операции «Заблокировать», «Сбросить пароль», «Удалить пользователя» через интерфейс пока не реализованы и выполняются через прямые запросы к базе данных.

13.5. Признак «Эксперт»

В списке пользователей есть переключатель «Эксперт».

  • Эксперту в пользовательском приложении становятся доступны дополнительные возможности по пополнению базы знаний подбора — кнопки «Сохранить в RAG» (см. главу 19).
  • Признак включается и снимается администратором прямо в списке.
  • Используется для привлечения опытных пользователей к разметке и улучшению качества подбора.

Запланировано в будущих версиях:

  • блокировка пользователя;
  • просмотр обращений конкретного пользователя;
  • сброс пароля по запросу администратора (отправка временного кода на email).

13.6. Просмотр объектов и смет пользователя

Клик по строке пользователя в будущих версиях откроет страницу с его объектами и сметами. Сейчас это не реализовано.

13.7. Лимит выгрузки

Максимум 1000 пользователей за один запрос. Для больших систем (более 1000) запланирована постраничная навигация.

13.8. Регистрация

Регистрация пользователей контролируется флагом в настройках сервера. Если флаг выключен, новые пользователи не могут регистрироваться сами — только через прямые операции с базой данных.

13.9. Подтверждение email

Новый пользователь после регистрации получает 6-значный код на email и должен ввести его в форме входа в калькуляторе. До подтверждения — статус «Не подтверждён».

В админке статус виден в колонке «Верификация».

13.10. Аналитика

Базовая аналитика по таблице пользователей:

  • общее число — счётчик в верхнем виджете;
  • активные за месяц — пользователи с входом за последние 30 дней;
  • распределение по объёму смет (для платных тарифов в будущем).

Расширенная аналитика пользователей пока не реализована.

14. Тестирование

«Тестирование» — запуск автоматических сценариев из админки. Доступно только на тестовом контуре (защита от случайного запуска на рабочем).

Тестирование

14.1. Открытие

Меню → «Тестирование».

14.2. Доступные сценарии

В версии 2.2.21 зарегистрированы:

Сценарий Описание Шагов Время
Сценарий №1: Полный цикл регистрация → объект → смета → работы → проектные ресурсы → выбираемые материалы → экспорт → обратная связь → НПА 10 ~5 мин
Сценарий №2: Управление вход → навигация → редактирование → представления → публикация → удаление → выход 12 ~3 мин
Сценарий №3: Мобильный мобильный экран 375×812, адаптив верхней панели, прокрутка, ФОТ, окна 12 ~3 мин

В версии 2.2.21 сценарии 1, 2, 3 устарели по интерфейсу — требуют адаптации после изменений в калькуляторе. Их нужно переписать или удалить.

«Золотой» сценарий — основной критерий регрессии — пока запускается только из командной строки, не из админки. Подключение в раздел «Тестирование» запланировано.

14.3. Кнопки на странице

Кнопка Назначение
Запустить сценарий №1 отправляет на сервер запрос на запуск
Запустить №2 / №3 аналогично
Обновить перезагрузить список запусков

14.4. Таблица запусков

Колонка Описание
ID запуска
Сценарий №1 / №2 / №3
Дата старта
Статус «Выполняется» / «Успех» / «Ошибка»
Кол-во шагов пройдено / всего
Длительность сек / мин

Действия: Открыть — детали запуска (ниже).

14.5. Детали запуска

Список шагов сценария:

Колонка Описание
№ шага
Название например «Регистрация пользователя»
Статус «Выполняется» / «Успех» / «Ошибка»
Длительность
Сообщение для ошибки — текст ошибки
Скриншот ссылка на PNG (если упало)

14.6. Защита от запуска на рабочем контуре

Раздел «Тестирование» доступен только на тестовом контуре. На рабочем контуре пункт меню скрыт, попытка обратиться к нему завершается отказом в доступе.

14.7. Покрытие тестами

Уровень Кол-во
Серверные модульные тесты пользователя 128
Серверные интеграционные тесты пользователя 19
Серверные тесты админки 17 + 23
Клиентские модульные тесты 41
Клиентские сценарные тесты 58 / 61 (3 нестабильных)
«Золотой» сценарий 02 (десктоп + мобильный) 2 (зелёные, копейка-в-копейку)

14.8. Автоматизированная сборка

Сейчас (2.2.21) автоматического CI нет — тесты запускаются вручную перед релизом. В планах автоматический прогон на каждое изменение в релизных ветках.

15. Документация

«Документация» — страница со ссылками на руководства пользователя и администратора, а также Release Notes.

Страница документации

15.1. Открытие

Меню → «Документация».

15.2. Структура страницы

Заголовок

«Документация» + подзаголовок «Руководства, инструкции и Release Notes — Версия 2.2.21».

Карточки руководств

Две большие карточки:

Карточка Содержит ссылки
📘 Руководство администратора HTML / PDF / Markdown
📗 Руководство пользователя HTML / PDF / Markdown

Каждая ссылка открывает соответствующий документ:

Тип Описание
HTML многостраничный сайт
PDF для скачивания и печати
Markdown исходники на GitHub

Карточки Release Notes

Под руководствами — карточки релизов с обратным хронологическим порядком:

🚀 v2.2.21      1 мая 2026
   <краткое описание>
   [HTML] [Markdown]

🚀 v2.1.0      16 апреля 2026
   <краткое описание>
   [HTML] [Markdown]

🚀 v2.0.0      11 апреля 2026
   ...

При новом релизе администратор добавляет новую карточку в начало секции «Release Notes».

15.3. Что нужно сделать после релиза

  1. Обновить версию в шапке страницы документации.
  2. Добавить карточку нового релиза в начало секции «Release Notes».
  3. Пересобрать админку и развернуть.
  4. Положить собранную документацию (HTML и PDF) внутрь архива админки перед сборкой — она разворачивается на сервере вместе с приложением.

15.4. Генерация документации

Для каждого руководства существует скрипт сборки (generate.sh):

  • собирает HTML через MkDocs Material;
  • собирает PDF через pandoc + xelatex.

Результат:

  • <руководство>/index.html — многостраничный сайт.
  • <руководство>.pdf — единый PDF.

15.5. Версионирование документов

Каждая большая версия (2.0, 2.1, 2.2, …) — отдельная подпапка docs/v2/, docs/v3/ и т. д.

Когда выходит новая мажорная версия:

  1. Скопировать папку текущей версии в новую (docs/v2/docs/v3/).
  2. Обновить содержимое.
  3. На странице «Документация» переключить ссылки на новую версию.
  4. Старые ссылки остаются работающими (для пользователей старой версии).

15.6. Скриншоты

В каждой главе руководств есть папка img/ со скриншотами интерфейса. Скриншоты создаются автоматически через сценарий, который пробегает по интерфейсу и снимает нужные экраны.

В версии 2.2.21 скриншоты руководства пользователя и администратора актуализированы для новой версии интерфейса.

16. Чаты пользователей

Раздел «Чаты пользователей» позволяет администратору просматривать диалоги пользователей с чат-ассистентом — для разбора качества подбора, обращений и обучения.

Чаты пользователей

16.1. Открытие

Меню → «Чаты пользователей».

16.2. Список диалогов

Колонка Что показано
Пользователь владелец диалога
Объект / ВОР закреплённые за чатом объект и ведомость работ
Сообщений число реплик в диалоге
Обновлён дата последней активности

Список отфильтрован по владельцу: администратор видит диалоги пользователей в режиме просмотра.

16.3. Просмотр диалога

Клик по строке открывает переписку: сообщения пользователя и ответы ассистента в хронологическом порядке, включая показанные карточки вариантов расценок и подобранные позиции.

Восстановление контекста

Если объект или ведомость работ не были закреплены явно, панель показывает контекст, восстановленный из хода диалога (по действиям ассистента). Такие данные помечаются значком «~ из диалога», чтобы отличать их от явно закреплённых.

16.4. Чем полезен раздел

  • Разобрать, почему ассистент подобрал ту или иную расценку.
  • Связать обращение пользователя с конкретным диалогом.
  • Найти примеры удачного и неудачного подбора для разметки и обучения (см. главы 17 и 19).

См. также: 17. Телеметрия подбора · [руководство пользователя, глава 16 «Чат-ассистент»]

17. Телеметрия подбора

Телеметрия подбора — это дашборд, который показывает, как ассистент подбирает расценки и материалы: сколько подборов, чем они завершились, какие были исходы. Раздел помогает следить за качеством работы ассистента на реальных диалогах.

Дашборд телеметрии подбора

17.1. Открытие

Меню → «Аналитика чата» (раздел «Система»). Дашборд телеметрии диалогов.

17.2. Что показывает дашборд

  • Эпизоды подбора — каждый случай, когда ассистент подбирал расценку или материал.
  • Исход эпизода — чем закончился подбор (см. 17.3).
  • Тип подбора — расценка или материал (фильтр).
  • Решения «учтено косвенно» (covered_by) — когда позиция уже покрыта другой расценкой; в названии используется пояснение причины.

17.3. Исход подбора

Когда пользователь выбирает один из предложенных вариантов (или отказывается), эпизоду присваивается метка исхода. Это даёт обратную связь: насколько точно ассистент предлагает позиции.

Тип подбора Что подбиралось
Расценка работа из ФСНБ
Материал неучтённый материал к работе

Фильтр по типу подбора позволяет смотреть статистику отдельно по расценкам и по материалам.

17.4. Просмотр эпизода

Клик по эпизоду открывает детали: запрос, предложенные варианты, обоснование подбора (trace) и выбранный исход. Отсюда удобно перейти к исходному диалогу (см. главу 16).

17.5. Чем полезен раздел

  • Видеть долю успешных подборов и проблемные места.
  • Отбирать примеры для разметки и пополнения базы знаний (см. главы 19 и 20).
  • Оценивать эффект изменений в правилах подбора по реальным данным.

См. также: 16. Чаты пользователей · 20. Оценка качества подбора

18. Модели ИИ и расходы

Раздел управляет настройками искусственного интеллекта, который стоит за чат-ассистентом: какие модели доступны, их параметры и сводный расход ресурсов.

Модели ИИ

18.1. Модели ИИ

Меню → «Модели ИИ».

  • Список доступных моделей искусственного интеллекта, которые пользователь может выбрать в чате.
  • Резервный список моделей (fallback) — на случай недоступности основной.

18.2. Настройки агента

Меню → «Настройки агента».

Параметры AI-агента задаются прямо из админки и применяются без перевыпуска приложения:

Параметр Назначение
Модель какая модель используется по умолчанию
Итерации сколько шагов рассуждения допускается на один подбор
Токены лимит на объём обработки

Здесь же доступна матрица качества моделей — сравнение, насколько разные модели справляются с подбором; помогает выбрать оптимальную по соотношению «качество / стоимость».

18.3. Расходы

Расход ресурсов ИИ виден в двух разделах меню:

Пункт Что показывает
Расходы сводный расход ресурсов ИИ по работе ассистента
Расход API детализация обращений к API моделей

Используются для контроля затрат на подбор и диалоги.


См. также: 17. Телеметрия подбора · 20. Оценка качества подбора

19. Разметка ФСНБ (характеристики)

Разметка ФСНБ — это присвоение работам нормативной базы характеристик (осей и значений), по которым ассистент точнее подбирает расценки. Разметка ведётся деревом, без ручного ввода кодов.

Экран разметки ФСНБ

19.1. Оси характеристик

Меню → «Оси хар-к (ФСНБ)» (раздел «Алгоритмы»).

  • Ось — параметр работы (например, материал основания, толщина слоя, способ выполнения).
  • У оси есть набор значений; значения могут быть выпадающим списком с расшифровкой уровней.
  • Оси и значения — основа разметки: ими помечаются узлы дерева ФСНБ.

19.2. Дерево разметки

Меню → «Разметка ФСНБ».

Разметка идёт по дереву нормативной базы — навигацией, без ввода кодов вручную:

  • Дерево строится от типа норматива и показывает реальные группы и работы ФСНБ (по последней редакции).
  • Узлы загружаются по мере раскрытия (ленивое дерево); доступен поиск.
  • Размечать можно на нескольких уровнях: сборник → раздел → группа → работа.

Наследование

Характеристики наследуются сверху вниз: значение, заданное на группе, применяется к работам внутри неё.

  • На узле-источнике унаследованные значения видны как «свои».
  • На дочерних узлах унаследованные характеристики отмечаются в чекбоксах и бейджем источника.
  • Наследование строго top-down: узлы-агрегаторы передают значения вниз.

Фильтры дерева

Чипы фильтра помогают находить, что осталось разметить:

Фильтр Показывает
Не размеченные узлы без характеристик
На проверку узлы, требующие ревью

19.3. Эксперт

Часть разметки и пополнения базы знаний доступна пользователям с признаком «Эксперт» (см. главу 13).

  • Эксперту в пользовательском приложении видны дополнительные кнопки «Сохранить в RAG» — занести удачный подбор в базу знаний.
  • Признак эксперта включается администратором в списке пользователей.

19.4. RAG-примеры (база знаний подбора)

Меню → «RAG-примеры».

  • База примеров «запрос → правильная расценка», на которые опирается ассистент.
  • Примеры пополняются экспертами и администратором; их можно просматривать и редактировать.
  • Хорошие примеры повышают точность подбора на похожих запросах.

См. также: 20. Оценка качества подбора · 13. Пользователи

20. Оценка качества подбора

Раздел оценки показывает, насколько точно ассистент подбирает расценки, на наборе проверочных случаев (эталонов). Это инструмент контроля качества: видно, не ухудшился ли подбор после изменений.

Оценка качества подбора

Меню → «Eval» (раздел «Система»). Внутри — дашборд, кейсы, прогоны, покрытие характеристик и очередь ревью.

20.1. Проверочные случаи (кейсы)

  • Кейс — пара «запрос → ожидаемая расценка ФСНБ» (эталон, подготовленный экспертом).
  • Кейсы используются для регулярной проверки качества подбора.
  • При создании кейса выполняется проверка корректности кода ФСНБ.

20.2. Результаты оценки

Результаты прогона показываются блоками:

  • сводная статистика по прогону;
  • покрытие (coverage) — с разбивкой по источникам и сборникам;
  • детализация по отдельным кейсам.

Покрытие по источникам помогает понять, на каких типах запросов подбор сильнее, а где требуется доработка.

20.3. Очередь ревью характеристик

Внутри раздела «Eval» — подраздел «Очередь ревью».

  • Характеристики, требующие проверки экспертом, собираются в очередь.
  • Эксперт подтверждает или корректирует разметку (см. главу 19).

20.4. Связь с другими разделами

Раздел Роль в оценке
17. Телеметрия подбора реальные исходы подбора на диалогах пользователей
19. Разметка ФСНБ характеристики и RAG-примеры, на которые опирается подбор
16. Чаты пользователей источник примеров для новых кейсов

См. также: 19. Разметка ФСНБ · 21. Профи.ру

21. Профи.ру

Раздел «Профи.ру» — это конвейер (пайплайн) сбора и обработки каталога услуг с профильной биржи. Он помогает связывать «бытовые» формулировки работ (как их называют заказчики) с расценками ФСНБ и пополнять базу подбора.

Раздел Профи.ру

21.1. Открытие

Меню → «Профи.ру».

21.2. Дашборд пайплайна

Дашборд показывает этапы обработки каталога услуг:

  • обнаружение и фильтрация услуг;
  • разбор по схемам-визардам;
  • формирование осей и значений;
  • генерация и выгрузка результата.

Все визард-схемы видны на дашборде напрямую.

21.3. Дерево каталога услуг

Каталог услуг профильной биржи отображается деревом — по категориям и услугам. Это помогает увидеть, какие бытовые формулировки нужно сопоставить с нормативной базой.

21.4. Зачем это нужно

  • Связать понятный язык заказчика («поклейка обоев», «стяжка пола») с расценками ФСНБ.
  • Пополнять характеристики и примеры подбора реальными формулировками.
  • Готовить почву для размещения ведомостей работ на профильных площадках.

См. также: 19. Разметка ФСНБ · 20. Оценка качества подбора

22. Продуктовая аналитика (Метрика)

Пользовательское приложение ui.smeta.net.ru подключено к Яндекс.Метрике — тем же счётчиком 100037876, что и маркетинговый сайт smeta.net.ru. Это позволяет измерять продуктовую воронку: сколько посетителей после входа в приложение доходят до чата, ВОР, генерации и готовой сметы, а также видеть сквозной путь «сайт → приложение» в рамках одного визита.

Счётчик невидим: в интерфейсе приложения ничего нового не появляется, на его работу и скорость он не влияет. Раздел описывает не экран админки, а как читать отчёты в кабинете Метрики — этим пользуется владелец продукта.

22.1. Где смотреть

  1. Открыть кабинет Яндекс.Метрики, счётчик 100037876.
  2. Сайт и приложение шлют данные в один счётчик, поэтому трафик приложения надо отделять фильтром в любом отчёте:
    • Фильтр → Параметры визита → app = calculator — этот параметр шлёт только приложение (сайт его не ставит); самый надёжный отбор;
    • либо Фильтр → Хост → ui.smeta.net.ru (боевой сайт — smeta.net.ru).
  3. Для боевой статистики добавить второе условие — Параметры визита → env = PROD (см. врезку ниже).

Готовых сегментов в кабинете пока нет. Сегменты «Сайт»/«Приложение» и составной отчёт «Воронка приложения» не заведены (проверено 07.08.2026) — их заведение вынесено в отдельную задачу бэклога №31. До её выполнения воронка читается по всему счётчику с фильтром из п. 2–3, а не выбором сегмента.

Тестовый контур попадает в тот же счётчик. Стенд smeta-user-test.softlancer.ru и машины разработки (localhost) шлют данные туда же и без фильтра искажают отчёты: за 01.07–07.08.2026 из 260 визитов 187 — стенд, 20 — localhost и только 53 — боевой сайт. Отличать контуры по параметру визита env: PROD — боевой, TEST — стенд, DEV — локальная разработка. По той же причине ежедневная сводка метрик, приходящая архитектору, пока считает по всему счётчику и завышает цифры — при разборе расхождений опирайтесь на кабинет с фильтром env = PROD.

22.2. Воронка приложения

Продуктовый путь измеряется пятью целями Метрики. Пока составной отчёт не создан (см. 22.4), воронка читается так: Отчёты → Стандартные отчёты → Конверсии, фильтр из 22.1, в списке — цели по шагам:

Шаг воронки Цель (идентификатор) Когда срабатывает
Вход в приложение (визиты с фильтром из 22.1) пользователь открыл ui.smeta.net.ru
Первое сообщение в чате first_chat_message пользователь отправил первое сообщение ассистенту
Открыт ВОР vor_opened открыт экран ведомости объёмов работ
Генерация сметы запущена smeta_generation_started ассистент начал наполнять смету по ВОР — при любой выбранной модели (см. 22.5)
Смета получена smeta_received смета сформирована и открыта
Экспорт сметы smeta_export пользователь выгрузил Excel / отчёт ФСНБ

Отчёт отвечает на вопрос «где отваливаются пользователи»: например, много входов, но мало первых сообщений — узкое место на старте диалога.

22.3. Пользователь в отчётах

После входа приложение передаёт в Метрику UserID = email (или логин) пользователя. В отчётах «Посетители» и по параметрам визита можно:

  • отфильтровать поведение конкретного пользователя;
  • связать его сеансы между устройствами.

В Метрику передаётся только факт события, путь и идентификаторы — тело сообщений чата и построчное содержимое сметы не отправляются.

22.4. Что настроено в кабинете

Настраивается руками в кабинете счётчика (кодом не создаётся). Фактическое состояние на 07.08.2026:

Что Состояние Комментарий
5 целей типа «JavaScript-событие» ✅ заведены 06.08.2026, все Активна идентификаторы из таблицы 22.2; условие — «идентификатор содержит <имя цели>»
2 сегмента по хосту («Сайт», «Приложение») ❌ не заведены планируются задачей бэклога №31; до этого — фильтр из 22.1
Составной отчёт «Воронка приложения» ❌ не создан там же, №31; до этого — отчёт «Конверсии» с фильтром

Цели и сегменты приходится создавать именно вручную: OAuth-токен, которым служебные скрипты читают кабинет, даёт только чтение — любая попытка создать цель или сегмент через Management API отбивается 403 access_denied (ограничение прав приложения на стороне Яндекса).

22.5. Ограничения

  • Сегментов и составного отчёта в кабинете нет (см. 22.4) — воронку приходится собирать фильтром вручную при каждом просмотре; будет закрыто задачей №31.
  • Один счётчик на все контуры — без фильтра env = PROD в отчёт попадает трафик тестового стенда и машин разработки (см. 22.1).
  • Вебвизор (запись сессий) не включён — доступны только обезличенные события и стандартные отчёты.
  • Блокировщики рекламы / недоступность mc.yandex.ru — часть визитов не попадёт в статистику (ожидаемо); на работу приложения это не влияет.
  • Метрика не установлена на административной панели admin.smeta.net.ru — этот раздел про пользовательское приложение.
  • Продуктовая аналитика Метрики не заменяет внутреннюю телеметрию подбора (глава 17): та измеряет качество работы ассистента, эта — поведение пользователей в продукте.
  • Данные до версии 2.7.3 занижают шаг «Генерация сметы запущена». До этой версии цель smeta_generation_started засчитывалась только при работе на моделях Anthropic (Claude); если в главе 18 «Модели ИИ» была выбрана другая модель (например, Gemini), шаг не срабатывал даже при фактически созданной смете. С 2.7.3 цель уходит при любой модели. Провал именно на этом шаге в старых периодах читать как дефект измерения, а не как поведение пользователей; сравнивать воронку по периодам — только начиная с выката 2.7.3.

См. также: 17. Телеметрия подбора · 16. Чаты пользователей