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

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

Чем отличается регламентное задание от фонового в 1С

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

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

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

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

Что такое регламентное задание и зачем оно нужно

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

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

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

Что такое фоновое задание и когда оно создаётся

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

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

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

Ключевые отличия: таблица сравнения

Разница между двумя механизмами проявляется по всем практическим параметрам — от способа создания до инструментов мониторинга. Ниже сведены основные отличия.

ПараметрРегламентное заданиеФоновое задание
Что этоОбъект метаданных конфигурации (настройка)Экземпляр выполнения (процесс)
Где создаётсяВ конфигураторе, ветка «Регламентные задания»Системой по расписанию или кодом ФоновыеЗадания.Выполнить()
РасписаниеЕсть, настраивается администраторомНет, запускается один раз в момент вызова
ПовторяемостьМногократно, по расписаниюОднократно (но можно запускать сколько угодно раз)
Хранение в базеХранится постоянно как часть конфигурацииЖивёт до завершения, история хранится ограниченно
Типовое назначениеПериодические обмены, расчёты, загрузкиРазовые длительные операции без блокировки интерфейса

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

Когда что использовать

Регламентное задание

Операция повторяется по расписанию без участия пользователя: обмены, загрузка курсов, ночные расчёты. Требует настройки в конфигураторе.

Программное фоновое задание

Разовая длительная операция по инициативе пользователя или кода: тяжёлый отчёт, пакетное проведение. Не требует изменения конфигурации.

Регламентное + фоновые

Стандартная связка: регламентное задание по расписанию порождает фоновые экземпляры, каждый из которых виден в мониторинге отдельно.

Как это работает на практике: связка двух механизмов

Рассмотрим типовой сценарий. В конфигурации есть регламентное задание «Загрузка курсов валют» с расписанием «каждый день в 07:00». Каждое утро сервер 1С проверяет расписание, видит, что время пришло, и создаёт фоновое задание, которое вызывает указанный метод общего модуля. Задание выполняется, записывает курсы в регистр и завершается.

Если в 07:00 база была выключена или сервер недоступен, поведение зависит от настроек: система может выполнить задание при первом запуске после пропущенного времени или пропустить его до следующего срабатывания. Это частая причина вопросов «почему курсы не загрузились» — расписание сработало, но выполнить было некому.

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

Где смотреть и как управлять заданиями

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

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

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

Диагностика неработающего задания
  1. 1
    Откройте консоль регламентных и фоновых заданий в разделе администрирования
  2. 2
    Проверьте, что регламентное задание включено (флажок «Использование») и расписание задано корректно
  3. 3
    Найдите последние фоновые задания этого регламентного задания и проверьте их состояние
  4. 4
    Если статус «Завершено аварийно» — откройте описание ошибки и устраните причину
  5. 5
    Если фоновых заданий нет — проверьте, не заблокировано ли задание и работал ли сервер (или сеанс для файловой базы) в момент расписания
  6. 6
    После исправления выполните задание принудительно и убедитесь, что оно завершилось успешно

Типичные ошибки и риски при работе с заданиями

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

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

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

Типичные ошибки
01
Расписание чаще, чем длительность выполнения — задания накладываются, растут блокировки и нагрузка на сервер
02
Включённые задания в копии базы — дублирование обменов и рассылок в рабочие системы
03
Ожидание, что задания в файловой базе работают без запущенного сеанса — они просто не выполняются
04
Игнорирование состояния «Завершено аварийно» — задание падает неделями, пока кто-то не заметит отсутствие данных
05
Выполнение тяжёлой разовой операции в сеансе пользователя вместо фонового задания — блокировка интерфейса и риск обрыва по таймауту

Что выбрать для своей задачи

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

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

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

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

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

Проверка результата после настройки

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

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

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

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

Состояние последнего фонового задания
Норма

Статус «Завершено», время окончания соответствует расписанию

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

«Завершено аварийно», «Отменено» или задание зависло в состоянии «Активно» часами

Данные, которые должно создать задание
Норма

Новые записи появились с ожидаемой датой и в ожидаемом объёме

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

Записей нет или они устарели, хотя задание «успешно завершено»

Длительность выполнения
Норма

Стабильная от запуска к запуску

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

Растёт от раза к разу или сильно колеблется

Интервал между запусками
Норма

Соответствует расписанию, запуски не накладываются

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

Пропуски запусков или одновременная работа нескольких экземпляров

Итог

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

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

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

Может ли фоновое задание существовать без регламентного?

Да. Фоновое задание можно запустить программно методом ФоновыеЗадания.Выполнить() из любого кода — например, при нажатии кнопки в форме. Такое задание не связано ни с каким регламентным и выполняется один раз.

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

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

Что происходит, если задание не успело завершиться до следующего запуска по расписанию?

Новый экземпляр всё равно будет создан — система не ждёт завершения предыдущего. Это приводит к параллельной работе одинаковых заданий, блокировкам и конфликтам. Чтобы избежать этого, ставьте интервал с запасом или добавляйте в код метода проверку на уже выполняющийся экземпляр.

Как безопасно отключить все задания в копии базы?

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

От чьего имени выполняется регламентное задание?

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

Чем отменить зависшее фоновое задание?

В консоли заданий выберите фоновое задание и нажмите «Отменить». Если задание не реагирует (например, зависло на уровне СУБД), может потребоваться завершение соответствующего сеанса в консоли кластера серверов 1С. После отмены проверьте, не осталось ли незавершённых транзакций и блокировок.