При разработке собственных конфигураций в 1С часто возникает вопрос: как правильно настроить автоматическое выполнение фоновых процессов? Многие начинающие разработчики сталкиваются с тем, что созданное в Конфигураторе регламентное задание «не запускается». Давайте разберем, от чего зависит работа регламентных заданий и как обстоят дела в облачных сервисах, таких как ГРМ (Готовое рабочее место).
Первое, что необходимо выяснить для понимания логики работы заданий — это тип информационной базы. Существует два основных варианта:
1Cv8.1CD. В этом режиме 1С не имеет полноценного сервера приложений, который мог бы постоянно следить за расписанием. Поэтому для выполнения регламентного задания необходим запущенный сеанс пользователя или специальная настройка клиентского приложения, которое будет «держать» базу открытой.СУБД (например, MS SQL Server или PostgreSQL) и Сервера 1С:Предприятия. В этом случае регламентные задания управляются сервером приложений. Это означает, что наличие активных пользователей не требуется — сервер сам отслеживает расписание и запускает фоновые задания в заданное время.Когда вы размещаете свою конфигурацию в облачном сервисе, таком как ГРМ, важно понимать, что вы находитесь в рамках клиент-серверной архитектуры. Однако, работа в облаке накладывает свои ограничения.
Рассмотрим подробнее, почему задание может не выполняться:
Если вы убедились, что расписание настроено верно, а задание все равно «молчит», проанализируем план действий для решения этой ситуации:
Журнал регистрации. Попробуйте найти там записи, относящиеся к фоновым заданиям. Даже если задание завершилось с ошибкой или было принудительно остановлено, информация об этом должна там отразиться.ГРМ — это управляемая среда, самый эффективный путь — написать тикет в техподдержку провайдера. Задайте прямой вопрос: «Разрешено ли выполнение регламентных заданий для моей базы и нет ли ограничений на фоновые процессы в моем тарифе?».внешнюю обработку, которую будет запускать сотрудник по графику, или использовать API (если провайдер его предоставляет) для вызова процедур из внешнего планировщика.Для корректной работы регламентных заданий в серверной среде, убедитесь, что само задание в Конфигураторе настроено правильно. Посмотрим, как выглядит программное управление расписанием:
// Пример создания расписания для регламентного задания
Расписание = Новый РасписаниеРегламентногоЗадания;
Расписание.ПериодПовтораДней = 1;
Расписание.ВремяНачала = ТекущаяДата();
Задание = РегламентныеЗадания.НайтиПоИмени("ИмяВашегоЗадания");
Если Задание <> Неопределено Тогда
Задание.Расписание = Расписание;
Задание.Использование = Истина;
Задание.Записать();
КонецЕсли;
Также помните, что при отладке регламентных заданий на сервере бывает полезно временно включить повышенный уровень логирования в журнале регистрации, чтобы видеть, в какой момент происходит сбой при выполнении фонового процесса.
Подводя итог: в клиент-серверной среде (которой является облако ГРМ) присутствие пользователя не требуется, а проблема отсутствия выполнения чаще всего кроется в политиках безопасности или настройках ресурсов облачного провайдера. Начните с анализа Журнала регистрации и общения с технической поддержкой вашего сервиса.