Как исправить ошибку «Регламентное задание не найдено» при обновлении УТ 11.3?

Программист 1С v8.3 (Управляемые формы) 1С:Управление торговлей IT и автоматизация бизнеса
← На главную

При работе с конфигурацией «1С:Управление торговлей» версии 11.3 (и другими решениями на базе Библиотеки стандартных подсистем — БСП) специалисты часто сталкиваются со сбоями при попытке развернуть или обновить измененную конфигурацию на пустой базе данных. Типичный сценарий выглядит следующим образом: создается новая чистая база данных, в нее загружается доработанная конфигурация из файла (.cf), запускается процесс обновления информационной базы, однако система аварийно прерывает операцию.

В журнале регистрации при этом фиксируется критическая ошибка следующего вида:


При вызове обработчика обновления: "ОбработкаНовостей.ОбновлениеИнформационнойБазы_ОбщиеДанные_ПерейтиНаВерсию" произошла ошибка:
{ОбщийМодуль.РегламентныеЗаданияСервер.Модуль(768)}: Регламентное задание не найдено. Возможно, оно удалено другим пользователем.

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

Выясняем техническую причину сбоя

Для начала проанализируем внутренние механизмы платформы «1С:Предприятие» и БСП, которые приводят к возникновению этой ошибки. При переходе на новую версию конфигурации запускаются специализированные обработчики обновления. Один из них — процедура ОбновлениеИнформационнойБазы_ОбщиеДанные_ПерейтиНаВерсию из общего модуля ОбработкаНовостей.

Основная задача этого обработчика — автоматическая перенастройка расписания регламентного задания, которое отвечает за скачивание актуальных новостных лент с серверов компании «1С» (речь идет о регламентном задании с именем ВсеОбновленияНовостей). Для этого программный код обращается к общему модулю управления регламентными заданиями:


РегламентноеЗадание = РегламентныеЗаданияСервер.ПолучитьРегламентноеЗадание(Метаданные.РегламентныеЗадания.ВсеОбновленияНовостей);

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

Существует две основные причины, почему это задание не удается найти в базе данных:

  1. Физическое удаление объекта метаданных. В процессе оптимизации или «облегчения» конфигурации программисты нередко удаляют неиспользуемый (по их мнению) функционал, например, подсистему новостей или интеграции. Если объект метаданных ВсеОбновленияНовостей был удален из ветки «Общие -> Регламентные задания», но программный код обработчиков обновления остался прежним, при запуске неизбежно возникнет сбой.
  2. Отсутствие инициализации предопределенных заданий в новой базе. При создании абсолютно пустой базы данных из файла конфигурации предопределенные регламентные задания в СУБД или файловой таблице базы данных еще не созданы физически. При первом запуске система пытается выполнить процедуры обновления до того, как менеджер регламентных заданий успеет их зарегистрировать.

Как настроить отладку фоновых заданий в файловой базе

Чтобы детально изучить проблему и понять, на каком именно этапе и какое именно задание вызывает ошибку, нам понадобится отладчик. Однако в файловом режиме стандартные точки останова в коде регламентных или фоновых заданий могут не срабатывать. Настроим автоматическое подключение отладчика по шагам:

  1. Откройте вашу информационную базу в режиме Конфигуратор.
  2. В главном меню перейдите в раздел Отладка и выберите пункт Подключение....
  3. В открывшемся диалоговом окне нажмите кнопку Автоматическое подключение.
  4. В появившемся списке доступных типов объектов обязательно установите флажок напротив пункта Фоновые задания. Также рекомендуется отметить флажками остальные пункты для удобства работы.
  5. Нажмите кнопку ОК для сохранения настроек.

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

Способ 1: Правильный порядок создания чистой базы (без изменения кода)

Это наиболее корректный и безопасный метод, который позволяет избежать ошибок инициализации предопределенных объектов в чистой базе. Рассмотрим этот алгоритм по шагам:

  1. Создайте новую пустую информационную базу, но не загружайте туда сразу вашу доработанную конфигурацию. Вместо этого загрузите оригинальную типовую конфигурацию поставщика (чистый релиз УТ 11.3 той же версии, без доработок).
  2. Запустите созданную базу в режиме «1С:Предприятие» под правами администратора.
  3. Дождитесь завершения всех начальных процедур заполнения констант, справочников и инициализации регламентных заданий. Убедитесь, что первый запуск прошел успешно и база полностью готова к работе.
  4. Зайдите в меню НСИ и администрирование -> Обслуживание -> Регламентные операции -> Регламентные и фоновые задания и проверьте, что задание «Все обновления новостей» успешно создано и присутствует в списке.
  5. Закройте пользовательский режим, откройте базу в конфигураторе и выполните операцию Сравнить, объединить с конфигурацией из файла (указав файл вашей доработанной конфигурации .cf).
  6. Примените изменения (клавиша F7) и запустите сеанс «1С:Предприятие» для выполнения обновления. Теперь база данных содержит все необходимые предопределенные элементы, и процесс завершится без ошибок.

Способ 2: Восстановление метаданных регламентного задания

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

  1. Откройте конфигуратор доработанной базы.
  2. Перейдите в ветку дерева метаданных: Общие -> Регламентные задания.
  3. Проверьте наличие задания с именем ВсеОбновленияНовостей.
  4. Если объект отсутствует, создайте новое регламентное задание с аналогичным именем. Настраивать расписание или привязывать реальный метод выполнения не требуется — главное, чтобы в метаданных присутствовал сам идентификатор объекта.
  5. Сохраните конфигурацию базы данных с помощью клавиши F7.

Способ 3: Обход проверки в коде (быстрое временное решение)

Если вам нужно срочно запустить базу и вы уверены, что функционал автоматического обновления новостей от «1С» вам не потребуется, можно временно обойти проверку в коде конфигурации. Проанализируем, как это сделать:

  1. В конфигураторе найдите общий модуль РегламентныеЗаданияСервер.
  2. Перейдите к строке, указанной в тексте ошибки (обычно это строка в диапазоне 760–840). Найдите функцию ПолучитьРегламентноеЗадание().
  3. Найдите условие проверки на равенство переменной значению Неопределено:

Если РегламентноеЗадание = Неопределено Тогда
    ВызватьИсключение( НСтр("ru = 'Регламентное задание не найдено. Возможно, оно удалено другим пользователем.'") );
КонецЕсли;

Временно модифицируйте этот участок кода следующим образом, закомментировав вызов исключения:


Если РегламентноеЗадание = Неопределено Тогда
    // ВызватьИсключение( НСтр("ru = 'Регламентное задание не найдено.'") );
    Возврат Неопределено;
КонецЕсли;

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

Способ 4: Отключение обработчика обновления новостей

Еще один профессиональный способ — полностью исключить регистрацию сбойного обработчика обновления новостей в системе БСП. Для этого выполните следующие действия:

  1. Найдите общий модуль, отвечающий за регистрацию обработчиков обновления подсистемы новостей или интернет-поддержки (обычно это модули с именами вида ОбновлениеИнформационнойБазыБИП или аналогичные).
  2. Найдите процедуру ПриДобавленииОбработчиковУстановкиОбновлений.
  3. Найдите строку, где регистрируется процедура ОбработкаНовостей.ОбновлениеИнформационнойБазы_ОбщиеДанные_ПерейтиНаВерсию.
  4. Закомментируйте строку регистрации этого обработчика.

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

← На главную