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