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