Mazmunga o'tish
Tez Base

Регламентное задание 1С не выполняется: порядок проверки и скрипт для консоли

· Chop etilgan:

Мониторинг и журналы

Если регламентное задание включено, расписание заполнено, а работы нет, первым делом выясните, запускалось ли оно вообще. Статус отвечает, чем кончился последний вызов, и ничего не говорит о том, были ли вызовы. Дальше проверки идут по цене: запрет заданий в кластере, отказы библиотеки стандартных подсистем при старте, учётная запись в поле “Имя пользователя”. В конце случай, где решило именно это поле: задание шестнадцать месяцев не запустилось ни разу, и журнал всё это время был чист.

Не запускается или работает впустую

Снаружи оба отказа выглядят одинаково: данных нет. Ищутся они в разных местах.

Что видноЧто это значитКуда смотреть
запусков по расписанию нет, ошибок нетзадание не стартуеткластер, поле “Имя пользователя”
запуск есть и сразу обрывается с текстомзапуск отменила проверка БСПтекст ошибки фонового задания
запуски успешные, а данных нетработа идёт вхолостуюкод, права, возраст данных в приёмнике
запуски есть, но тянутся часамизадание не влезает в окновремя по шагам

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

Скрипт: задания базы, их пользователи и последний запуск

Код для консоли кода или внешней обработки. Выполнять на сервере под администратором: список регламентных заданий платформа отдаёт только ему.

Для Каждого Задание Из РегламентныеЗадания.ПолучитьРегламентныеЗадания() Цикл
	Если Не Задание.Использование Тогда
		Продолжить;
	КонецЕсли;
	ИмяПользователя = Задание.ИмяПользователя;
	Если ПустаяСтрока(ИмяПользователя) Тогда
		ОтКого = "имя не задано";
	ИначеЕсли ПользователиИнформационнойБазы.НайтиПоИмени(ИмяПользователя) = Неопределено Тогда
		ОтКого = ИмяПользователя + " (такого пользователя в базе нет)";
	Иначе
		ОтКого = ИмяПользователя;
	КонецЕсли;
	Последнее = Задание.ПоследнееЗадание;
	Если Последнее = Неопределено Тогда
		Запуск = "последний запуск не найден";
	Иначе
		Запуск = Строка(Последнее.Начало) + ", " + Строка(Последнее.Состояние);
	КонецЕсли;
	Сообщить(Задание.Метаданные.Имя + " | " + Задание.Наименование + " | " + ОтКого + " | " + Запуск);
КонецЦикла;

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

Проверки по порядку

  1. История запусков. Если у механизма есть свой журнал, поднимите его целиком и разложите записи по датам и по тому, кто запускал. Среди фоновых заданий ищите хотя бы одно, связанное с этим регламентным.
  2. Блокировка регламентных заданий в кластере. У информационной базы в настройках кластера есть флаг, который выключает её регламентные задания целиком. Его вместе с остальными настройками базы показывает чек-ап сервера 1С, обработка лежит на Инфостарте.
  3. Отказы БСП при старте. Об этом ниже отдельно: задание стартует и тут же прерывается.
  4. Поле “Имя пользователя”. Существует ли учётная запись, из этой ли она базы, не заблокирована ли. После переноса обработки или базы эта проверка идёт первой.
  5. Привязка к команде. Если задание запускает команду дополнительной обработки, убедитесь, что оно ссылается на действующую команду. Иначе запись задания есть, а выполнять нечего.
  6. Расписание. Его стоит смотреть последним. В разборе ниже отличие расписаний между двумя базами нашлось и причиной не оказалось.

Когда задание отменяет сама БСП

Большинство типовых заданий на библиотеке стандартных подсистем, в том числе запуск дополнительных обработок по расписанию, начинают работу с общей проверки ОбщегоНазначения.ПриНачалеВыполненияРегламентногоЗадания. Если она решает, что запускать сейчас нельзя, задание прерывается, а причина остаётся в тексте ошибки фонового задания. По коду УТ 11.5.22.67 причин пять:

