Администрирование · 11 мин
Где хранятся регламентные задания в 1С и как ими управлять
Где хранятся регламентные задания в 1С: очередь в таблицах СУБД, консоль заданий, файл 1Cv8.1CD, типичные проблемы и способы управления расписанием.
Регламентные задания в 1С — это не отдельные файлы и не записи в планировщике Windows. Их описание хранится в метаданных конфигурации, а состояние, расписание и очередь выполнения — внутри самой информационной базы: в таблицах СУБД для клиент-серверного варианта или в файле 1Cv8.1CD для файлового. Поэтому искать задания «на диске» в виде отдельных файлов бессмысленно — управлять ими нужно штатными средствами платформы.
Понимание того, где физически размещаются задания, важно в трёх ситуациях: когда база развёрнута из копии и задания внезапно начинают выполняться дважды, когда нужно массово отключить фоновые процессы в тестовой копии и когда администратор пытается найти причину нагрузки на сервер. Ниже разберём оба режима хранения, инструменты просмотра и безопасные способы управления.
Из чего состоит регламентное задание и что именно хранится
Регламентное задание в 1С состоит из двух частей. Первая — описание в конфигурации: имя задания, имя экспортируемой процедуры общего модуля, которая будет выполняться, признак использования и расписание по умолчанию. Эта часть создаётся разработчиком в конфигураторе (ветка «Общие» → «Регламентные задания») и хранится в составе конфигурации базы данных.
Вторая часть — экземпляр задания в очереди: текущее состояние (выполняется, завершено, ошибка), фактическое расписание, пользователь, от имени которого идёт выполнение, дата последнего запуска и признак блокировки. Именно эти данные платформа хранит в служебных таблицах информационной базы. При изменении расписания через консоль вы меняете запись в базе, а не метаданные конфигурации.
Важно различать регламентные и фоновые задания. Регламентное — это шаблон с расписанием; фоновое — конкретный запуск этого шаблона. Информация о запущенных фоновых заданиях также хранится в базе в момент выполнения и исчезает после завершения, оставляя только запись о состоянии в регламентном задании.
Хранение в клиент-серверном варианте: очередь в таблицах СУБД
В клиент-серверной архитектуре (MS SQL Server, PostgreSQL, Oracle, IBM DB2) платформа создаёт в базе данных служебные таблицы для очереди регламентных заданий. Рабочие серверы кластера периодически опрашивают эту очередь, выбирают задания, время которых наступило, и запускают их на доступных рабочих процессах. Администратору не нужно знать имена системных таблиц — платформа работает с ними самостоятельно, а прямое вмешательство в таблицы не поддерживается.
Распределение выполнения по серверам кластера происходит автоматически. Если в кластере несколько рабочих серверов, задание может выполняться на любом из них, если не настроены требования назначения функциональности. Это объясняет типичную ситуацию: задание «неожиданно» работает, хотя на конкретном сервере его никто не запускал — его подхватил другой рабочий процесс кластера.
Для тестовых копий базы это критично: восстановленная из бэкапа копия содержит ту же очередь заданий, и как только её зарегистрируют в кластере, задания начнут выполняться. Поэтому сразу после развёртывания копии нужно отключить выполнение регламентных заданий — в консоли кластера (свойства информационной базы, флаг «Блокировка регламентных заданий») или программно.
Хранение в файловом варианте: файл 1Cv8.1CD
В файловой базе вся информация, включая очередь регламентных заданий, находится в едином файле 1Cv8.1CD в каталоге информационной базы. Отдельных файлов с расписаниями не существует. Если вы копируете каталог базы, вы копируете и все настройки заданий вместе с ним.
Особенность файлового режима — механизм запуска. В клиент-серверном варианте задания выполняет сервер 1С, а в файловом их должен инициировать клиентский процесс. Поэтому для файловых баз обычно настраивают отдельный сеанс: запуск тонкого или толстого клиента с параметром, который выполняет роль «исполнителя» фоновых заданий, либо включение соответствующего механизма в типовой конфигурации. Пока такой сеанс не запущен, задания в очереди просто ждут.
Это частая причина жалоб «регламентные задания не выполняются» в файловых базах: расписание корректно, задание включено, но нет процесса, который бы его запускал. Проверяется это просто — в списке активных пользователей должен быть сеанс, отвечающий за выполнение фоновых заданий.
Как посмотреть список и состояние заданий
Штатный способ — встроенная обработка. В большинстве типовых конфигураций на БСП (1С:ERP, 1С:Бухгалтерия, 1С:ЗУП, 1С:Управление торговлей) откройте раздел «Администрирование» → «Обслуживание» → «Регламентные и фоновые задания». Здесь видны все задания, их расписание, состояние последнего выполнения и дата окончания. Из этого же списка можно открыть настройку расписания и временно отключить задание.
Для нестандартных конфигураций и глубокой диагностики используют внешнюю обработку «Консоль заданий» — она показывает очередь, позволяет выполнить задание принудительно, посмотреть ошибки и отменить зависшие фоновые задания. Такая консоль входит в состав инструментов разработчика и стандартных подсистем БСП.
Программно список заданий получают через менеджер регламентных заданий встроенного языка. Это удобно для массовых операций — например, отключения всех заданий в копии базы одной процедурой.
МассивЗаданий = РегламентныеЗадания.ПолучитьРегламентныеЗадания();Для Каждого Задание Из МассивЗаданий Цикл
Задание.Использование = Ложь;
Задание.Записать();
КонецЦикла;Как изменить расписание и отключить задание безопасно
Изменение расписания через интерфейс «Регламентные и фоновые задания» записывается в базу и действует до следующего изменения. При обновлении конфигурации пользовательские настройки расписания, как правило, сохраняются, но расписание по умолчанию из метаданных может применяться для новых заданий. Перед массовыми изменениями зафиксируйте текущие настройки — хотя бы скриншотами или выгрузкой через код.
Для отключения одного задания достаточно снять флаг использования в его свойствах. Для отключения всех заданий целиком в клиент-серверной базе надёжнее использовать блокировку на уровне кластера: свойства информационной базы в консоли администрирования → «Блокировка регламентных заданий включена». Это гарантированно останавливает выполнение независимо от настроек отдельных заданий.
Если задание «зависло» и блокирует работу, сначала найдите соответствующее фоновое задание в консоли и попробуйте отменить его штатно. Принудительное завершение сеанса в консоли кластера — крайняя мера: обрыв на середине транзакции может оставить незавершённые операции, особенно в заданиях обмена данными.
- 1Разверните копию базы и зарегистрируйте её в кластере или откройте файловую копию
- 2В консоли кластера включите блокировку регламентных заданий для этой базы
- 3Войдите в базу и откройте «Администрирование» → «Регламентные и фоновые задания»
- 4Проверьте, что ни одно задание не находится в состоянии «Выполняется»
- 5Отключите использование заданий, которые не должны работать в копии, в первую очередь обмены и рассылки
Типичные проблемы и как их диагностировать
Самая частая жалоба — задание не выполняется по расписанию. Причины по убыванию вероятности: для файловой базы не запущен сеанс-исполнитель; задание отключено (снят флаг использования); включена блокировка регламентных заданий в свойствах базы; предыдущий запуск завершился ошибкой и задание заблокировано; расписание настроено так, что ближайший запуск наступит позже ожидаемого.
Вторая группа проблем — ошибки выполнения. Задание запускается, но завершается с ошибкой, и текст ошибки виден в консоли заданий и в журнале регистрации (отбор по событию регламентного задания). Часто причина в правах пользователя, от имени которого выполняется задание, или в недоступности внешнего ресурса — каталога обмена, почтового сервера, веб-сервиса.
Третья ситуация — дублирование: одно и то же действие (рассылка, выгрузка) происходит дважды. Почти всегда это означает, что задание выполняется и в основной базе, и в её копии, где его забыли отключить. Проверьте все развёрнутые копии и тестовые стенды.
Где искать следы выполнения: журнал регистрации
Факт запуска и результат каждого регламентного задания фиксируются в журнале регистрации. В клиент-серверном варианте журнал хранится в каталоге служебных файлов базы на сервере (в формате .lgd), в файловом — в подкаталоге базы рядом с 1Cv8.1CD. Просматривать его удобнее всего через конфигуратор: «Администрирование» → «Журнал регистрации» с отбором по имени регламентного задания.
По журналу можно установить, когда задание запускалось последний раз, сколько выполнялось и с какой ошибкой завершилось. Это первый источник информации при любой диагностике — до изменения расписаний и перезапуска служб. Если журнал «пустой» по нужным событиям, проверьте настройку уровней регистрации: возможно, ошибки фоновых заданий просто не пишутся из-за текущего режима журнала.
Как проверить результат
«Завершено» с актуальной датой окончания
«Ошибка» или дата последнего запуска устарела
Есть активный сеанс, выполняющий фоновые задания
Сеансов нет — задания стоят в очереди
Записи о запуске и завершении по расписанию
Записей нет либо повторяющиеся ошибки
Блокировка заданий включена во всех копиях
В копии выполняются обмены или рассылки
Частые вопросы
Хранятся ли регламентные задания в планировщике задач Windows?
Нет. Платформа 1С реализует собственный механизм очереди внутри информационной базы и не создаёт задач в планировщике Windows. Внешний планировщик иногда используют лишь для запуска сеанса-исполнителя файловой базы, но сами задания и расписания находятся в базе.
Перенесутся ли регламентные задания при выгрузке базы в файл .dt?
Да. Выгрузка в .dt включает служебные данные очереди заданий, поэтому после загрузки копии задания окажутся в том же состоянии, что и в исходной базе. Сразу после загрузки отключите их или включите блокировку в свойствах базы кластера.
Почему после обновления конфигурации задание перестало выполняться?
Частые причины: задание было отключено обработчиком обновления, изменилось имя метода в конфигурации и старая запись очереди ссылается на несуществующую процедуру, либо включилась блокировка заданий на время обновления и её не сняли. Проверьте состояние в консоли заданий и журнал регистрации за период обновления.
Можно ли запустить регламентное задание вручную, не дожидаясь расписания?
Да. В консоли заданий есть команда «Выполнить сейчас» — она создаёт фоновое задание немедленно, не меняя расписание. Программно это делается через создание фонового задания с указанием метода регламентного задания.
От чьего имени выполняется регламентное задание?
От имени пользователя, указанного в свойствах задания в базе. Если пользователь не задан, задание выполняется от имени пользователя по умолчанию с ограниченным контекстом. Ошибки прав доступа у заданий почти всегда связаны именно с этой настройкой — проверьте, что у указанного пользователя есть права на объекты, с которыми работает процедура.
Что важно запомнить
Регламентные задания живут внутри информационной базы: в таблицах СУБД на сервере или в файле 1Cv8.1CD в файловом варианте. Управляйте ими через «Регламентные и фоновые задания», консоль заданий или код, блокируйте задания в тестовых копиях сразу после развёртывания и начинайте любую диагностику с журнала регистрации. Прямая правка системных таблиц недопустима.