Администрирование · 12 мин
Системное фоновое задание 1С 8: как отключить
Как найти и отключить системное фоновое задание в 1С 8 через консоль заданий, конфигуратор и код. Причины зависших сеансов, способы снятия задачи на сервере и типичные ошибки.
Фоновое задание в 1С 8 — это механизм, который выполняет код без участия пользователя: обмены данными, расчёт итогов, загрузку курсов валют, отправку отчётов. Когда такое задание зависает, потребляет ресурсы сервера или мешает обновлению конфигурации, его нужно остановить. Сделать это можно несколькими способами — от штатной обработки «Консоль заданий» до принудительного снятия сеанса на сервере 1С.
Важно различать два действия: временное отключение (задание больше не запускается по расписанию, но остаётся в конфигурации) и принудительное прерывание уже выполняющегося задания. В первом случае достаточно снять флаг «Использование» в свойствах регламентного задания, во втором потребуется найти активный сеанс и завершить его. Ниже разобраны оба сценария с конкретными шагами.
Отдельная ситуация — «системное» фоновое задание, которое пользователь видит в списке активных сеансов, но не находит среди регламентных заданий. Такие задания создаются программно через метод Выполнить менеджера фоновых заданий и не имеют расписания. Их нельзя «отключить» насовсем — можно только прервать текущее выполнение и найти код, который их запускает.
Что такое фоновое и регламентное задание и чем они отличаются
Регламентное задание — объект метаданных конфигурации с расписанием: платформа сама запускает его в заданное время. Фоновое задание — это конкретный экземпляр выполнения: оно создаётся либо регламентным заданием по расписанию, либо программно из кода. Когда администратор говорит «отключить системное фоновое задание», обычно речь идёт об одном из трёх случаев.
Первый случай — регламентное задание слишком часто запускается и грузит базу. Решение: отключить использование задания или изменить расписание. Второй случай — задание зависло в состоянии «Выполняется» и блокирует работу. Решение: принудительно отменить выполнение. Третий случай — в списке сеансов видно фоновое задание с непонятным именем, запущенное прикладным кодом. Решение: найти источник запуска и отключить его, иначе задание появится снова.
Как найти список фоновых заданий в типовой конфигурации
В типовых решениях на базе Библиотеки стандартных подсистем (УТ 11, ERP, Бухгалтерия 3.0, ЗУП 3.1) список заданий находится в разделе «Администрирование». Путь: «Администрирование → Поддержка и обслуживание → Регламентные операции → Регламентные и фоновые задания». В некоторых конфигурациях пункт называется «Обслуживание → Регламентные операции».
Откроется список с двумя вкладками или разделами: «Регламентные задания» и «Фоновые задания». На первой видны все задачи конфигурации с состоянием, расписанием и флагом использования. На второй — история и текущие запуски с датой начала, состоянием и сообщениями об ошибках. Если у вас нет доступа к этому разделу, проверьте права: нужна роль «Администратор системы» или полные права.
Если конфигурация самописная или доработанная и штатного интерфейса нет, используйте внешнюю обработку «Консоль заданий» с диска ИТС либо посмотрите задания через конфигуратор: меню «Администрирование → Регламентные и фоновые задания» (доступно при подключении к серверной базе).
- 1Откройте «Администрирование → Поддержка и обслуживание → Регламентные операции».
- 2Перейдите по ссылке «Регламентные и фоновые задания».
- 3На вкладке регламентных заданий найдите нужное по имени или состоянию «Выполняется».
- 4Откройте вкладку фоновых заданий и проверьте, есть ли активные запуски этой задачи.
- 5Зафиксируйте имя задания и время последнего запуска — это пригодится при анализе журнала регистрации.
Как отключить регламентное задание, чтобы оно не запускалось
Самый простой и безопасный способ — снять флаг использования. В списке регламентных заданий выделите нужное, откройте его двойным щелчком или командой «Изменить» и снимите флажок «Использование», затем запишите. С этого момента платформа перестанет создавать новые фоновые задания по этому расписанию. Уже запущенный экземпляр при этом не прерывается — его нужно отменять отдельно.
Альтернатива — изменить расписание вместо полного отключения. Например, если синхронизация данных запускается каждую минуту и мешает работе пользователей, разумнее перенести её на ночное время или увеличить интервал, чем отключать совсем. Расписание редактируется по ссылке «Расписание» в форме задания.
Если задание нужно отключить массово или автоматизировать процесс, используйте встроенный язык. Метод РегламентныеЗадания.НайтиПоУникальномуИдентификатору или РегламентныеЗадания.ПолучитьРегламентныеЗадания с отбором по имени метаданных возвращает объект задания, у которого устанавливается свойство Использование = Ложь, после чего вызывается Записать().
Отбор = Новый Структура("Метаданные", "СинхронизацияДанных");
Задания = РегламентныеЗадания.ПолучитьРегламентныеЗадания(Отбор);
Для Каждого Задание Из Задания Цикл
Задание.Использование = Ложь;
Задание.Записать();
КонецЦикла;Как прервать выполняющееся фоновое задание
Когда задание зависло — например, обмен зациклился или расчёт длится часами, — его нужно отменить принудительно. В консоли заданий перейдите на вкладку «Фоновые задания», найдите строку с состоянием «Выполняется» и нажмите «Отменить выполнение» (в некоторых версиях — «Прервать»). Платформа отправит заданию сигнал отмены.
Учтите: отмена срабатывает не мгновенно. Если код задания находится внутри длинного запроса или ожидает ответа от внешнего сервиса, прерывание произойдёт только на ближайшей контрольной точке платформы. Иногда это занимает несколько минут. Если задание не отменяется, остаётся завершить сеанс — об этом в следующем разделе.
После отмены проверьте состояние: задание должно перейти в «Ошибка выполнения» или «Отменено пользователем». Если оно снова ушло в «Выполняется», значит, регламентное задание-родитель перезапустило его по расписанию — сначала отключите использование, потом отменяйте запуск.
Как завершить сеанс зависшего задания на сервере 1С
Если отмена через консоль заданий не помогает, завершите сеанс принудительно. В клиентском приложении: «Администрирование → Поддержка и обслуживание → Активные пользователи» (в типовых) либо «Администрирование → Активные пользователи». Найдите сеанс с типом «Фоновое задание» и нужным именем, выделите его и нажмите «Завершить сеанс».
Для серверной базы доступен второй путь — консоль кластера серверов 1С. Откройте «Администрирование серверов 1С Предприятия», разверните кластер, выберите нужную информационную базу и перейдите на вкладку «Сеансы». Отсортируйте по колонке «Приложение» — фоновые задания видны как сеансы типа BackgroundJob. Выделите сеанс и удалите его через контекстное меню.
Крайняя мера для файловой базы — завершить процесс 1cv8.exe, в котором выполняется задание, через диспетчер задач, а для серверной — перезапустить агент сервера 1С. Это грубое вмешательство: перезапуск агента разорвёт сеансы всех пользователей, поэтому применяйте его только если другие способы исчерпаны и работа базы фактически заблокирована.
Как выбрать действие
Как отключить системное задание, которого нет в списке регламентных
Часть заданий создаётся программно: обработчики очередей, отложенное обновление, задания подсистем БСП. В списке регламентных их нет, потому что они не являются объектами метаданных. Отключить их «навсегда» снятием флага нельзя — нужно устранить источник запуска.
Типичные источники: очередь заданий в разделённом режиме, отложенные обработчики обновления (видны в «Администрирование → Результаты обновления»), механизмы длительных операций БСП. Отложенные обработчики обновления, которые завершились с ошибкой и перезапускаются, нужно либо довести до успешного выполнения, исправив причину ошибки, либо отключить через форму результатов обновления.
Чтобы понять, откуда стартует задание, откройте журнал регистрации с отбором по событию «Фоновое задание» и имени задания. Там видно, какой пользователь или механизм его инициировал, и текст ошибки, если запуск завершился аварийно. Дальше ищите вызов ФоновыеЗадания.Выполнить в конфигураторе по имени метода — глобальный поиск по конфигурации покажет все точки запуска.
Перед отключением задания в рабочей базе проверьте, не используется ли оно в цепочке обменов: отключение задания синхронизации с сайтом или банком не вызовет ошибок в 1С, но остановит передачу заказов и выписок. Удобно вести список отключённых заданий с датой и причиной — это избавит от вопросов при следующем обновлении конфигурации.
Проверка результата и частые ошибки
После отключения убедитесь, что задание действительно не запускается. Откройте вкладку фоновых заданий, обновите список через интервал, превышающий период расписания, и проверьте, что новых запусков нет. Дополнительно посмотрите журнал регистрации: записей о старте задания после момента отключения быть не должно.
Если вы завершали сеанс, проверьте список активных пользователей: сеанс фонового задания должен исчезнуть и не появиться вновь. Появление нового сеанса с тем же именем означает, что задание перезапущено — возвращайтесь к отключению регламентного задания или поиску программного источника.
Как проверить результат
Флаг «Использование» снят, задание записано
Флаг снова установлен — возможно, его включает код или другое задание
Нет новых запусков после отключения
Появляются новые строки с состоянием «Выполняется»
Сеанс фонового задания отсутствует
Сеанс висит в списке дольше нескольких минут после отмены
Нет событий запуска задания после отключения
Ошибки запуска повторяются по расписанию
Что важно запомнить
Отключение и прерывание — разные операции: флаг «Использование» останавливает будущие запуски, кнопка «Отменить» — текущее выполнение, а завершение сеанса — крайняя мера для зависших заданий. Системные задания, которых нет в списке регламентных, отключаются через устранение источника запуска в коде или в механизмах обновления и очередей.
Частые вопросы
Отключится ли фоновое задание, если просто удалить расписание?
Нет. Задание без расписания в файловой базе может перестать запускаться автоматически, но в клиент-серверном варианте поведение зависит от настроек, а само задание остаётся активным. Правильный способ — снять флаг «Использование».
Можно ли отключить все фоновые задания сразу?
Да, программно: получить все регламентные задания через РегламентныеЗадания.ПолучитьРегламентныеЗадания() и в цикле установить «Использование = Ложь». Это удобно при развёртывании копии базы для тестирования, чтобы копия не запускала обмены с боевыми системами.
Задание отменено, но сеанс в консоли кластера остался. Это нормально?
Да, недолго. Сеанс может висеть несколько минут, пока платформа завершает поток и откатывает транзакцию. Если сеанс не исчезает дольше 10–15 минут и при этом потребляет ресурсы, завершите его вручную через консоль кластера.
Как отключить фоновые задания в файловой базе без консоли заданий?
Откройте базу в конфигураторе и используйте меню «Администрирование → Регламентные и фоновые задания». Если база запускается через веб-сервер или задания выполняет отдельный сеанс, проверьте, что в параметре запуска не задано принудительное выполнение регламентных заданий.
Отключённое задание включится снова после обновления конфигурации?
Обычно нет — состояние флага «Использование» хранится в базе данных, а не в конфигурации, и обновление его не сбрасывает. Исключение — если обновление содержит код, который явно включает задание, или задание было пересоздано. После обновления стоит проверить список.
Что делать, если задание зависает регулярно?
Отключение — временная мера. Проанализируйте журнал регистрации и текст ошибки: типичные причины — блокировки таблиц, недоступный внешний сервис, нехватка памяти на сервере или ошибка в коде обработчика. Без устранения причины задание будет зависать снова после каждого запуска.