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

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

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

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

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

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

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

Где посмотреть список фоновых заданий

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

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

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

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

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

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

Если кнопка отмены не помогает, задание «висит» на уровне сеанса. Тогда переходите к завершению сеанса — это описано в разделе про зависшие задания.

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

Как удалить фоновое задание из списка

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

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

Для массовой очистки старых записей удобно отобрать задания с состоянием «Завершено» или «Ошибка» за прошлые периоды и удалить их списком. Это уменьшает объём таблиц очереди заданий и ускоряет работу консоли.

Удаление регламентного задания через конфигуратор

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

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

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

Удаление фонового задания программным кодом

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

// Найти фоновое задание по уникальному идентификатору

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

Новый УникальныйИдентификатор("здесь-uuid-задания"));

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

Если Задание.Состояние = СостояниеФоновогоЗадания.Активно Тогда

Задание.Отменить(); // сначала отменяем выполнение

КонецЕсли;

КонецЕсли;

// Удалить завершённые фоновые задания по регламентному

Отбор = Новый Структура;

Отбор.Вставить("ИмяМетода", "ОбменДанными.ВыполнитьОбмен");

МассивЗаданий = ФоновыеЗадания.ПолучитьФоновыеЗадания(Отбор);

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

Если Зад.Состояние <> СостояниеФоновогоЗадания.Активно Тогда

Зад.Удалить();

КонецЕсли;

КонецЦикла;

Для отключения регламентного задания кодом используйте менеджер РегламентныеЗадания: найдите задание через РегламентныеЗадания.НайтиПредопределенное() или по отбору, установите свойству Использование значение Ложь и вызовите Записать().

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

Что делать, если задание зависло и не удаляется

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

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

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

Маршрут решения

Как выбрать действие

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

Проверка результата и типовые проблемы

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

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

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

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

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

Список фоновых заданий
Норма

Удалённого задания нет в списке

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

Задание появляется снова — не отключено регламентное

Карточка регламентного задания
Норма

Флажок «Использование» снят

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

Флажок установлен — задания продолжат создаваться

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

Запись об отмене или завершении без ошибок

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

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

Сеансы в консоли кластера
Норма

Нет «висящих» сеансов фоновых заданий

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

Сеанс активен часами — задание зависло

Ограничения и права доступа

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

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

Итог

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

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

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

Можно ли удалить фоновое задание, которое сейчас выполняется?

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

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

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

Как удалить задание, если нет кнопки «Отменить»?

Кнопка отмены доступна только для заданий в состоянии «Выполняется» и при наличии административных прав. Если её нет — проверьте свои права или завершите сеанс задания через консоль кластера (клиент-сервер) либо «Активные пользователи» (файловая база).

Опасно ли отменять фоновое задание обмена данными?

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

Где посмотреть, почему задание завершилось с ошибкой?

Откройте журнал регистрации (в конфигураторе или через «Администрирование» → «Журнал регистрации» в типовых) и установите отбор по событию «Фоновое задание» и уровню «Ошибка». В комментарии будет текст исключения с указанием метода.

Можно ли удалить все старые фоновые задания разом?

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