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

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

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

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

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

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

Ниже разобраны рабочие способы для типовых конфигураций на управляемых формах (БП, УТ, ERP, ЗУП), для конфигуратора и для программного отключения через встроенный язык. Все действия выполняются под учётной записью с правами администратора.

Как найти список фоновых и регламентных заданий

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

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

Если типовой консоли нет (самописная конфигурация без БСП), используйте внешнюю обработку «Консоль заданий» с диска ИТС или функции глобального контекста РегламентныеЗадания.ПолучитьРегламентныеЗадания() и ФоновыеЗадания.ПолучитьФоновыеЗадания() через «Выполнить произвольный код».

Задание в состоянии «Выполняется» долгое времяВозможно зависание или тяжёлая операция

Сравните длительность с обычной, посмотрите журнал регистрации

Ошибки в колонке «Состояние»Задание падает при каждом запуске

Откройте сообщения об ошибках, проверьте права и доступность внешних ресурсов

Много заданий стартуют одновременноКонфликт расписаний, взаимоблокировки

Разнесите расписания по времени или отключите дублирующие задания

Отключение регламентного задания через интерфейс

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

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

Порядок отключения задания через интерфейс
  1. 1
    Откройте «Администрирование → Регламентные и фоновые задания»
  2. 2
    Найдите задание по имени и откройте его карточку
  3. 3
    Снимите флаг «Используется» и запишите
  4. 4
    Перейдите на вкладку «Фоновые задания» и убедитесь, что активных экземпляров нет
  5. 5
    При необходимости отмените выполняющийся экземпляр кнопкой «Отменить»

Как остановить уже выполняющееся фоновое задание

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

Когда отмена через консоль не помогает, в клиент-серверном варианте завершите соответствующий сеанс через консоль кластера серверов 1С: найдите сеанс с фоновым заданием по имени пользователя (обычно это служебный пользователь или пользователь, от имени которого настроено задание) и удалите его. В файловом варианте помогает завершение процесса 1cv8.exe, который выполняет фоновые задания, — через диспетчер задач, если база запущена в отдельном сеансе.

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

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

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

Программное отключение через встроенный язык

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

МассивЗаданий = РегламентныеЗадания.ПолучитьРегламентныеЗадания();

Для Каждого Задание Из МассивЗаданий Цикл

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

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

КонецЦикла;

Для точечного отключения добавьте отбор по имени метода: РегламентныеЗадания.ПолучитьРегламентныеЗадания(Новый Структура("ИмяМетода", "ЗагрузкаКурсовВалют")). Отмена конкретного фонового задания выполняется методом ФоновыеЗадания.НайтиПоУникальномуИдентификатору(ИД).Отменить().

bsl
Задание = РегламентныеЗадания.НайтиПредопределенное("ЗагрузкаКурсовВалют");
Задание.Использование = Ложь;
Задание.Записать();

Частые ошибки и ограничения

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

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

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

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

После отключения откройте список регламентных заданий и убедитесь, что у целевого задания снят флаг «Используется» и в колонке «Состояние» нет значения «Выполняется». Подождите интервал, превышающий период расписания (например, 10–15 минут для ежеминутных заданий), — новых записей о запуске в журнале регистрации появляться не должно.

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

Итог

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

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

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

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

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

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

Проверьте три причины: флаг «Используется» снят не у того задания (похожие имена), изменение не записано, или задание запускается программно из другого кода через ФоновыеЗадания.Выполнить() — такие вызовы не зависят от расписания. Также в клиент-серверном варианте проверьте, не снята ли блокировка заданий на уровне базы и нет ли второй копии базы с теми же настройками.

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

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

Что будет, если отключить задание обмена данными?

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

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

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

Безопасно ли завершать сеанс фонового задания через консоль кластера?

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