Блокировка регламентных и фоновых заданий в серверной базе 1С: три способа и их последствия

· 9 мин

Содержание

Чтобы отключить фоновые задания в 1С 8.3 на сервере сразу для всей базы, откройте консоль администрирования серверов 1С, зайдите в свойства информационной базы и поставьте флажок Блокировка регламентных заданий включена. Без графической консоли то же самое делает утилита rac с параметром --scheduled-jobs-deny=on. Новые запуски по расписанию прекратятся, перезапускать службу не нужно.

Типичная ситуация: развернули копию рабочей базы для тестов, а она начала сама гонять обмены, слать письма и грузить документы из ЭДО. Или ночное задание раз за разом подвешивает сервер. Ниже — как остановить задания целиком или выборочно, как это сделать из скрипта и что перестанет работать после отключения.

Что именно отключается: регламентные и фоновые задания

В 1С два похожих механизма, и путаница между ними — главная причина вопроса «я всё отключил, а оно работает».

  • ⏰ Регламентное задание — запускается платформой по расписанию: загрузка курсов валют, обмен данными, обновление полнотекстового индекса, получение писем, отложенная обработка данных после обновления.
  • ⚙️ Фоновое задание — запускается кодом конфигурации. Каждое регламентное задание при выполнении тоже становится фоновым. Но фоновые задания создаются и вручную: длительное формирование отчёта, закрытие месяца , групповое перепроведение.

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

На практике запрос «отключить фоновые задания» почти всегда означает «остановить всё, что работает по расписанию». Это и делает флажок блокировки.

СпособЧто отключаетКогда подходитРиски
Консоль кластераВсе регламентные задания базыТестовая копия, разбор проблемы, обслуживаниеВстанут обмены и обновления данных
Утилита racТо же, из командной строкиLinux, скрипты, массовые операцииОшибка в UUID — заблокируете не ту базу
КонфигураторКонкретное задание на уровне метаданныхДоработанная конфигурация, задание не нужно вообщеИзменение конфигурации, снятие с поддержки
Карточка задания в программеКонкретное задание в этой базеТиповая конфигурация на БСППочти нет, легко вернуть

Способ 1. Блокировка через консоль администрирования серверов 1С

Консоль ставится вместе с платформой как компонент «Администрирование сервера 1С:Предприятия». На Windows её ярлык лежит в меню «Пуск» в папке версии 1С.

Пошагово

  1. Запустите консоль от имени пользователя с правами администратора кластера.
  2. Разверните дерево: Central 1C:Enterprise 8.3 servers → имя сервера → Кластеры → кластер (обычно с портом 1541) → Информационные базы.
  3. Щёлкните нужную базу правой кнопкой и выберите Свойства.
  4. Консоль запросит логин и пароль администратора информационной базы — это пользователь 1С с полными правами, не учётная запись Windows. Если в базе нет пользователей, оставьте поля пустыми.
  5. Установите флажок Блокировка регламентных заданий включена.
  6. Нажмите ОК.

Блокировка действует сразу. Задания, которые уже выполнялись в момент установки флажка, доработают до конца. Новые по расписанию не стартуют.

Если консоль не открывается

Самая частая проблема — оснастка выдаёт ошибку при запуске или показывает пустое окно. Обычно не зарегистрирована библиотека radmin.dll нужной версии. Регистрируют её из командной строки, запущенной от администратора:

regsvr32 "C:\Program Files\1cv8\8.3.25.1374\bin\radmin.dll"

Номер в пути замените на версию платформы, установленную на сервере. Версия консоли должна совпадать с версией сервера 1С: старая оснастка к новому серверу не подключится.

Блокировка при создании базы

Если вы разворачиваете копию рабочей базы, флажок можно поставить ещё на этапе создания. В окне создания информационной базы в консоли есть пункт Установить блокировку регламентных заданий. Отметьте его до загрузки .dt — тогда копия не успеет выполнить ни одного обмена.

Копия рабочей базы без блокировки регламентных заданий может выгрузить данные в рабочий узел обмена или отправить документы контрагентам. Блокируйте задания до первого запуска копии.

Способ 2. Отключение из командной строки через rac

На сервере под Linux графической консоли нет. Там, а также в скриптах обслуживания, используют утилиту rac. Она работает через сервер администрирования ras, который должен быть запущен (по умолчанию слушает порт 1545).

Пошагово

  1. Узнайте идентификатор кластера:
rac cluster list
  1. Найдите идентификатор базы:
rac infobase summary list --cluster=<uuid-кластера>
  1. Включите блокировку регламентных заданий:
rac infobase update --cluster=<uuid-кластера> --infobase=<uuid-базы> \
  --infobase-user="Администратор" --infobase-pwd="пароль" \
  --scheduled-jobs-deny=on

Если на кластере заданы администраторы, добавьте --cluster-user и --cluster-pwd. Если ras работает на другом компьютере, первым аргументом укажите адрес: rac srv1c:1545 cluster list.

Снять блокировку — та же команда с --scheduled-jobs-deny=off. Проверить текущее состояние можно командой rac infobase info с теми же параметрами кластера, базы и пользователя.

Через rac удобно блокировать задания в нескольких тестовых базах одним скриптом. Перед массовым запуском сверьте список UUID: имена баз в выводе summary list идут рядом с идентификаторами.

Способ 3. Отключение конкретного задания в Конфигураторе

Конфигуратор не умеет ставить общую блокировку. Зато в нём можно выключить отдельное регламентное задание на уровне конфигурации.

  1. Откройте базу в режиме Конфигуратора.
  2. В дереве метаданных разверните Общие → Регламентные задания.
  3. Откройте свойства нужного задания.
  4. Снимите флажок Использование.
  5. Сохраните конфигурацию и обновите конфигурацию базы данных.

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

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

