Регламентное задание 1С молчит: где искать причину и как его запустить

· 10 мин

Содержание

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

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

С чего начать: файловая база или сервер 1С

Механизм запуска регламентных заданий в двух вариантах работы устроен по-разному. От этого зависит, где искать поломку.

Вариант базыКто запускает заданияГлавное условие
Клиент-сервернаяКластер серверов 1С, без участия пользователейРаботает служба агента сервера, в свойствах базы не стоит блокировка регламентных заданий
ФайловаяОдин из запущенных клиентских сеансовКто-то должен держать базу открытой

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

Запуск в клиенте регулирует параметр командной строки /AllowExecuteScheduledJobs:

  • -Off — этот сеанс задания не выполняет;
  • -Force — выполнять задания в этом сеансе.

💡 Для файловой базы с ночными заданиями заведите на отдельном компьютере ярлык с ключом /AllowExecuteScheduledJobs -Force под служебным пользователем и оставляйте сеанс открытым. Надёжнее перевести базу на сервер 1С, если задания критичны.

"C:\Program Files\1cv8\common\1cestart.exe" ENTERPRISE /F"D:\Base\Buh" /N"Регламент" /P"пароль" /AllowExecuteScheduledJobs -Force

Пароль в ярлыке виден любому, у кого есть доступ к компьютеру. Дайте этому пользователю только те права, которые нужны заданиям.

Флаг «Использование», расписание и зависший фоновый запуск

В конфигурациях на БСП (Бухгалтерия 3.0, ЗУП 3.1, УТ 11, КА, ERP) список заданий открывается одинаково: Администрирование → Обслуживание, в группе «Регламентные операции» ссылка «Регламентные и фоновые задания».

Что смотреть в списке заданий

  1. Найдите нужное задание и откройте его.
  2. Проверьте флаг «Использование». Без него задание не запустится никогда, какое бы расписание ни стояло.
  3. Откройте расписание. Оно задаётся на вкладках «Общее», «Дневное», «Недельное», «Месячное».
  4. Посмотрите колонки с датой и состоянием последнего выполнения.

Ловушки расписания

  • 📅 Дата окончания в прошлом. Расписание формально задано, но срок действия закончился.
  • 🕐 Окно времени. Задано «с 01:00 до 02:00», а сервер в это время перезагружается по регламенту Windows.
  • 🔁 Повтор без интервала. Стоит «Повторять через», но не указана пауза — задание выполняется один раз в день.
  • 🌍 Часовой пояс. Расписание отсчитывается по времени компьютера, где работает сервер 1С. Если сервер стоит в другом часовом поясе или в UTC, «03:00» наступает не тогда, когда вы ждёте.

Предыдущий запуск ещё работает

Платформа не запускает новый экземпляр регламентного задания, пока активен предыдущий. Если вчерашний обмен завис на внешнем веб-сервисе, сегодняшний не стартует.

Перейдите на вкладку «Фоновые задания» той же формы. Задание в состоянии «Активно» с началом несколько часов назад — кандидат на отмену. Отмените его из формы и проверьте, что следующий запуск по расписанию прошёл.

Задание отключилось после копирования базы

БСП отслеживает перенос базы. Если базу скопировали или восстановили из бэкапа на другой сервер, программа блокирует работу с внешними ресурсами: обмены, загрузку курсов, отправку почты. При входе администратора появляется окно с вопросом, это копия или перенос основной базы.

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

Пользователь, под которым выполняется задание

У каждого регламентного задания в карточке есть поле «Пользователь». Задание работает с правами этого пользователя информационной базы.

Типичные проблемы:

  • 👤 Пользователь удалён или переименован. В поле осталась ссылка на несуществующую учётную запись — задание падает при старте.
  • 🔒 Пользователю урезали права. Сменили профиль групп доступа, и обработка больше не может записать документ.
  • ⛔ Вход запрещён. В карточке пользователя сняли флаг «Вход в программу разрешён» или включили ограничение по датам.
  • 🔑 Только аутентификация ОС. Для заданий, которые требуют вход под конкретной учётной записью, это нередко приводит к ошибке старта.

