В процессе автоматизации бизнес-процессов на платформе «1С:Предприятие 8» одним из ключевых механизмов является использование регламентных и фоновых заданий. Они позволяют без участия пользователя выполнять рутинные операции: загружать курсы валют, обмениваться данными с сайтами, отправлять уведомления или рассчитывать итоги. Однако у начинающих разработчиков и администраторов часто возникает вопрос: будут ли выполняться эти задачи, если все пользователи закрыли программу? Давайте детально разберем этот вопрос, проанализируем различия в поведении файловых и клиент-серверных баз, а также рассмотрим практические способы настройки автономной работы системы.
В клиент-серверном варианте работы системы ответ на главный вопрос темы однозначный — да, регламентные задания успешно работают, даже если все пользователи закрыли свои клиентские приложения. Это происходит благодаря архитектуре платформы «1С:Предприятие».
Рассмотрим подробнее, как именно функционирует этот механизм изнутри:
rmngr). Он постоянно анализирует настроенное расписание для каждой информационной базы.rphost). При этом физического запуска графического интерфейса клиента не происходит.Таким образом, для работы регламентных и фоновых заданий в серверной базе присутствие активных сеансов пользователей абсолютно не требуется. Важно лишь, чтобы была запущена служба агента сервера «1С:Предприятия» (ragent).
Важное правило безопасности для администраторов: при создании тестовых копий рабочих баз в клиент-серверном варианте обязательно нужно отключать регламентные задания. Если этого не сделать, копия базы в фоновом режиме может отправить реальным клиентам повторные письма, выгрузить некорректные данные на рабочий сайт или запустить нежелательный обмен. Сделать это можно в свойствах информационной базы через консоль администрирования серверов 1С, установив флажок «Блокировка регламентных заданий включена».
Для разработчиков также существует важный нюанс, связанный с отладкой серверных заданий. Поскольку они выполняются в фоновом режиме на сервере, обычный запуск отладки из Конфигуратора их не перехватит. Чтобы отладить код регламентного задания, служба ragent должна быть запущена с ключом отладки -debug, а в Конфигураторе в меню «Отладка — Подключение» необходимо настроить автоматическое подключение к фоновым заданиям.
В файловом варианте работы архитектура 1С устроена принципиально иначе. Здесь нет выделенного серверного процесса, который мог бы постоянно крутиться в памяти и выполнять задачи по расписанию. Поэтому при закрытой файловой базе регламентные задания стандартным образом не выполняются.
Разберем по шагам, как ведет себя файловая база при работе с регламентными заданиями:
Фоновое задание. Принудительное завершение.Если специфика вашего предприятия требует использования файлового варианта, но при этом необходимо настроить автономное выполнение задач ночью или в выходные дни, можно применить проверенные административные методы обхода ограничений.
Этот способ позволяет имитировать присутствие пользователя в системе без необходимости держать компьютер постоянно включенным под чьей-то учетной записью. Мы можем настроить операционную систему так, чтобы она сама запускала 1С в фоновом (скрытом) режиме, выполняла нужные операции и закрывала программу.
Рассмотрим пример настройки через Планировщик задач Windows:
РоботРоман) с административными правами.
"C:\Program Files\1cv8\common\1cestart.exe" ENTERPRISE /F "C:\PutToMyBase" /N "РоботРоман" /P "SlozhniyParol123" /WA- /C "ЗапускРегламентныхЗаданий"
Параметр /WA- отключает показ предупреждений при запуске, а специальный параметр командной строки /AllowExecuteScheduledJobs гарантирует, что данное клиентское приложение принудительно берет на себя роль исполнителя регламентных заданий.
В современных конфигурациях, созданных на базе Библиотеки стандартных подсистем (БСП), предусмотрен готовый программный механизм. Вы можете запустить на сервере или отдельном компьютере один сеанс 1С под служебным пользователем и оставить его активным.
В этом сеансе БСП автоматически будет периодически вызывать метод:
ВыполнитьОбработкуЗаданий();
Этот метод инициирует запуск накопившихся в очереди регламентных задач. Пока данный сеанс открыт — задания будут выполняться стабильно по расписанию.
Если файловая база опубликована на веб-сервере (под управлением IIS или Apache), то регламентные задания могут выполняться расширением веб-сервера. Они будут работать до тех пор, пока веб-сервер активен и обслуживает хотя бы один клиентский сеанс. Для управления этой возможностью в файле публикации default.vrd используется специальный атрибут allowexecutescheduledjobs.
Для качественной разработки и администрирования важно четко понимать разницу между терминами и внутренними механизмами платформы:
Мы проанализировали ключевые аспекты работы механизма заданий 1С. Понимание этих архитектурных особенностей позволит вам проектировать надежные и отказоустойчивые информационные системы как в серверном, так и в файловом вариантах работы.