Как выключить одно фоновое задание и оставить остальные

Если мешает одна конкретная операция — например, ночная загрузка из банка или обмен с сайтом, — блокировать всё не нужно. В конфигурациях на БСП (Бухгалтерия 3.0, ЗУП 3.1, УТ 11, Комплексная автоматизация, ERP) есть обработка со списком всех заданий.

КонфигурацияГде список заданий
Бухгалтерия предприятия 3.0Администрирование → Обслуживание → Регламентные операции → Регламентные и фоновые задания
ЗУП 3.1Администрирование → Обслуживание → Регламентные операции → Регламентные и фоновые задания
Управление торговлей 11НСИ и администрирование → Администрирование → Обслуживание → Регламентные операции → Регламентные и фоновые задания

Если пункт Обслуживание не виден, включите отображение всех функций в настройках интерфейса или войдите пользователем с полными правами.

Пошагово

  1. Откройте список Регламентные и фоновые задания.
  2. На закладке регламентных заданий найдите нужное по наименованию.
  3. Откройте карточку и снимите флажок Включено.
  4. Запишите и закройте.

Рядом в карточке настраивается расписание. Иногда выключать задание не нужно — достаточно перенести его с рабочего дня на ночь или раз в сутки вместо каждых пяти минут.

На закладке фоновых заданий видно, что выполняется прямо сейчас. Зависшее задание можно отменить из этого списка — это безопаснее, чем завершать рабочий процесс на сервере.

Отключение кодом

В доработанной конфигурации или во внешней обработке одно предопределённое задание выключают через встроенный язык:

Задание = РегламентныеЗадания.НайтиПредопределенное(Метаданные.РегламентныеЗадания.ИмяЗадания);
Если Задание <> Неопределено Тогда
    Задание.Использование = Ложь;
    Задание.Записать();
КонецЕсли;

Вместо ИмяЗадания подставьте имя из дерева метаданных. Код выполняется на сервере и требует административных прав.

Почему задания не отключаются: частые ошибки

Диагностика: выберите симптом

Если зависшее задание не отменяется из программы, его сеанс можно завершить в консоли: Информационные базы → база → Сеансы, приложение Фоновое задание. Остальные пользователи при этом не пострадают. А вот перезапуск рабочего процесса или службы сервера 1С оборвёт сеансы всех пользователей этого кластера — делайте это только вне рабочего времени и после предупреждения коллег.

Что сломается после отключения фоновых заданий

Блокировка безвредна для тестовой копии. В рабочей базе последствия накапливаются тихо: ошибок на экране нет, просто данные перестают обновляться.

  • 🔄 Обмены данными — не выгружаются и не загружаются документы между базами, с сайтом, с торговым оборудованием.
  • 💱 Курсы валют и классификаторы — не загружаются, суммы в валюте пересчитаются по старому курсу.
  • 📨 ЭДО и почта — не приходят входящие документы, не отправляются письма.
  • 🔍 Полнотекстовый поиск — индекс не обновляется, новые документы не ищутся.
  • 🧩 Отложенное обновление — после установки нового релиза типовой конфигурации часть данных обрабатывается в фоне. Пока задания заблокированы, обработка стоит, и программа будет показывать, что обновление не завершено.
  • 💾 Резервные копии — если копирование настроено средствами самой программы, а не сервера СУБД, оно тоже перестанет выполняться.

В рабочей базе не оставляйте блокировку дольше, чем нужно для обслуживания. Запишите себе, когда и зачем её поставили, и снимите после работ.

Особенности для разных версий и окружений 1С 8.3

Общий флажок блокировки — свойство информационной базы в кластере. Он есть только в клиент-серверном варианте. В файловой базе консоли кластера нет: там задания отключают в карточке задания или в Конфигураторе.

Отличия между окружениями:

  • 🪟 Сервер на Windows — доступны и графическая консоль, и rac. Версия консоли должна совпадать с версией платформы сервера.
  • 🐧 Сервер на Linux — только rac через ras, либо консоль на Windows-компьютере, подключённая к этому серверу по сети.
  • 🔢 Несколько версий платформы — у каждой версии свой экземпляр rac в папке bin. Запускайте утилиту той же версии, что и сервер, иначе возможны ошибки подключения.

Можно ли через реестр Windows

В интернете встречается совет отключить фоновые задания через реестр. Такой настройки у 1С нет. В реестре хранится только описание службы агента сервера: путь к ragent.exe, порт, каталог кластера. Правка этих параметров не отключит задания, но может сломать запуск службы и остановить работу всех баз.

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

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

Нужно ли перезапускать службу 1С после установки блокировки?
Нет. Флажок начинает действовать сразу, новые задания по расписанию не запускаются.
Блокировка регламентных заданий мешает работать пользователям?
Нет. Пользователи входят и работают как обычно, проводят документы и строят отчёты. Не работает только то, что выполняется по расписанию.
Чем блокировка заданий отличается от блокировки начала сеансов?
Блокировка сеансов запрещает новым пользователям входить в базу. Блокировка регламентных заданий запрещает только автоматический запуск заданий. Это два разных флажка в свойствах базы.
Можно ли включить задания обратно без потерь?
Да. Снимите флажок, и задания пойдут по своему расписанию. Пропущенные запуски не выполняются задним числом: обмен заберёт накопившиеся изменения при следующем сеансе.
Сохранится ли блокировка, если выгрузить базу в .dt и загрузить заново?
Флажок — свойство базы в кластере, а не данные внутри неё. При загрузке .dt в новую базу его нужно ставить отдельно, лучше при создании базы.