Регламентные задания на сервере 1С: блокировка в консоли, через rac и в самой базе
Содержание
Чтобы отключить регламентные задания на сервере 1С сразу для всей базы, откройте консоль администрирования серверов 1С:Предприятия, найдите информационную базу в разделе Информационные базы, откройте её свойства и установите флажок Блокировка регламентных заданий включена. После нажатия «ОК» сервер перестаёт запускать регламентные задания этой базы. Пользователи продолжают работать, данные не трогаются.
Если остановить нужно не всё, а одно задание (например, обмен или загрузку курсов), это делают внутри самой базы, в списке регламентных заданий. Для скриптов и массовой работы есть утилита rac и COM-соединение. Для файловой базы флажка в консоли нет: там действуют другие правила.
Что именно останавливает блокировка и какой способ выбрать
Регламентное задание — это процедура конфигурации, которую сервер запускает сам по расписанию. Он делает это в фоновом сеансе, без участия пользователя. Типичные примеры в типовых конфигурациях:
- 🔄 обмен данными с другими базами и сайтом;
- 📨 получение и отправка документов ЭДО, обмен с банком;
- 💱 загрузка курсов валют и классификаторов;
- 🔍 обновление индекса полнотекстового поиска ;
- 🧹 удаление устаревших данных, отложенная обработка после обновления.
Способов отключения четыре. Они работают на разном уровне, и путать их не стоит.
| Способ | Что отключает | Где хранится настройка | Когда подходит |
|---|---|---|---|
| Флажок в консоли кластера | Все регламентные задания одной базы | В реестре кластера, не в базе | Тестовые копии, работы на сервере, срочная остановка |
rac / COM | То же, что флажок | В реестре кластера | Скрипты, много баз сразу |
| Список заданий в базе | Конкретное задание | В данных информационной базы | Не нужен один обмен или одна загрузка |
| Свойство в Конфигураторе | Задание во всех базах с этой конфигурацией | В конфигурации | Своя разработка, не типовая |
Флажок в консоли не попадает в выгрузку .dt и в резервную копию СУБД. Если вы восстановили базу из копии на другой сервер, блокировку там нужно ставить заново.
Как посмотреть, какие задания сейчас выполняются
Перед отключением полезно понять, что именно сейчас работает. Иначе можно оборвать обмен на середине.
В консоли администрирования
- Запустите консоль администрирования серверов 1С:Предприятия (оснастка
1CV8 Servers.msc). - Раскройте кластер →
Информационные базы→ нужная база →Сеансы. - Посмотрите колонку «Приложение». Сеансы регламентных и фоновых заданий отмечены как фоновое задание.
- В колонках с длительностью вызова и временем начала видно, сколько задание уже работает.
Если такой сеанс висит часами и грузит процессор, это повод разобраться с конкретным заданием, а не блокировать всё.
В самой базе
В конфигурациях на Библиотеке стандартных подсистем (Бухгалтерия 3.0, ЗУП 3.1, УТ 11, ERP и другие) есть штатная форма:
Администрирование → Обслуживание → Регламентные операции → Регламентные и фоновые задания
Вкладка с регламентными заданиями показывает все задания, флажок «Включено», расписание, время последнего запуска и состояние. На вкладке фоновых заданий видно, что выполняется прямо сейчас и чем закончились прошлые запуски. Открыть форму может пользователь с полными правами.
Блокировка регламентных заданий в консоли сервера 1С
Это основной способ. Он не меняет данные и конфигурацию, а снимается одним флажком.
- В консоли откройте
Информационные базыв нужном кластере. - Правой кнопкой по базе →
Свойства. - Если в базе есть пользователи, консоль запросит логин и пароль администратора информационной базы. Это пользователь 1С с административными правами, не администратор кластера.
- Установите флажок
Блокировка регламентных заданий включена. - Нажмите «ОК».
Новые запуски по расписанию прекращаются сразу. Задание, которое уже выполняется, обычно дорабатывает до конца. Если его нужно оборвать немедленно, завершите его сеанс в списке Сеансы.
Принудительное завершение сеанса обмена или загрузки может оставить незавершённый пакет данных. Делайте это, только если задание явно зависло, и проверьте результат обмена после повторного запуска.
Флажок при создании базы
В окне создания новой информационной базы в консоли есть отдельный флажок установки блокировки регламентных заданий. Ставьте его всегда, когда разворачиваете копию рабочей базы для тестов. Копия без блокировки начнёт обмениваться с реальными узлами, банком и ЭДО от имени рабочей организации. Это частая и неприятная история: тестовая база забирает входящие документы, и в рабочей их уже нет.
Отключение отдельного регламентного задания в базе и в Конфигураторе
Блокировка в консоли отключает всё разом. Когда мешает одно задание, его выключают точечно.
Через форму «Регламентные и фоновые задания»
- Откройте форму по пути из раздела выше.
- Найдите задание в списке. Используйте поиск по форме, если заданий много.
- Снимите флажок «Включено» или откройте карточку задания и снимите его там.
- Запишите изменения.
Здесь же меняют расписание: открыв карточку, можно настроить запуск, например, раз в час вместо каждой минуты. Часто это лучше полного отключения.
Многие задания в типовых конфигурациях управляются не только из этой формы, но и из настроек своего механизма. Обмен с банком, ЭДО, загрузка курсов включаются в своих разделах. Если выключить задание здесь, а потом зайти в настройки обмена и нажать «Записать», флажок может включиться снова. Надёжнее отключать задание там же, где включали функцию.
Через Конфигуратор
В дереве метаданных регламентное задание лежит в ветке Общие → Регламентные задания. У объекта есть свойства «Использование» и «Предопределённое», а также расписание по умолчанию.
Снять «Использование» в Конфигураторе — значит изменить конфигурацию . Для типовой конфигурации на поддержке это неудачная идея: придётся включать возможность изменения и помнить об этой правке при каждом обновлении. Способ годится для собственных разработок или если задание добавлено вашим программистом.
Программно
Из внешней обработки, выполненной на сервере под пользователем с полными правами, задание отключают так:
&НаСервере
Процедура ОтключитьЗаданиеНаСервере(ИмяМетаданных)
Отбор = Новый Структура("Метаданные", Метаданные.РегламентныеЗадания[ИмяМетаданных]);
Задания = РегламентныеЗадания.ПолучитьРегламентныеЗадания(Отбор);
Для Каждого Задание Из Задания Цикл
Задание.Использование = Ложь;
Задание.Записать();
КонецЦикла;
КонецПроцедуры
Имя метаданных берите из Конфигуратора, а не из представления в форме: в списке пользователь видит синоним, а в коде нужно имя.
Отключение через rac и COM-соединение
Для скриптов, планировщика и удалённой работы удобнее утилита rac. Она работает через сервер администрирования ras. По умолчанию ras слушает порт 1545. Обе утилиты лежат в каталоге bin установленной версии платформы.
Сначала получите идентификатор кластера и базы:
rac localhost:1545 cluster list
rac localhost:1545 infobase summary list --cluster=<uuid-кластера>
Затем установите блокировку:
rac localhost:1545 infobase update ^
--cluster=<uuid-кластера> ^
--infobase=<uuid-базы> ^
--infobase-user="Администратор" ^
--infobase-pwd="пароль" ^
--scheduled-jobs-deny=on
Чтобы снять блокировку, выполните ту же команду с --scheduled-jobs-deny=off. Если на кластере заданы администраторы, добавьте --cluster-user и --cluster-pwd. Проверить результат можно командой rac infobase info с теми же параметрами базы: в выводе есть строка scheduled-jobs-deny.
Команды удобно повесить на задачу планировщика Windows или cron: перед ночным обслуживанием ставить блокировку, после — снимать.
COM-соединение
Через V83.COMConnector путь длиннее, но тоже рабочий. Подключаетесь к агенту сервера, проходите аутентификацию администратора кластера, получаете рабочий процесс и подключаетесь к нему. Там добавляете аутентификацию администратора информационной базы, находите базу в списке GetInfoBases(), ставите свойство ScheduledJobsDenied в Истина и вызываете UpdateInfoBase. Результат тот же, что у флажка в консоли. Для новых скриптов rac проще: не нужна регистрация COM-компоненты и совпадение её разрядности с программой, которая её вызывает.
Массовое отключение на всём сервере 1С
Единого флажка «выключить задания во всех базах кластера» в консоли нет. Блокировка всегда ставится на уровне информационной базы. Для всего сервера есть три подхода.
- Скрипт по всем базам. Получаете список баз через
infobase summary listи в цикле выполняетеinfobase update --scheduled-jobs-deny=on. Учтите: для каждой базы нужен логин администратора этой базы. - Требования назначения функциональности. В свойствах рабочего сервера можно указать, какие серверы кластера выполняют фоновые задания. Это инструмент распределения нагрузки в кластере из нескольких серверов, а не выключатель. Если запретить фоновые задания на всех серверах, перестанут работать и длительные операции пользователей, которые конфигурация запускает в фоне: формирование отчётов, закрытие месяца , загрузки.
- Остановка службы агента сервера. Задания, конечно, прекратятся, но вместе с ними и вся работа пользователей.
Остановка службы 1С:Предприятия обрывает все сеансы всех баз на сервере. Несохранённые документы пропадут. Делайте это только в согласованное окно обслуживания, предупредив пользователей.
Для регулярного обслуживания правильный вариант — первый: блокировка по списку баз скриптом.
Как остановить регламентные задания в файловой базе
В файловом варианте нет кластера и нет консоли. Регламентные задания выполняет сам клиент 1С, который открыл базу. Поэтому флажка блокировки там нет, а управление другое.
- 🖥 Отдельные задания отключают так же, как на сервере: в форме «Регламентные и фоновые задания» или программно через свойство
Использование. - ⚙️ Параметр запуска клиента. Для 1cv8 есть параметр командной строки
/AllowExecuteScheduledJobsсо значениями-Off(запретить выполнение заданий этим клиентом) и-Force(выполнять). Его прописывают в ярлык или в дополнительные параметры запуска в списке баз. - 🌐 Публикация на веб-сервере. Если с файловой базой работают через браузер, задания может выполнять процесс веб-сервера. Это настраивается в файле публикации
default.vrd.
Практический приём: назначьте одно рабочее место «дежурным» и запускайте на нём клиент с -Force, а остальным пропишите -Off. Тогда обмены не будут стартовать на случайном ноутбуке, который вечером закрыли посреди загрузки.
Что проверить после отключения регламентных заданий
Отключение заданий почти всегда даёт побочные эффекты. Часть из них проявляется не сразу.
Что перестанет работать
- 📭 Не приходят входящие документы ЭДО и выписки банка, если их получение настроено по расписанию.
- 🔄 Узлы обмена копят изменения. После включения первый обмен будет долгим.
- 💱 Курсы валют не обновляются, и в документах окажется вчерашний курс.
- 🔍 Полнотекстовый поиск ищет по устаревшему индексу.
- 🛠 После обновления конфигурации не выполняется отложенная обработка данных. В Бухгалтерии 3.0 и ЗУП 3.1 часть отчётов и функций до её завершения может работать неполностью.
Последний пункт особенно важен: если блокировка стоит постоянно, обновления вроде бы проходят, но «хвосты» обработки не доделываются неделями.
Типичные ситуации после отключения
После снятия блокировки откройте форму фоновых заданий и убедитесь, что задания стартовали и завершились без ошибок. Подробности неудачных запусков ищите в журнале регистрации с отбором по событиям регламентных и фоновых заданий.