Список расчётов

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

Где найти
окно «Расчёт» → кнопка «Расчёты» справа в заголовке.
Права
смотреть — всем, кто вошёл; удалять — право «Сохранение расчётов»: свои расчёты — режимщик, чужие — редактор и администратор; на сервере должна быть включена правка данных.
Читаю как

Возможности

  • Все расчёты города: номер, дата, фрагмент, режим («Плановый», «Плановый (по граф.)», «Аварийный (дет.)», «Аварийный (экв.)», «Аварийный, летний»), Tн, название, автор.
  • Фильтры: фрагмент, режим, автор (часть имени), «С даты», «По дату»; по 25, 50 или 100 строк на странице.
  • «Протокол расчёта» — открыть протокол любого расчёта.
  • Удаление расчёта вместе с результатами.

Как это работает

Список читается из таблицы calculation. Метка «текущий» — расчёт фрагмента с наибольшим номером: его результаты показывают карта, карточки и пьезометр. Удаление в одной транзакции стирает строку расчёта и все его строки в таблицах *_out; после удаления текущего расчёта текущим становится предыдущий. Протокол запуска (calculation_protocol) не удаляется: он остаётся в «Сохранённых протоколах», но уже без ссылки на расчёт. Если номер расчёта есть в других таблицах базы (не *_out, например iznos — износ оборудования), удаление отменяется целиком и сообщение называет эти таблицы.

Что нужно для работы

  • Удалять: право «Сохранение расчётов» и включённая на сервере правка данных (MUTATIONS_ENABLED). Свои расчёты удаляет режимщик, чужие — редактор и администратор. Подсказка у кнопки удаления объясняет, почему она недоступна.

Шаги

  1. Список расчётов: фильтры по фрагменту, режиму, автору и датам. Метка «текущий» — расчёт, который показывается на карте для фрагмента. Справа — «Протокол расчёта» и удаление.

    Список расчётов: шаг 1

  2. Удаление спрашивает подтверждение: удаляются расчёт и все его результаты (ut_out, us_out, pt_out и прочие *_out). Для текущего расчёта — отдельное предупреждение. Отменить удаление нельзя.

    Список расчётов: шаг 2

Если не получается

  • «Удаление выключено на сервере» — MUTATIONS_ENABLED выключен.
  • «Чужой расчёт может удалить editor или admin».
  • «На расчёт ссылаются данные вне результатов расчёта (iznos: 3)…» — на расчёт опираются другие данные (в примере — расчёт износа); сначала удалите их.

Для разработчика

  • API: GET /api/v1/calculations (file_id, mode, author, date_from, date_to, limit до 500, offset), DELETE /api/v1/calculations/{id}.
  • Веб: components/CalculationsDialog.vue; права — utils/permissions.ts (canSaveCalc).
  • Тесты: tests/components/CalculationsDialog.spec.ts (в том числе удаление режимщиком своего и чужого расчёта); API — tests/test_calculation_admin.py; e2e — e2e/functions/analysis.spec.ts (расчёт и его удаление из списка).
Хотите увидеть эту функцию на своих данных?Покажем ТГИД на демонстрации и ответим на вопросы инженеров.
Запросить демо