Что сделать:

  1. Создайте служебного пользователя, например «Регламент», с понятным набором прав.
  2. Укажите его во всех заданиях, которые должны работать от одного имени.
  3. Никого не ставьте в задания «временно, под себя»: человек уволится, учётку отключат, задания встанут.

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

Права нужны и вне 1С. В клиент-серверной базе код задания выполняется в рабочем процессе сервера 1С под учётной записью службы (по умолчанию USR1CV8). Именно этой учётке нужен доступ к папкам обмена, сетевым ресурсам и сертификатам. Права пользователя Windows, который настраивал задание, тут ни при чём.

Служба сервера 1С и настройки кластера

Если в клиент-серверной базе не запускается ни одно регламентное задание — дело почти наверняка в сервере, а не в конфигурации.

Блокировка регламентных заданий в свойствах базы

  1. Откройте консоль администрирования серверов 1С.
  2. Разверните кластер → «Информационные базы» → нужная база → «Свойства».
  3. Проверьте флаг «Блокировка регламентных заданий включена».

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

То же самое через утилиту rac (служба ras должна быть запущена):

rac cluster list
rac infobase summary list --cluster=<id_кластера>
rac infobase info --cluster=<id_кластера> --infobase=<id_базы> --infobase-user=Админ --infobase-pwd=пароль

В выводе info есть параметр scheduled-jobs-deny. Если там on, задания заблокированы. Как его изменить, смотрите в справке rac help infobase.

Служба агента и рабочие процессы

  • 🟢 Служба «Агент сервера 1С:Предприятия 8.3» запущена и стоит в автоматическом режиме.
  • 🟢 В консоли у кластера есть хотя бы один рабочий процесс rphost в состоянии «Включен».
  • 🟢 Свободного места на диске с каталогом кластера (srvinfo) достаточно.
  • 🟢 Время на сервере 1С и на сервере СУБД совпадает.

Требования назначения функциональности

В свойствах рабочего сервера можно задать, какие объекты на нём выполняются. Среди типов объектов есть «Фоновое задание». Если требования настроены так, что фоновые задания не назначены ни на один рабочий сервер, регламентные задания не выполняются нигде.

Проверьте требования у каждого рабочего сервера кластера, особенно если сервера два и более и кто-то «разводил нагрузку».

Перезапуск службы агента или завершение рабочего процесса обрывает сеансы всех пользователей. Делайте это вне рабочего времени и предупредите людей заранее.

Журнал регистрации и технологический журнал

Когда настройки в порядке, а задание всё равно не отрабатывает, причину покажет журнал. Откройте Администрирование → Обслуживание → Журнал регистрации или журнал в Конфигураторе.

Как отфильтровать нужное

  1. Нажмите «Отбор».
  2. В поле «Событие» оставьте события группы «Фоновое задание»: запуск, успешное завершение, ошибка выполнения, отмена.
  3. Поставьте период с момента, когда задание должно было стартовать.
  4. Уровень — «Ошибка».

Как читать результат:

Что видно в журналеЧто это значит
Нет ни одного запускаЗадание не стартует: флаг «Использование», расписание, блокировка в кластере, файловый режим без сеансов
Запуск есть, сразу ошибкаПроблема в правах, коде или внешнем ресурсе — читайте текст ошибки
Запуск есть, завершения нетЗадание висит: блокировка, долгий запрос, ожидание внешнего сервиса
Запуск и успешное завершениеЗадание отработало, но условия внутри не выполнились — проблема в данных или настройках задания

Если журнала регистрации мало

Включите технологический журнал. Создайте файл logcfg.xml в каталоге conf платформы, например C:\Program Files\1cv8\conf\logcfg.xml:

<?xml version="1.0" encoding="UTF-8"?>
<config xmlns="http://v8.1c.ru/v8/tech-log">
  <log location="D:\techlog" history="24">
    <event>
      <eq property="name" value="EXCP"/>
    </event>
    <property name="all"/>
  </log>
</config>

Событие EXCP собирает исключения, в том числе в рабочих процессах, где выполняются задания. Параметр history — сколько часов хранить логи.

Технологический журнал быстро съедает диск. Включайте его на время диагностики и удаляйте файл logcfg.xml после.

Конфликты блокировок и долгие транзакции

