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