Почему новое регламентное задание не отображается в консоли 1С и как это исправить?

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

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

Анализ исходной ситуации

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


Процедура ПМТ_ПроведениеДокументов() Экспорт
    Обработка = Обработки.ПроведениеДокументов.Создать();
    Обработка.КнопкаВыполнитьНажатиеПроведениеДокументов(); 
КонецПроцедуры

Несмотря на то, что код написан корректно и успешно компилируется, само задание не отображается в списке консоли. Проанализируем, почему так происходит, и как свойства метаданных влияют на видимость объектов в режиме «1С:Предприятие».

Решение 1. Использование свойства «Предопределенное»

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

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

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

Если вам необходимо, чтобы задание создавалось автоматически у всех пользователей при обновлении ИБ, выполните следующие шаги в конфигураторе:

  1. Откройте палитру свойств вашего регламентного задания.
  2. Найдите свойство Предопределенное.
  3. Установите для него значение Истина (поставьте флажок).
  4. Обновите конфигурацию базы данных.

Решение 2. Ручное добавление задания в режиме Предприятия

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

Разберем процесс ручного добавления в пользовательском режиме:

  1. Запустите информационную базу в режиме «1С:Предприятие» под пользователем с административными правами.
  2. Откройте обработку Консоль заданий (или стандартный интерфейс управления регламентными заданиями в вашей конфигурации).
  3. Нажмите кнопку Добавить (или клавишу Insert).
  4. В открывшемся окне выбора шаблона выберите ваше новое регламентное задание из списка метаданных.
  5. Настройте индивидуальное расписание, укажите параметры (если они требуются) и установите признак активности задания.
  6. Сохраните изменения. Теперь задание появится в списке и будет выполняться планировщиком.

Решение 3. Интеграция с Библиотекой стандартных подсистем (БСП)

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

Выясним, как зарегистрировать новое регламентное задание в БСП, чтобы оно корректно отображалось в стандартных формах администрирования:

  1. Найдите в конфигураторе общий модуль РегламентныеЗаданияПереопределяемый.
  2. Перейдите в экспортную процедуру ПриОпределенииНастроекРегламентныхЗаданий.
  3. Зарегистрируйте ваше новое регламентное задание, добавив его описание в массив настроек согласно стандартам БСП.
  4. Запустите обновление информационной базы. Для этого можно запустить сеанс «1С:Предприятие» с параметром командной строки /ЗапускОбновленияИнформационнойБазы или дождаться выполнения регламентных процедур обновления. БСП считает новые метаданные и внесет запись о задании в свои внутренние регистры сведений.

Решение 4. Борьба с кэшированием параметров в базе данных

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

Чтобы решить проблему кэширования параметров, выполните одно из следующих действий:

Другие неочевидные причины отсутствия заданий в консоли

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

  1. Специфика файлового режима работы. Если вы тестируете функционал в файловой базе, помните, что регламентные задания запускаются только тогда, когда в базе есть хотя бы один активный сеанс пользователя (начиная с платформы 8.3.3 планировщик работает внутри активных клиентских сеансов). Если база «спит», то и консоль фоновых заданий будет пуста, так как они физически не могут стартовать.
  2. Права доступа. Убедитесь, что у пользователя, под которым запущена консоль заданий, достаточно прав. Для администрирования и просмотра списка регламентных заданий необходима роль Администрирование или ПолныеПрава. Без этого консоль либо вернет пустой список, либо вызовет ошибку прав доступа.
  3. Настройки фильтрации в консоли. Часто сторонние инструменты разработчика по умолчанию открывают консоль с наложенными отборами. Проверьте, не установлены ли в вашей консоли фильтры по состоянию задания (например, показывать только «Выполненные» или только «Активные»), которые могут визуально скрывать ваше только что созданное задание.
← На главную