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

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

Где находятся фоновые задания в 1С и как с ними работать

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

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

Путь к списку фоновых заданий зависит от того, работаете вы в типовой конфигурации (Бухгалтерия, ERP, Управление торговлей) или в самописной, а также от режима — файловая база или клиент-серверный вариант. В типовых решениях на базе Библиотеки стандартных подсистем (БСП) есть готовый раздел администрирования, где фоновые и регламентные задания собраны в одном месте.

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

Где найти фоновые задания в типовой конфигурации

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

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

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

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

Просмотр фоновых заданий через конфигуратор

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

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

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

Фоновые задания в консоли кластера серверов 1С

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

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

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

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

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

Где искать задание

Регламентные задания

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

Фоновые задания

Фактические запуски с состоянием и ошибками. Подходит для диагностики «зависаний» и сбоев. Не позволяет менять расписание.

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

Текущая нагрузка на сервер. Подходит для поиска ресурсоёмких процессов. Не показывает историю завершённых заданий.

Как найти и проверить фоновое задание программно

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

bsl
Отбор = Новый Структура;
Отбор.Вставить("Состояние", СостояниеФоновогоЗадания.Активно);
Отбор.Вставить("ИмяМетода", "ОбменДанными.ВыполнитьОбмен");

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

Если АктивныеЗадания.Количество() = 0 Тогда
    ФоновыеЗадания.Выполнить("ОбменДанными.ВыполнитьОбмен", , "КлючОбмена", "Обмен данными");
КонецЕсли;

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

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

Типичные проблемы и как их диагностировать

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

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

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

Как проверить, что задание работает нормально

Состояние в консоли заданий
Норма

«Выполняется» с растущим временем, затем «Завершено»

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

«Выполняется» часами без изменений или «Ошибка»

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

Процессор и память сеанса изменяются, идёт работа

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

Нулевая активность при активном состоянии — задание ждёт или заблокировано

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

События начала и завершения метода без ошибок

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

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

Безопасные действия и ограничения самостоятельной работы

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

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

Итог

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

Фоновые задания в типовой 1С находятся в разделе «Администрирование» → «Поддержка и обслуживание» → «Регламентные и фоновые задания», в конфигураторе — через «Администрирование» → «Фоновые задания», а на сервере — как сеансы в консоли кластера. Регламентное задание — это расписание, фоновое — фактический запуск. Диагностику начинайте с состояния задания и текста ошибки, принудительное завершение применяйте только при наличии резервной копии.

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

Почему в списке нет пункта «Регламентные и фоновые задания»?

Чаще всего не хватает прав: раздел виден администраторам и пользователям с полными правами. Также пункт может отсутствовать в конфигурациях без Библиотеки стандартных подсистем — тогда используйте конфигуратор (меню «Администрирование» → «Фоновые задания») или внешнюю обработку-консоль заданий.

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

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

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

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

Почему регламентные задания не выполняются в файловой базе?

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

Можно ли удалить завершённое фоновое задание из списка?

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

Как отменить «зависшее» фоновое задание?

Сначала попробуйте кнопку «Отменить» в консоли заданий (конфигуратор или типовая форма) — это штатный мягкий способ. Если задание не реагирует, завершите соответствующий сеанс в консоли кластера серверов. Перед принудительным завершением задания обмена или пересчёта убедитесь, что есть резервная копия базы.