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