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

Администрирование · 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С:Управление торговлей) откройте раздел «Администрирование» → «Обслуживание» → «Регламентные и фоновые задания». Здесь видны все задания, их расписание, состояние последнего выполнения и дата окончания. Из этого же списка можно открыть настройку расписания и временно отключить задание.

Для нестандартных конфигураций и глубокой диагностики используют внешнюю обработку «Консоль заданий» — она показывает очередь, позволяет выполнить задание принудительно, посмотреть ошибки и отменить зависшие фоновые задания. Такая консоль входит в состав инструментов разработчика и стандартных подсистем БСП.

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

bsl
МассивЗаданий = РегламентныеЗадания.ПолучитьРегламентныеЗадания();Для Каждого Задание Из МассивЗаданий Цикл
    Задание.Использование = Ложь;
    Задание.Записать();
КонецЦикла;

Как изменить расписание и отключить задание безопасно

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

Для отключения одного задания достаточно снять флаг использования в его свойствах. Для отключения всех заданий целиком в клиент-серверной базе надёжнее использовать блокировку на уровне кластера: свойства информационной базы в консоли администрирования → «Блокировка регламентных заданий включена». Это гарантированно останавливает выполнение независимо от настроек отдельных заданий.

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

Отключение заданий в тестовой копии
  1. 1
    Разверните копию базы и зарегистрируйте её в кластере или откройте файловую копию
  2. 2
    В консоли кластера включите блокировку регламентных заданий для этой базы
  3. 3
    Войдите в базу и откройте «Администрирование» → «Регламентные и фоновые задания»
  4. 4
    Проверьте, что ни одно задание не находится в состоянии «Выполняется»
  5. 5
    Отключите использование заданий, которые не должны работать в копии, в первую очередь обмены и рассылки

Типичные проблемы и как их диагностировать

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

Вторая группа проблем — ошибки выполнения. Задание запускается, но завершается с ошибкой, и текст ошибки виден в консоли заданий и в журнале регистрации (отбор по событию регламентного задания). Часто причина в правах пользователя, от имени которого выполняется задание, или в недоступности внешнего ресурса — каталога обмена, почтового сервера, веб-сервиса.

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

Типичные ошибки
01
Поиск заданий в планировщике Windows — 1С не использует его, задания живут внутри базы
02
Развёртывание тестовой копии без блокировки заданий — копия начинает отправлять реальные письма и обмены
03
Прямая правка системных таблиц СУБД — риск повреждения очереди и остановки рабочих процессов
04
Отключение задания только в конфигураторе — расписание из метаданных не отменяет экземпляр в базе, отключать нужно в самой базе
05
Игнорирование журнала регистрации при ошибках — без него причина сбоя задания почти не диагностируется

Где искать следы выполнения: журнал регистрации

Факт запуска и результат каждого регламентного задания фиксируются в журнале регистрации. В клиент-серверном варианте журнал хранится в каталоге служебных файлов базы на сервере (в формате .lgd), в файловом — в подкаталоге базы рядом с 1Cv8.1CD. Просматривать его удобнее всего через конфигуратор: «Администрирование» → «Журнал регистрации» с отбором по имени регламентного задания.

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

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

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

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

«Завершено» с актуальной датой окончания

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

«Ошибка» или дата последнего запуска устарела

Сеанс-исполнитель в файловой базе
Норма

Есть активный сеанс, выполняющий фоновые задания

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

Сеансов нет — задания стоят в очереди

Журнал регистрации
Норма

Записи о запуске и завершении по расписанию

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

Записей нет либо повторяющиеся ошибки

Тестовые копии
Норма

Блокировка заданий включена во всех копиях

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

В копии выполняются обмены или рассылки

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

Хранятся ли регламентные задания в планировщике задач Windows?

Нет. Платформа 1С реализует собственный механизм очереди внутри информационной базы и не создаёт задач в планировщике Windows. Внешний планировщик иногда используют лишь для запуска сеанса-исполнителя файловой базы, но сами задания и расписания находятся в базе.

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

Да. Выгрузка в .dt включает служебные данные очереди заданий, поэтому после загрузки копии задания окажутся в том же состоянии, что и в исходной базе. Сразу после загрузки отключите их или включите блокировку в свойствах базы кластера.

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

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

Можно ли запустить регламентное задание вручную, не дожидаясь расписания?

Да. В консоли заданий есть команда «Выполнить сейчас» — она создаёт фоновое задание немедленно, не меняя расписание. Программно это делается через создание фонового задания с указанием метода регламентного задания.

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

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

Итог

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

Регламентные задания живут внутри информационной базы: в таблицах СУБД на сервере или в файле 1Cv8.1CD в файловом варианте. Управляйте ими через «Регламентные и фоновые задания», консоль заданий или код, блокируйте задания в тестовых копиях сразу после развёртывания и начинайте любую диагностику с журнала регистрации. Прямая правка системных таблиц недопустима.