Администрирование · 12 мин
Планировщик заданий 1С: что это и как работает
Что такое планировщик заданий в 1С, чем регламентные задания отличаются от фоновых, как настроить расписание, проверить выполнение и исправить типичные ошибки.
Планировщик заданий в 1С — это механизм платформы, который автоматически запускает заранее описанные процедуры по расписанию или по наступлению события. С его помощью система без участия пользователя обменивается данными с другими программами, обновляет курсы валют, формирует отчёты, очищает устаревшие данные и выполняет десятки других операций обслуживания информационной базы.
Термин «планировщик заданий» в контексте 1С обычно означает связку двух объектов: регламентных заданий, которые описывают что и когда запускать, и фоновых заданий, которые представляют собой уже запущенные экземпляры выполнения. Понимание разницы между ними — ключ к диагностике проблем: когда «задание не работает», почти всегда нужно смотреть, создалось ли фоновое задание и с каким результатом оно завершилось.
Механика запуска различается в файловом и клиент-серверном вариантах работы. В файловой базе регламентные задания выполняются только тогда, когда запущен сеанс с отдельным фоновым процессом (или используется внешняя утилита запуска), а в клиент-серверном варианте за запуск отвечает сервер 1С:Предприятия. Это различие — самая частая причина ситуации «настройки верные, но ничего не выполняется».
Что такое регламентные и фоновые задания
Регламентное задание — это объект конфигурации (или записи в списке заданий), описывающий: какую процедуру выполнять, по какому расписанию, от имени какого пользователя и с какими параметрами. Оно хранит настройки, но само по себе ничего не исполняет — это шаблон запуска.
Фоновое задание — это конкретный процесс выполнения. Когда наступает время по расписанию, планировщик создаёт фоновое задание, которое работает на сервере (или в отдельном фоновом сеансе файловой базы) и пишет результат в журнал регистрации. У одного регламентного задания за день может быть несколько фоновых запусков — успешных и завершившихся с ошибкой.
Кроме запуска по расписанию, фоновые задания можно создавать программно — методом «Выполнить» менеджера фоновых заданий. Так разработчики выносят длительные операции (проведение больших пакетов документов, формирование тяжёлых отчётов) из пользовательского сеанса, чтобы не блокировать интерфейс.
Какие задачи решает планировщик на практике
В типовых конфигурациях (1С:Бухгалтерия, Управление торговлей, ERP, ЗУП) планировщик уже настроен на десятки операций. Пользователю обычно требуется лишь включить нужные и задать удобное расписание.
- Загрузка курсов валют и курсов криптовалютных котировок из внешних источников;
- Обмен данными с другими базами 1С, сайтом, CRM, банк-клиентом;
- Отправка и получение электронной почты, обработка входящих писем;
- Получение и отправка электронных документов (ЭДО);
- Расчёт итогов, обновление агрегатов и индексов полнотекстового поиска;
- Очистка устаревших данных: версий объектов, протоколов обменов, устаревших сеансов;
- Формирование и рассылка отчётов руководству по расписанию;
- Резервное копирование (в клиент-серверном варианте — через назначенные задания агента сервера).
Для нестандартных задач разработчик может создать собственное регламентное задание в конфигураторе, указав общий модуль и экспортную процедуру. Важное ограничение: процедура выполняется на сервере без пользовательского интерфейса, поэтому в ней недоступны интерактивные вызовы — предупреждения, вопросы, открытие форм.
Где найти и как настроить расписание
В типовых конфигурациях список заданий находится в разделе «Администрирование» → «Обслуживание» → «Регламентные и фоновые задания» (в некоторых конфигурациях — «Регламентные операции»). Здесь видно все задания, их состояние, дату последнего и следующего запуска.
- 1Откройте «Администрирование → Обслуживание → Регламентные и фоновые задания».
- 2Найдите нужное задание в списке и откройте его двойным щелчком.
- 3Установите флаг «Используется» (или «Включено»).
- 4Откройте «Расписание» и задайте периодичность: ежедневно, по будням, каждые N минут, в конкретное время.
- 5При необходимости укажите пользователя, от имени которого выполняется задание, — у него должны быть права на все затрагиваемые объекты.
- 6Сохраните настройки и дождитесь ближайшего запуска либо нажмите «Выполнить сейчас» для проверки.
- 7Проверьте результат в журнале регистрации и в списке фоновых заданий.
При настройке расписания учитывайте нагрузку на систему. Не стоит ставить тяжёлые задания (пересчёт итогов, полный обмен) на рабочие часы — они конкурируют за ресурсы с пользователями и могут вызвать блокировки. Оптимальное окно — ночь или обеденный перерыв, а частые лёгкие задания (проверка почты) можно запускать каждые 5–15 минут.
Для клиент-серверного варианта есть дополнительный уровень управления — консоль кластера серверов 1С. Там можно глобально заблокировать выполнение регламентных заданий для конкретной базы. Это обязательно делается для тестовых и копий рабочих баз, чтобы они не отправляли реальные письма, не запускали обмены и не портили данные во внешних системах.
Отличия файлового и клиент-серверного режимов
В клиент-серверном варианте планировщик работает автономно: сервер 1С сам отслеживает расписание и запускает задания, даже если ни один пользователь не вошёл в базу. Это основной сценарий для организаций, где обмены и обслуживание должны идти круглосуточно.
В файловом варианте всё иначе: регламентные задания выполняются только пока запущен хотя бы один сеанс, в котором работает механизм фоновых заданий. Если все пользователи закрыли программу — ночные задания просто не выполнятся. Обходные решения: держать открытый сеанс на выделенной машине, использовать внешний планировщик Windows с запуском 1С в пакетном режиме, либо перейти на клиент-серверный вариант.
Сравнение вариантов
Подходит для небольших баз с несколькими пользователями. Задания работают только при открытом сеансе; надёжность ночных запусков низкая без дополнительных ухищрений.
Планировщик работает автономно на сервере, задания выполняются по расписанию независимо от пользователей. Требует сервера 1С и СУБД, но это единственный надёжный вариант для критичных регламентных операций.
Запуск 1С в пакетном режиме по расписанию ОС. Подходит как запасной вариант для файловых баз, но сложнее в диагностике ошибок и не виден внутри 1С.
Как проверить, что задания реально выполняются
Наличие галочки «Используется» и корректного расписания не гарантирует выполнение. Проверка строится на трёх источниках: списке фоновых заданий, журнале регистрации и предметном результате (загрузились ли курсы, ушли ли письма, обновились ли данные).
В списке фоновых заданий смотрите колонки «Состояние» и «Конец»: состояние «Завершено» означает успех, «Ошибка» — задание упало, а длительное состояние «Выполняется» при простое базы может указывать на зависание. Журнал регистрации (Администрирование → Обслуживание → Журнал регистрации) с отбором по событию фонового задания покажет текст ошибки.
Как проверить результат
«Завершено», время выполнения соответствует ожидаемой длительности
«Ошибка» или «Выполняется» часами при простаивающей базе
Соответствует расписанию (сегодня, в заданное время)
Запуск был давно или отсутствует, хотя расписание активно
Курсы обновлены, письма отправлены, обмен выполнен
Задание «завершено», но данные не изменились — процедура отработала вхолостую или без прав
Нет ошибок по событию задания
Ошибки доступа, превышение времени ожидания, блокировки
Типичные проблемы и их причины
Самая частая жалоба — «задание включено, но не выполняется». Причины почти всегда одни и те же: файловая база без активного сеанса, блокировка регламентных заданий в консоли кластера, у пользователя задания нет нужных прав, либо задание завершается с ошибкой сразу после старта.
Вторая группа проблем — конфликты. Задание, запущенное в рабочее время, блокирует документы или регистры, и пользователи получают ошибки «Конфликт блокировок». Обратная ситуация: задание не может выполниться, потому что пользователи держат монопольный доступ или длительные транзакции. Лечение — перенос расписания на нерабочие часы и сокращение объёма данных за один запуск.
Как выбрать действие
Отдельно стоит сказать о зависших фоновых заданиях. Если задание «висит» в состоянии «Выполняется», его можно отменить из списка фоновых заданий или через консоль кластера (завершение сеанса). После отмены обязательно разберитесь в причине зависания — чаще всего это взаимоблокировка или бесконечное ожидание внешнего ресурса без таймаута.
Кому и когда нужен собственный планировщик
Если типовых заданий не хватает, разработчик создаёт своё: в конфигураторе добавляется объект «Регламентное задание», указывается экспортная процедура общего серверного модуля, расписание и ключ. Ключ позволяет запретить параллельный запуск одинаковых заданий с одинаковыми параметрами.
При проектировании собственных заданий придерживайтесь простых правил: делайте процедуру идемпотентной (повторный запуск не портит данные), ограничивайте объём обработки порциями, ловите исключения и пишите осмысленные сообщения в журнал регистрации, задавайте таймауты для обращений к внешним сервисам. Задание, которое упало молча, хуже отсутствующего задания.
Что важно запомнить
Планировщик заданий 1С — это регламентные задания (настройки) плюс фоновые задания (фактические запуски). Проверяйте работу по состоянию фоновых заданий и журналу регистрации, помните про разницу файлового и клиент-серверного режимов и никогда не включайте задания в копиях рабочих баз без блокировки.
Частые вопросы
Почему регламентное задание не выполняется, хотя расписание настроено?
Чаще всего виновата блокировка регламентных заданий в свойствах базы в консоли кластера (для клиент-серверного варианта) или отсутствие активного сеанса (для файловой базы). Также проверьте, что задание помечено как используемое и что предыдущий запуск не завис в состоянии «Выполняется».
Чем регламентное задание отличается от фонового?
Регламентное задание — это настройка: процедура, расписание, пользователь. Фоновое задание — конкретный запуск этой настройки. Одно регламентное задание порождает множество фоновых, и именно по ним видно, работает планировщик или нет.
Можно ли запустить задание вручную, не дожидаясь расписания?
Да, в списке регламентных и фоновых заданий есть команда «Выполнить сейчас» (или аналогичная кнопка в карточке задания). Это удобно для проверки после изменения настроек — результат сразу виден в списке фоновых заданий и журнале регистрации.
От имени какого пользователя лучше выполнять задания?
Лучше завести отдельного служебного пользователя с минимально необходимым набором ролей. Работа от имени полного администратора скрывает ошибки прав и повышает риск неконтролируемых изменений, а от имени обычного пользователя задание может падать из-за нехватки доступа.
Как отключить все задания в копии базы разом?
В клиент-серверном варианте откройте свойства информационной базы в консоли кластера и установите флаг «Блокировка регламентных заданий включена». Для файловой базы достаточно не запускать сеансы, либо программно отключить использование заданий при первом запуске копии.
Что делать, если фоновое задание зависло?
Отмените его из списка фоновых заданий или завершите соответствующий сеанс в консоли кластера. После этого найдите причину в журнале регистрации: типичные виновники — взаимоблокировки, ожидание ответа внешнего сервиса без таймаута или слишком большой объём обрабатываемых данных.