Регламентные задания 1С 8.3 стоят на месте: где искать сбой и как вернуть их в работу
Содержание
Чаще всего регламентные задания 1С не запускаются из-за флажка «Блокировка регламентных заданий включена» в свойствах информационной базы в консоли кластера. Вторая частая причина — программа решила, что база перемещена или восстановлена из копии, и заблокировала работу с внешними ресурсами. Третья — файловая база: там задания выполняются только внутри открытого клиентского сеанса, а если в базу никто не зашёл, их просто некому запустить.
Если эти три пункта в порядке, дальше идут расписание, пользователь задания, права служебной учётной записи сервера, блокировки и нехватка памяти рабочего процесса. Всё описанное относится к платформе 8.3 и типовым конфигурациям на БСП: Бухгалтерии 3.0, ЗУП 3.1, УТ 11.
С чего начать: список заданий и журнал регистрации
Первое, что нужно понять: задание вообще не стартует или стартует и падает с ошибкой. Это разные проблемы и разные пути решения.
Откройте форму заданий: Администрирование → Обслуживание → Регламентные операции → Регламентные и фоновые задания. В списке видно:
- 📌 включено ли задание (флажок использования);
- 🕒 дату и время последнего запуска;
- ✅ состояние последнего выполнения — завершено, выполняется или завершено аварийно;
- 📝 расписание в виде текста.
Если дата последнего запуска старая, а состояние «Завершено» — задание не стартует, ищите блокировки и расписание. Если запуски идут, но каждый заканчивается аварийно, двойной щелчок по строке открывает карточку, а там видна информация об ошибке последнего выполнения.
Как читать журнал регистрации
Журнал открывается в Администрирование → Обслуживание → Журнал регистрации. Установите отбор:
- По приложению — «Фоновое задание». Регламентные задания выполняются как фоновые, поэтому их события пишутся под этим именем.
- По событиям — всё, что начинается с «Фоновое задание»: запуск, успешное завершение, ошибка выполнения, отмена.
- По уровню — «Ошибка», чтобы отсечь штатные записи.
- Период — хотя бы двое суток, чтобы увидеть, когда задание работало в последний раз.
В комментарии к событию ошибки лежит текст исключения. Он и подсказывает причину. Типичные примеры:
Нарушение прав доступа!— у пользователя, от имени которого идёт задание, нет нужной роли;Конфликт блокировок при выполнении транзакции— задание столкнулось с документом, который в этот момент проводили пользователи;Недостаточно памяти— рабочий процесс сервера упёрся в лимит;- сообщения о сетевом пути или доступе к файлу — служебная учётная запись сервера не видит папку обмена.
Если в журнале нет вообще ни одной записи «Фоновое задание» за последние дни, платформа задания даже не пыталась запустить. Ошибка в коде тут ни при чём — смотрите блокировки в кластере и настройки файлового режима.
Расписание и флажок «Использование»: проверяем настройки задания
Звучит банально, но отключённое задание встречается постоянно. После обновления конфигурации, загрузки из .dt или ручного вмешательства флажок использования может оказаться снят.
В карточке задания проверьте по порядку:
- Флажок использования. Без него задание не запустится ни при каком расписании.
- Расписание. Откройте его по ссылке в карточке. Посмотрите все вкладки: общее, дневное, недельное, месячное. Частая ловушка — указаны дни недели, а нужный день не отмечен, или задан период действия, который уже закончился.
- Повтор в течение дня. Если задание должно идти каждые 15 минут, должен быть задан интервал повтора. Без него оно выполнится один раз в начальное время.
- Время начала и окончания. Задание с окном «с 01:00 до 03:00» днём не стартует — это не сбой.
Чьё время учитывается
В клиент-серверной базе расписание отсчитывается по часам сервера 1С. Если сервер стоит в UTC, а бухгалтерия живёт по Москве, задание «на 23:00» сработает в 02:00 по местному. В файловой базе время берётся с компьютера, где открыт сеанс, который выполняет задания.
Почему задание не стартует, хотя время пришло
Платформа не запускает новый экземпляр регламентного задания, пока не завершился предыдущий. Если вчерашний запуск завис — например, ждёт ответа от сервера по сети, — новые запуски будут пропускаться.
Проверьте в той же форме вкладку фоновых заданий: если там висит экземпляр с состоянием «Выполняется» и временем начала многочасовой давности, его можно отменить из списка.
Отмена фонового задания прерывает его на середине. Для обмена данными это может значить незавершённую выгрузку, которую потом придётся повторить. Делайте это, когда понимаете, что задание действительно зависло, а не медленно обрабатывает большой объём.
Блокировки регламентных заданий в кластере и в самой базе
Здесь три независимых механизма. Каждый из них останавливает регламентные задания без единой ошибки в журнале.
| Где включается | Что блокирует | Как снять |
|---|---|---|
| Свойства базы в консоли кластера | Все регламентные задания базы | Снять флажок «Блокировка регламентных заданий включена» |
| Защита перемещённой базы (БСП) | Задания, работающие с внешними ресурсами: обмены, загрузка курсов, почта, ЭДО | Подтвердить в программе, что это основная база |
| Незавершённое обновление конфигурации | Большинство заданий до окончания обработчиков обновления | Дождаться или довести обновление до конца |
Флажок в консоли кластера
Откройте консоль администрирования серверов 1С, раскройте кластер, затем Информационные базы, вызовите свойства нужной базы. Внизу формы — флажок «Блокировка регламентных заданий включена».
Его ставят вручную на копиях баз, чтобы тестовая база не отправляла выгрузки и письма вместо рабочей. Бывает, что базу создавали как копию, а потом сделали основной и про флажок забыли. Бывает и наоборот: флажок остался после работ администратора или после сбоя при обновлении через внешнюю программу.
Снимите флажок, нажмите «ОК» и подождите пару минут: менеджер кластера подхватит изменение без перезапуска службы.
Перемещённая или восстановленная база
Типовые конфигурации запоминают, где была запущена база. Если строка соединения изменилась — базу скопировали в другую папку, перенесли на другой сервер, восстановили из резервной копии под новым именем, — программа считает её возможной копией и блокирует работу с внешними ресурсами.
При входе администратора появляется окно с вопросом, что это за база. Варианты сводятся к двум:
- это основная база, её просто перенесли — работа с внешними ресурсами разблокируется;
- это копия — блокировка останется, и обмены не сломают данные рабочей базы.
Если окно закрыли, не прочитав, блокировка остаётся. Вернуть вопрос можно в разделе Администрирование → Обслуживание — найдите на форме команду, связанную с блокировкой работы с внешними ресурсами. Также подтверждение доступно в форме регламентных и фоновых заданий.
Не снимайте эту блокировку в копии базы, если в ней настроены обмены с рабочими системами. Копия начнёт забирать и отправлять данные наравне с основной, и разбирать задвоения придётся вручную.
Незавершённое обновление
После установки нового релиза типовая конфигурация выполняет обработчики обновления. Часть из них идёт в фоне через регламентное задание отложенного обновления. Пока основная часть не завершена, остальные задания могут не выполняться. Проверить ход можно в Администрирование → Обслуживание → Результаты обновления программы.
Пользователь задания и права служебной учётной записи
У задания два «владельца», и проблемы с каждым выглядят по-разному.
Пользователь информационной базы
В карточке задания указан пользователь, от имени которого оно выполняется. Ошибки возникают, если:
- 👤 пользователя удалили или пометили на удаление — например, уволился бухгалтер, под которым настроили обмен;
- 🔒 пользователю урезали права и у него больше нет ролей для работы с нужными документами;
- 🚫 у пользователя снят флажок «Вход в программу разрешён»;
- 🔑 пользователь входил только через аутентификацию ОС, а учётную запись Windows отключили.
Решение — создать отдельного служебного пользователя с понятным именем, например «РегламентныеЗадания», выдать ему необходимые роли и указать его во всех заданиях. Тогда уход сотрудника не ломает обмены.
Учётная запись службы сервера 1С
В клиент-серверной базе код задания выполняет рабочий процесс rphost. Он запущен от имени учётной записи службы «Агент сервера 1С:Предприятия» — по умолчанию это локальный пользователь USR1CV8.
Отсюда классическая ситуация: из-под пользователя выгрузка в сетевую папку работает, а по расписанию — нет. Из клиента файл пишет компьютер бухгалтера, а при регламентном запуске — сервер под USR1CV8, у которого прав на эту папку нет.
Что сделать:
- Укажите путь к папке в формате
\\server\share\obmen, а не через букву сетевого диска: подключённые диски существуют только в сеансе пользователя Windows. - Выдайте учётной записи службы права на запись в эту папку — и на общий ресурс, и на уровне NTFS.
- Если службе нужен доступ к ресурсам домена, запустите её от доменной учётной записи с минимально необходимыми правами.
Смена учётной записи службы требует её перезапуска. При перезапуске агента сервера все сеансы пользователей на этом сервере обрываются. Делайте это вечером или в согласованное окно.
Активные сеансы, монопольный режим и конфликты блокировок
Регламентное задание — такой же сеанс, как и пользовательский. Поэтому оно подчиняется тем же ограничениям.
Блокировка начала сеансов. Если администратор установил блокировку работы пользователей — через программу или через консоль кластера, — новые сеансы не создаются. Регламентные задания тоже не стартуют. После окончания работ блокировку нужно снять явно, иначе база будет стоять.
Монопольный режим. Пока конфигуратор или пользователь держит базу в монопольном режиме — например, во время обновления структуры или тестирования и исправления, — фоновые задания не запускаются.
Конфликты управляемых блокировок. Задание стартует, но падает с ошибкой «Конфликт блокировок при выполнении транзакции» или с превышением времени ожидания блокировки. Причина — пользователи в это же время проводят документы, которые задание тоже хочет изменить. Например, закрытие месяца или пересчёт итогов совпадает с массовым проведением.
Решения в порядке убывания простоты:
- 📅 перенести задание на ночь или обеденный перерыв;
- ⏱️ развести по времени два тяжёлых задания, которые трогают одни и те же регистры;
- 🔍 посмотреть в консоли кластера список сеансов и найти, кто держит блокировку в момент сбоя.
Ресурсы сервера: память, процессы, диск
Если задание раньше работало, а потом начало падать без изменений в настройках, проверьте сервер.
Память рабочего процесса. В свойствах рабочего сервера в консоли кластера задаются допустимый объём памяти рабочих процессов и безопасный расход памяти за один вызов. Тяжёлое задание — загрузка большого файла, пересчёт регистров, полнотекстовая индексация — может превысить лимит на вызов. Тогда сервер прерывает вызов, а в журнале появляется ошибка о нехватке памяти.
Варианты: поднять лимит, если на сервере есть свободная память, или разбить задание на порции, если это ваша доработка.
Перезапуск рабочих процессов. В свойствах кластера можно задать интервал перезапуска рабочих процессов. Если он короткий, долгое задание будет обрываться на середине каждый раз. Сверьте время аварийных завершений с моментами перезапуска.
Место на диске. Задания, которые формируют файлы выгрузки, архивы или пишут технологический журнал, упираются в заполненный диск. Особенно часто это диск с временными файлами сервера и каталог журнала регистрации.
Количество сеансов. Если параллельно стартуют десятки заданий с интервалом в минуту, рабочие процессы перегружаются, и задания начинают отставать от расписания. Увеличьте интервалы у тех, кому не нужна такая частота: обновлять курсы валют чаще раза в день смысла нет.
Самопроверка: запустите проблемное задание кнопкой «Выполнить сейчас» в часы минимальной нагрузки. Если вручную ночью оно проходит, а днём по расписанию падает — проблема в нагрузке и блокировках, а не в коде.
Файловая база и сервер 1С: в чём разница для регламентных заданий
Механизм выполнения регламентных заданий в двух вариантах работы устроен по-разному. Большая часть «странных» сбоев в маленьких фирмах связана именно с этим.
| Файловая база | Клиент-серверная база | |
|---|---|---|
| Кто выполняет | Один из открытых клиентских сеансов | Рабочий процесс сервера rphost |
| Нужен ли вход пользователя | Да, иначе задания не выполняются | Нет, работает круглосуточно |
| Время расписания | Компьютер, где открыт сеанс | Сервер 1С |
| Доступ к файлам | Права пользователя Windows | Права учётной записи службы |
| Блокировка в консоли кластера | Нет, консоли нет | Флажок в свойствах базы |
Как добиться работы заданий в файловой базе
В файловом варианте задания выполняются в клиентском сеансе. Если вечером все вышли из программы, ночное задание выполнится только утром, когда кто-то войдёт. Если база открыта у пяти человек, выполнять задания будет один из сеансов, и у этого пользователя программа будет чуть подтормаживать.
Надёжный вариант — выделить отдельный сеанс, который держит регламентные задания. Для этого служит параметр командной строки /AllowExecuteScheduledJobs:
-Force— этот сеанс обязательно выполняет регламентные задания;-Off— этот сеанс не выполняет их никогда.
Пример ярлыка для служебного компьютера, который постоянно включён:
"C:\Program Files\1cv8\common\1cestart.exe" ENTERPRISE /F"D:\Bases\Buh" /N"РегламентныеЗадания" /P"пароль" /AllowExecuteScheduledJobs -Force
А пользователям, у которых программа тормозит из-за заданий, в ярлык можно добавить /AllowExecuteScheduledJobs -Off.
Пароль в ярлыке виден всем, у кого есть доступ к этому компьютеру. Используйте для служебного сеанса отдельного пользователя с минимальными ролями и, по возможности, аутентификацию ОС.
Типичная ловушка при переходе на сервер
Базу перенесли с файлового варианта на сервер 1С. В файловом режиме задания шли под пользователем Windows и видели его сетевые диски. На сервере они выполняются под USR1CV8, и все задания, работающие с файлами, ломаются в первый же день. Плюс срабатывает защита перемещённой базы. Решаются обе проблемы способами, описанными в разделах про права и блокировки.
Что проверить, если ничего не помогло
Если задание включено, блокировок нет, ошибок в журнале не видно, а оно не стартует:
- 🔁 Проверьте, что служба агента сервера 1С запущена и база видна в консоли кластера.
- 🧩 Убедитесь, что в базе нет расширения или доработки, которая отключает задания программно. В типовых БСП-конфигурациях часть заданий включается только при включённой функциональной опции, например при включённом обмене или ЭДО.
- 🗂️ Если база недавно обновлялась, проверьте, что структура базы данных действительно обновлена: конфигурация базы данных должна совпадать с основной.
- 🕵️ Включите технологический журнал на сервере для событий исключений и посмотрите, что происходит в момент, когда задание должно было стартовать.