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

Администрирование · 9 мин

Как отключить фоновое задание в 1С 8

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

Фоновые задания в 1С 8 выполняют обмены данными, расчёты, загрузку курсов валют и другие операции без участия пользователя. Когда задание зависает, грузит сервер или мешает обновлению конфигурации, его нужно остановить или отключить. Способ зависит от того, что именно требуется: прервать уже запущенный процесс или запретить заданию запускаться в будущем.

Важно различать два понятия. Фоновое задание — это конкретный запущенный экземпляр процесса, который выполняется прямо сейчас или уже завершился. Регламентное задание — это настройка в конфигурации, которая по расписанию порождает фоновые задания. Чтобы «отключить фоновое задание» навсегда, обычно нужно отключить именно регламентное задание, а не только прервать текущий запуск.

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

Чем фоновое задание отличается от регламентного

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

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

Как отключить задание через консоль заданий

Это основной способ, не требующий программирования. Порядок действий в типовой конфигурации:

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

Если стандартной обработки в конфигурации нет (самописные или сильно доработанные решения), используйте внешнюю обработку «Консоль заданий» с диска ИТС или аналогичную. Она открывается через Файл → Открыть и даёт тот же функционал: просмотр, отмену, изменение расписания и флага использования.

Учтите: отмена фонового задания не происходит мгновенно. Платформа передаёт процессу сигнал отмены, но если код внутри находится в длительном запросе к СУБД, фактическое завершение может занять время. Проверяйте состояние через минуту-две после нажатия «Отменить».

Программное отключение и отмена заданий

В коде на встроенном языке 1С есть два основных сценария. Первый — отмена конкретного фонового задания по его уникальному идентификатору:

Задание = ФоновыеЗадания.НайтиПоУникальномуИдентификатору(Идентификатор);

Если Задание <> Неопределено Тогда

Задание.Отменить();

КонецЕсли;

Второй сценарий — отключить регламентное задание, чтобы оно больше не запускалось:

Задание = РегламентныеЗадания.НайтиПредопределенное("СинхронизацияДанных");

Задание.Использование = Ложь;

Задание.Записать();

Метод Отменить() выбрасывает исключение, если задание уже завершено, поэтому оборачивайте вызов в попытку/исключение при массовой обработке. Для поиска всех активных заданий используйте ФоновыеЗадания.ПолучитьФоновыеЗадания(Отбор) с отбором по состоянию «Активно».

Отключение в файловом и клиент-серверном режимах

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

Ту же блокировку можно установить программно через УстановитьБлокировкуРегламентныхЗаданий(Истина) — метод требует права администрирования и действует на всю базу.

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

Сравнение вариантов

Снять флаг «Использование»

Точечное отключение одного задания навсегда. Подходит, когда мешает конкретная операция. Ограничение: требуется доступ к консоли заданий.

Отмена активного фонового задания

Разовая остановка зависшего процесса. Не мешает следующему запуску по расписанию.

Блокировка регламентных заданий базы

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

Изменение расписания

Когда задание нужно, но реже или в другое время. Менее радикально, чем отключение.

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

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

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

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

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

Список фоновых заданий через 2–3 интервала расписания
Норма

Новых экземпляров задания нет

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

Задание продолжает появляться — вероятно, отключена копия или задание запускается кодом

Флаг «Использование» в консоли заданий
Норма

Флаг снят и сохранён после повторного открытия

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

Флаг вернулся — возможно, задание переопределяется обработчиком обновления или кодом

Журнал регистрации
Норма

Нет новых событий запуска задания

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

Есть ошибки запуска или новые старты

Типичные ошибки и ограничения

Типичные ошибки
01
Отмена активного задания вместо отключения регламентного — процесс прерван, но через интервал расписания задание запускается снова
02
Отключение задания без анализа зависимостей — например, отключили обмен, и данные перестали поступать в связанную базу
03
Попытка отменить задание без достаточных прав — у пользователя без административных прав кнопки и методы недоступны
04
Ожидание мгновенной отмены — задание, занятое длинным запросом к СУБД, завершается с задержкой, и администратор ошибочно считает отмену неудавшейся
05
Блокировка всех регламентных заданий на постоянной основе — забытая блокировка останавливает критичные обмены и расчёты

Ещё одна частая ситуация: задание включено обратно «само». Такое бывает, если в конфигурации есть код, который при обновлении или по расписанию принудительно устанавливает признак использования. В этом случае ищите обработчики обновления или вызовы РегламентныеЗадания в коде и согласуйте изменение с разработчиком.

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

Итог

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

Чтобы отключить фоновое задание в 1С 8, отключите соответствующее регламентное задание через консоль заданий (сняв флаг «Использование»), а зависший активный процесс отмените кнопкой «Отменить» или методом Отменить(). Для полной остановки всех заданий на сервере используйте блокировку регламентных заданий в свойствах базы. После отключения проверьте результат по списку фоновых заданий и журналу регистрации.

Частые вопросы

Отменил фоновое задание, но оно снова появилось в списке. Почему?

Вы прервали только текущий экземпляр, а регламентное задание продолжает работать по расписанию и порождает новые запуски. Найдите его в списке регламентных заданий и снимите флаг «Использование» или измените расписание.

Можно ли отключить фоновое задание без прав администратора?

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

Как отключить все регламентные задания сразу на время обновления?

В клиент-серверном режиме установите флаг «Блокировка регламентных заданий включена» в свойствах информационной базы в консоли кластера, либо выполните УстановитьБлокировкуРегламентныхЗаданий(Истина) в коде. Не забудьте снять блокировку после завершения работ.

Задание не отменяется и висит в состоянии «Активно». Что делать?

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

После отключения задания флаг «Использование» сам включился обратно. В чём причина?

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

Опасно ли отключать фоновые задания?

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