К статье
Практический материал

Отчеты и Аналитика · 8 мин

Как остановить формирование отчета в 1С

Как остановить формирование отчета в 1С: прерывание в тонком и толстом клиенте, отмена фоновых заданий, действия администратора и профилактика зависаний отчетов.

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

Способ остановки зависит от режима работы: тонкий или толстый клиент, файловая или клиент-серверная база, формируется отчет в основном сеансе или в фоновом задании. Ниже разобраны все варианты — от нажатия одной кнопки до принудительного завершения задания администратором.

Как понять, что отчет действительно завис, а не просто долго считается

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

Обратите внимание на индикатор в строке состояния: если процент выполнения растет, пусть и медленно, отчет работает. Тревожный признак — полное отсутствие реакции в течение длительного времени, 100% загрузка процессора сервера 1С или СУБД при нулевом прогрессе, блокировки других пользователей.

Индикатор растетОтчет работает штатно

Дождитесь завершения или прервите через Ctrl+Break

Индикатор замерВозможна блокировка или тяжелый запрос

Проверьте нагрузку на сервер и список активных сеансов

Клиент не отвечаетСеанс занят выполнением

Прерывайте задание, а не убивайте процесс сразу

Прерывание отчета в пользовательском сеансе

Клавиша Ctrl+Break

Стандартный способ остановить выполнение встроенного отчета в толстом и тонком клиенте — комбинация Ctrl+Break (на клавиатурах без клавиши Break — Ctrl+Pause, на ноутбуках иногда Fn+Ctrl+B). Платформа прерывает выполнение встроенного кода и возвращает управление пользователю.

Ограничение: прерывание срабатывает только на уровне встроенного языка. Если в этот момент выполняется длинный запрос к СУБД, клиент «подвиснет» до завершения запроса на сервере — тогда поможет только остановка задания на сервере.

Кнопка отмены в интерфейсе

В отчетах на СКД (система компоновки данных) в управляемых формах во время формирования отображается строка состояния с кнопкой отмены. Нажмите её — платформа прервет формирование и вернет форму настроек.

Порядок действий в пользовательском сеансе
  1. 1
    Нажмите кнопку отмены в строке состояния формирования отчета
  2. 2
    Если кнопки нет — нажмите Ctrl+Break (Ctrl+Pause)
  3. 3
    Дождитесь возврата управления форме настроек
  4. 4
    Скорректируйте период и отборы перед повторным запуском
  5. 5
    Если клиент не реагирует более нескольких минут — переходите к остановке задания на сервере

Остановка отчета, выполняющегося в фоновом задании

Многие отчеты в типовых конфигурациях (например, в «1С:ERP» и «1С:Бухгалтерии» при длительном формировании) автоматически уходят в фоновое задание. В этом случае форма закрывается, а отчет продолжает строиться на сервере.

Чтобы остановить такое задание, откройте «Администрирование → Обслуживание → Фоновые задания» (в некоторых конфигурациях — «Настройки → Поддержка и обслуживание → Регламентные и фоновые задания»). Найдите в списке активное задание с состоянием «Выполняется», откройте его и нажмите «Отменить» или «Завершить».

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

Действия администратора в клиент-серверном варианте

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

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

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

Файловая база: особенности остановки

В файловом варианте нет сервера 1С, и фоновые задания выполняются в отдельном процессе на компьютере пользователя. Если отчет «завис», а Ctrl+Break не помогает, можно завершить процесс 1cv8.exe через диспетчер задач — в файловом режиме это затрагивает только локальный сеанс.

После аварийного завершения файловой базы при следующем входе возможна проверка целостности. Если база открывается с ошибками, выполните тестирование и исправление через конфигуратор или утилиту chdbfl.exe из каталога bin платформы.

Как предотвратить зависание отчетов

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

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

Типичные ошибки
01
Запуск отчета за большой период без отборов — вместо остановки проще сразу ограничить параметры
02
Многократное нажатие «Сформировать» — каждый клик создает новое фоновое задание и множит нагрузку
03
Завершение rphost вместо отмены задания — страдают все пользователи рабочего процесса
04
Игнорирование регламентных заданий итогов — отчеты тормозят систематически, а не разово

Проверка результата после остановки

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

Перед повторным запуском скорректируйте параметры: сократите период, добавьте отборы. Если отчет снова формируется неприемлемо долго при разумных параметрах — проблема в запросе или в инфраструктуре, и нужен анализ запроса и настроек СУБД.

Контрольные точки

Как проверить результат

Состояние задания
Норма

Отменено или завершено

Тревожный признак

Остается «Выполняется» более пары минут после отмены

Нагрузка на сервер
Норма

Вернулась к обычному уровню

Тревожный признак

Процессор или диск по-прежнему загружены запросом

Повторный запуск
Норма

Отчет строится за приемлемое время с новыми параметрами

Тревожный признак

Снова зависает — нужен анализ запроса

Часто задаваемые вопросы

Повредит ли прерывание отчета данные в базе?

Нет. Формирование отчета — это чтение данных без их изменения. Отмена задания или прерывание через Ctrl+Break безопасны. Риск появляется только при грубом завершении рабочих процессов сервера, затрагивающем другие сеансы.

Ctrl+Break не срабатывает, клиент завис. Что делать?

Скорее всего, выполняется длинный запрос на стороне СУБД, и клиент ждет ответа. Дождитесь завершения запроса или попросите администратора отменить фоновое задание / завершить сеанс через консоль кластера. В файловой базе можно завершить процесс 1cv8.exe через диспетчер задач.

Отчет закрыл, а нагрузка на сервер осталась. Почему?

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

Как остановить отчет, запущенный другим пользователем?

Только с правами администратора: через консоль кластера серверов (завершение сеанса или фонового задания) либо через список активных пользователей в конфигураторе. Обычный пользователь может управлять только своими заданиями.

Отчет регулярно формируется по 20–30 минут. Это норма?

Для больших баз за длинные периоды — возможно, но чаще это признак проблемы: не заданы отборы, устарели итоги регистров, неоптимальный запрос. Проверьте расписание регламентных заданий итогов и, если отчет самописный, проанализируйте запрос.

Итог

Что важно запомнить

Сначала пробуйте штатную отмену: кнопку в строке состояния или Ctrl+Break. Фоновые задания останавливайте через список заданий в администрировании. Завершение процессов сервера — крайняя мера, затрагивающая других пользователей. Лучшая профилактика — корректные период, отборы и актуальные итоги регистров.