Задание может стартовать и тут же упасть на блокировке, если в это время пользователи проводят документы по тем же регистрам. Тексты ошибок обычно такие:

  • Конфликт блокировок при выполнении транзакции
  • Превышено максимальное время ожидания предоставления блокировки
  • сообщения СУБД о взаимоблокировке (deadlock)

Как проверить

  1. В консоли кластера откройте у базы ветку «Блокировки» в момент работы задания. Видно, какие сеансы держат блокировки.
  2. В ветке «Сеансы» найдите сеансы с приложением «Фоновое задание» и долгим временем вызова.
  3. На стороне MS SQL или PostgreSQL проверьте активные транзакции: долгая транзакция одного сеанса держит строки для всех остальных.

Что помогает

  • ⏰ Развести по времени. Закрытие месяца , пересчёт итогов и обмен не стоит ставить на одну и ту же ночь в одно время.
  • 🔄 Повтор при аварийном завершении. В свойствах задания в Конфигураторе задаются количество повторных попыток и интервал повтора. Для заданий, которые падают от редких конфликтов, это снимает проблему.
  • 🧱 Не трогать то, что держит пользователь. Тяжёлую перепроводку днём не запускайте вовсе.

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

Ошибки кода и внешние зависимости

Для доработанных и собственных заданий проверьте в Конфигураторе свойства объекта «Регламентное задание».

Требования к методу

  • 📦 Метод находится в общем модуле с флагом «Сервер».
  • 📤 Процедура объявлена с ключевым словом Экспорт.
  • ✏️ Имя метода в свойствах задания совпадает с именем процедуры. После переименования процедуры ссылку надо выбрать заново.
  • 🖥️ В коде нет клиентских вызовов: Предупреждение(), Вопрос(), открытие форм. Задание выполняется на сервере без интерфейса.

Минимальный шаблон, который пишет ошибку в журнал, а не теряет её:

Процедура ВыгрузкаОстатковРегламент() Экспорт

    Попытка
        ВыполнитьВыгрузку();
    Исключение
        ЗаписьЖурналаРегистрации("Выгрузка остатков",
            УровеньЖурналаРегистрации.Ошибка, , ,
            ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
        ВызватьИсключение;
    КонецПопытки;

КонецПроцедуры

ВызватьИсключение в конце сохраняет аварийное завершение задания. Тогда сработают повторные попытки и состояние в списке заданий будет честным.

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

Внешние ресурсы

РесурсТипичная поломкаЧто проверить
Сетевая папкаПуть Z:\Обмен не виден службеУкажите UNC-путь \\server\share\Обмен и выдайте права учётке службы 1С
Веб-сервис, сайтТаймаут, сертификат, проксиТаймаут в коде соединения, доступ к адресу с сервера 1С, настройки прокси
ПочтаСменился пароль ящика или портУчётная запись электронной почты в программе
COM-объекты, внешние компонентыКомпонента не установлена на сервереРегистрация на каждом рабочем сервере кластера

Буква сетевого диска — самая частая ошибка: у администратора Z: подключён, у службы USR1CV8 нет никаких дисков, кроме локальных.

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

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

Можно ли запустить регламентное задание вручную, не дожидаясь расписания?
Да. В форме «Регламентные и фоновые задания» выделите задание и выполните его командой запуска. Оно стартует как фоновое задание; результат смотрите на вкладке фоновых заданий и в журнале.
Почему задание отрабатывает при ручном запуске, а по расписанию — нет?
При ручном запуске из формы задание обычно выполняется от имени того, кто его запустил. По расписанию задание идёт под пользователем из своей карточки и под учётной записью службы 1С. Сверьте права обоих.
Сколько экземпляров одного задания может работать одновременно?
Один. Пока предыдущий запуск активен, следующий по расписанию не начнётся.
Влияет ли блокировка начала сеансов на регламентные задания?
Блокировка начала сеансов запрещает вход пользователям. Для заданий в свойствах базы в консоли кластера есть отдельный флаг «Блокировка регламентных заданий включена». Перед обновлением конфигурации включают оба флага, после — оба снимают.
Где хранится расписание — в конфигурации или в базе?
Расписание предопределённого задания задаётся в конфигурации, но после изменения в режиме 1С:Предприятие хранится в данных базы. Поэтому при обновлении конфигурации ваши настройки расписания сохраняются.