Когда прерываетНачало текста ошибки
обновление программы не завершено”Вход в приложение временно невозможен в связи с обновлением на новую версию”
в распределённой базе потеряна связь с главным узлом”Вход в приложение временно невозможен до восстановления связи с главным узлом”
сменилась строка соединения, а задание работает с внешними ресурсами”Изменилась строка соединения информационной базы. Возможно информационная база была перемещена”
задание недоступно по функциональным опциям”Регламентное задание недоступно по функциональным опциям”
не заданы начальные региональные настройки”Регламентное задание недоступно до установки начальных региональных настроек”

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

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

Задание выгружало продажи партнёру. Использование включено, расписание каждый день с 06:00 до 10:30 раз в час, ошибок в журнале ноль. В истории механизма 580 записей, и все поставлены ручными прогонами: автоматических нет ни за один день с апреля 2025 года.

Первой версией было “задание видит недавний успех и пропускает запуск”. Её сняли замером: удалили запись об успешном прогоне, руками довезли данные за нужный день и стали ждать. Четыре дня ни одного запуска.

Дальше сравнивали с соседней базой, где тот же код срабатывает каждый день в 23:45. Запрет заданий в кластере был снят, в модели сервиса база не работала, привязка команды оказалась верной, права на внешние соединения совпали у обеих баз. Отличие нашлось в расписании: у соседа простое “раз в день”, у нас окно с повтором. Причиной оно тоже не было.

Решило поле “Имя пользователя”. Там стояла учётная запись из базы, откуда обработку когда-то скопировали вместе с настройками задания. Поле поправили, задание пошло само, а разрыв за дни разбора закрыли вручную: 271 пакет без единой ошибки. Как платформа обрабатывает запуск под учётной записью, которой нет в базе, мы изнутри не разбирали: причина названа по результату.

Контроль снаружи

Задание, которое не стартовало, не напишет ни ошибки, ни отметки о работе. Любая диагностика внутри его кода до этого места просто не доживает. Такой отказ видит только проверка снаружи: дата последнего изменения данных, которые задание обязано менять, рядом с сегодняшней датой. Хватит отчёта на две строки или пункта в мониторинге 1С, лишь бы проверка жила вне задания, за которым следит.

Buni siz uchun hal qila olaman

Reglament xizmatni shunday sozlaymizki, baza barqaror ishlaydi, bekaplar kafolatli tiklanadi, disklardagi joy esa kutilmaganda tugab qolmaydi.

Narxi
450 000 ₸ danbir martalik sozlash; kuzatib borish - oyiga 150 000 ₸ dan; soliqlarsiz

Yozishga erta? O'zingiz o'lchang

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

Ishlov berishni ochish

INFOSTART TECH EVENT 2026: конференция для 1с-специалистов. если собираетесь, регистрируйтесь по нашей ссылке. Регистрация →

Buni ham o'qing

Перенос базы 1С с PostgreSQL на MS SQL: смещение дат, индексы и приёмка

Справочник к переезду базы 1С с PostgreSQL на MS SQL Server через ibcmd infobase replicate: какое смещение дат ставить и как узнать текущее, какие ключи индексов шире 900 байт создадутся молча и при чём тут версия SQL Server, чем принимать перенос вместо подсчёта строк. С регламентом по этапам и замерами на трёх базах.

Настройки кластера 1С: как проверить применение и результат

Проверка настроек кластера 1С через RAS: рабочие процессы, расписание перезапуска и память. Сравниваем заданные параметры с фактическим состоянием.

Восстановление базы 1С из бэкапа: готовые скрипты для MS SQL и PostgreSQL

Свежая копия рабочей базы нужна регулярно - под тест, под отладку, под проверку обновления. А restore руками делать страшно: один неверный ввод, и копия легла поверх боевой базы. Готовые скрипты восстановления для MS SQL и PostgreSQL с предохранителями, которые падают до того, как что-то испорчено: имена файлов берутся из самого бэкапа через FILELISTONLY, цель сверяется с источником, служебные базы закрыты. Плюс перевод разового восстановления в ночное задание, после которого копия обновляется сама. Замер на живом сервере: база 17,8 ГБ поднимается за 140 секунд.