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

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

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

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

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

Загрузка классификатора банков — воскресение, 4:30
Загрузка курсов валют — каждый день; 7:00
Извлечение текстов — каждый день; 6:00.
Обмен сообщениями по учетным записям документооборота — каждый день; каждые 10800 сек.
Обновление агрегатов — каждый день; с 5:00:00 один раз в день
Обновление Задач Бухгалтера — каждый день; с 6:30:00 один раз в день
Обновление индекса ППД (полнотекстового поиска) — каждый день; каждые 10800 сек.
Перестроение агрегатов — каждый день, по дням недели [суббота]; с 3:00:00 один раз в день
Пересчет текущих значений относительных дат запрета изменения — каждый день; с 7:00:00 один раз в день
Слияние индекса ППД (полнотекстового поиска) — каждый день; с 4:00:00 один раз в день
Удаление неактуальной информации синхронизации — каждый день; с 3:30:00 один раз в день
Установка периода рассчитанных итогов — каждый день, 5-го числа месяца; с 1:00:00 один раз в день

Механизм заданий - один из инструментов администрирования 1С. Он включает:

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

Вопрос 09.59 экзамена 1С:Профессионал по платформе. Экземпляр регламентного задания:

  1. может быть создан программно
  2. может быть создан в форме списка, доступной через команду главного меню программы ("Операции/Регламентные задания")
  3. создается всегда только один экземпляр (при создании соответствующего объекта конфигурации)
  4. определяется только в режиме конфигурирования на закладке Прочее по кнопке "Состав"
  5. верны ответы 1 и 2
Правильный ответ первый. Если регламентное задание предопределенное (рис.), то задание будет создано в единственном экземпляре с указанным в конфигураторе расписанием. Экземпляры НЕ предопределенных заданий появляются по расписанию, заданному в режиме Предпритятие, программно.
Вопрос 09.60 экзамена 1С:Профессионал по платформе. Количество одновременно выполняющихся регламентных заданий может быть:
  1. любым без ограничения
  2. любое количество, но не будут выполняться два задания с одинаковым ключем и именем метода
  3. любое количество, но не будут выполняться два задания с одинаковым ключем и наименованием
  4. любое количество, но не будут выполняться два задания с одинаковым ключем и связанные с одним и тем же объектом метаданных
Правильный ответ шестой. Ключ - свойство регламентного задания, которое позволяет сгруппировать несколько однотипных заданий. Одновременно может быть запущено только одно задание с одним значением ключа (пустое значение не в счет). Также, одновременно исполняется только одно рег.задание над конкретным объектом, во избежание коллизий.
Вопрос 09.62 экзамена 1С:Профессионал по платформе. В качестве метода регламентного задания может использоваться процедура у которой:
  1. не должно быть параметров
  2. может быть только один параметр (список значений)
  3. может быть только один параметр (структура)
  4. может быть только один параметр (массив)
  5. может быть любое количество параметров
Правильный ответ пятый. Число параметров метода регламентного задания соответствует числу параметров самого регламентного задания.
Вопрос 09.63 экзамена 1С:Профессионал по платформе. Для создания регламентного задания пользователь должен обладать:
  1. правами администратора
  2. правами на использование данного объекта конфигурации (настраивается в роли)
  3. правами на создание новых экземпляров данного объекта конфигурации (настраивается в роли)
  4. любыми правами, метод регламентного задания исполняется в привилегированном режиме
Правильный ответ первый, только администраторы вправе.
Вопрос 09.64 экзамена 1С:Профессионал по платформе. Если регламентное задание определено в конфигураторе (в соответствующем объекте конфигурации) как предопределенное, то для него характерно (выберите наиболее полный ответ):
  1. нельзя создать не предопределенный экземпляр регламентного задания с привязкой к объекту метаданных предопределенного регламентного задания
  2. предопределенный экземпляр регламентного задания нельзя пометить на удаление и удалить
  3. только предопределенные экземпляры регламентных заданий хранятся в информационной базе, не предопределенные экземпляры являются сеансовыми объектами и в базе не хранятся
  4. верны ответы 1 и 2
  5. верны ответы 2 и 3
  6. верны ответы 1, 2, 3
Правильный ответ второй. Предопределенные экземпляры регламентных заданий можно изменять, но нельзя удалять. Они всегда будут доступны в списке шаблонов:
Вопрос 09.67 экзамена 1С:Профессионал по платформе. Если в качестве метода регламентного задания используется функция, то:
  1. возвращаемое функцией значение игнорируется
  2. при попытке исполнения задания возникает ошибка
  3. система будет ожидать исполнения данного задания (исполнение будет происходить не асинхронно)
  4. значение будет возвращено в соответствующий параметр регламентного задания
Правильный ответ первый.
Вопрос 09.61 экзамена 1С:Профессионал по платформе. Как могут быть связаны между собой регламентные и фоновые задания?
  1. Регламентное задание может породить фоновое задание
  2. Регламентное задание в обязательном порядке порождает фоновое задание
  3. Фоновое задание в обязательном порядке порождает регламентное задание
  4. Нет никакой взаимосвязи
Правильный ответ второй - фоновое задание это объект, порождаемый регламентным, и он обязательнем к созданию, иначе само регламентное задание теряет смысл.
Вопрос 09.65 экзамена 1С:Профессионал по платформе. Для обеспечения работы регламентных и фоновых заданий необходимо:
  1. наличие запуска 1С:Предприятие с установленным при запуске флагом "Планировщик"
  2. наличие запуска 1С:Предприятие с периодически исполняющимся соответствующим методом системы
  3. наличие запуска 1С:Предприятие с периодически исполняющимся соответствующим методом системы (но только в файловом варианте функционирования системы)
  4. как в файловом, так и в клиент-серверном вариантах нет необходимости в запуске экземпляра 1С:Предприятие
На практике, правильный ответ третий. В клиент-серверном варианте работы запуск регламентных заданий по расписанию осуществляет менеджер кластера. Таким образом, даже если с информационной базой не установлено ни одного клиентского соединения, регламентные задания будут выполняться (при условии, что они не запрещены для конкретной информационной базы). В файловом варианте работы для автоматического запуска регламентных заданий необходимо наличие выделенного клиентского соединения, используемого в качестве планировщика заданий. В этом соединении должна быть запущена обработка ожидания, с некоторой периодичностью выполняющая вызов метода встроенного языка ВыполнитьОбработкуЗаданий().
По ответам, верный ответ четвертый.
Вопрос 09.57 экзамена 1С:Профессионал по платформе. Фоновые задания позволяют:
  1. выполнять процедуру по расписанию
  2. выполнять процедуру асинхронно
  3. производить перезапуск в случае аварийного завершения
  4. верны ответы 1 и 2
  5. верны ответы 2 и 3
  6. верны ответы 1, 2, 3
Правильный ответ второй. Асинхронно - значит, не дожидаясь завершения процедуры.
Вопрос 09.58 экзамена 1С:Профессионал по платформе. Количество одновременно запущенных фоновых заданий может быть:
  1. любым без ограничения
  2. только одно задание на информационную базу
  3. только по одному заданию на пользовательский сеанс
  4. любое количество, но нельзя запустить два задания с одинаковым ключем и именем метода
  5. любое количество, но нельзя запустить два задания с одинаковым ключем и наименованием
  6. любое количество, но нельзя запустить два задания с одинаковым ключем и связанные с одним и тем же объектом метаданных
Правильный ответ четвертый.
Вопрос 09.66 экзамена 1С:Профессионал по платформе. Завершившиеся фоновые задания:
  1. сохраняется в информационной базе
  2. являются сеансовыми объектами, хранятся некоторое время (в информационной базе не сохраняются)
  3. не хранятся ни в каком виде
Правильный ответ шестой - фоновое задание это объект встроенного языка.который существует только на время сеанса.

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

Недавно я разместил статью: пришло время это автоматизировать:

Регламентные и фоновые задания

Механизм заданий предназначен для выполнения какой-либо прикладной или функциональности по расписанию или асинхронно.

Механизм заданий решает следующие задачи:

  • Возможность определения регламентных процедур на этапе конфигурирования системы;
  • Выполнение заданных действий по расписанию;
  • Выполнение вызова заданной процедуры или функции асинхронно, т.е. без ожидания ее завершения;
  • Отслеживание хода выполнения определенного задания и получение его статуса завершения (значения, указывающего успешность или не успешность его выполнения);
  • Получение списка текущих заданий;
  • Возможность ожидания завершения одного или нескольких заданий;
  • Управление заданиями (возможность отмены, блокировка выполнения и др.).

Механизм заданий состоит из следующих компонентов:

  • Метаданных регламентных заданий;
  • Регламентных заданий;
  • Фоновых заданий;
  • Планировщика заданий.

Фоновые задания & предназначены для выполнения прикладных задач асинхронно. Фоновые задания реализуются средствами встроенного языка.

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

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

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

С описанием, думаю, хватит - приступим к реализации:

Создание регламентного задания

Имя метода – путь к процедуре, которая будет выполняться в фоновом задании по заданному расписанию. Процедура должна находиться в общем модуле. Рекомендуется не использовать типовые общие модули, а создать свой. Не забудьте, что фоновые задания исполняются на сервере!

Использование – признак использования регламентного задания.

Предопределенное – указывает, является ли регламентное задание предопределенным.

Если хотите что бы регламентное задание заработало сразу после помещения в БД, укажите признак Предопределенное . В противном случае вам необходимо будет использовать обработку “Консоль заданий” или вызывать запуск задания программно.

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

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

Настройка расписания

Расписание выполнения задания:

Каждый час, только один день ПериодПовтораДней = 0, ПериодПовтораВТечениеДня = 3600
Каждый день один раз в день ПериодПовтораДней = 1, ПериодПовтораВТечениеДня = 0
Один день, один раз ПериодПовтораДней = 0
Через день один раз в день ПериодПовтораДней = 2
Каждый час с 01.00 до 07.00 каждый день ПериодПовтораДней = 1ПериодПовтораВТечениеДня = 3600ВремяНачала = 01.00

ВремяКонца = 07.00

Каждую субботу и воскресенье в 09.00 ПериодПовтораДней = 1ДниНедели = 6, 7ВремяНачала = 09.00
Каждый день одну неделю, неделя пропуска ПериодПовтораДней = 1ПериодНедель = 2
В 01.00 один раз ВремяНачала = 01.00
Последнее число каждого месяца в 9:00. ПериодПовтораДней = 1ДеньВМесяце = -1ВремяНачала = 09.00
Пятое число каждого месяца в 9:00 ПериодПовтораДней = 1ДеньВМесяце = 5ВремяНачала = 09.00
Вторая среда каждого месяца в 9:00 ПериодПовтораДней = 1ДеньНеделиВМесяце = 2ДниНедели = 3

ВремяНачала = 09.00

Особенности выполнения фоновых заданий файловом и клиент-серверном вариантах

Механизмы выполнения фоновых заданий в файловом и клиент-серверном вариантах различаются.

В файловом варианте необходимо создать выделенный клиентский процесс, который будет заниматься выполнением фоновых заданий. Для этого в клиентском процессе должна периодически вызываться функция глобального контекста ВыполнитьОбработкуЗаданий. Только один клиентский процесс на информационную базу должен выполнять обработку фоновых заданий (и, соответственно, вызывать данную функцию). Если клиентского процесса для обработки фоновых заданий не создано, то при программном доступе к механизму заданий будет выдана ошибка «Менеджер заданий не активен». Не рекомендуется клиентский процесс, выполняющий обработку фоновых заданий, использовать для других функций.

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

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

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

  • На информационную базу установлена явная блокировка регламентных заданий. Блокировка может быть установлена через консоль кластера;
  • На информационную базу установлена блокировка соединения. Блокировка может быть установлена через консоль кластера;
  • Из встроенного языка вызван метод УстановитьМонопольныйРежим() с параметром Истина;
  • В некоторых других случаях (например, при обновлении конфигурации базы данных).

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

Управление регламентными заданиями баз 1С из обновлятора

2018-11-20T15:18:30+00:00

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

Прежде всего в пункте "Ещё" -> "Управление регламентными заданиями...":

В контекстном меню выделенной базы (или группы баз):

И, наконец, в шаблонах для пакетных скриптов (это позволяет выполнять операции над регламентными заданиями из скрипта по расписанию):

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

Какие задачи он позволяет решать в нужной группе баз (или одной базе)?

Выбор регламентных заданий

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

Но в диалоге выбора может не быть регламентных заданий именно для вашей базы:

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

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

Выводим текущее состояние заданий

Для этого переходим на закладку "Вывести" нажимаем кнопку "Вывести...":

В результатах мы можем видеть:

  1. Включен или выключен запуск новых регламентных заданий на сервере 1С.
  2. Список регламентных заданий в базе.
  3. Их расписание.
  4. Включены задания или выключены.
  5. Если последний запуск задания был с ошибкой - эта ошибка выводится красным цветом рядом с заданием.

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

Выключаем все или некоторые задания

Для этого переходим на закладку "Выключить":

Для всех или выбранных регламентных заданий будет снят флажок "Использование".

Вот результат для одной базы (нажмите, чтобы раскрыть)

Включаем все или некоторые задания

Для этого переходим на закладку "Включить":

Для всех или выбранных регламентных заданий будет установлен флажок "Использование".

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

Вот результат для одной базы (нажмите, чтобы раскрыть)

Управляем запуском регламентных заданий на сервере 1С

Для этого переходим на закладку "Сервер 1С":

Выбираем "блокировать" или "разблокировать" и нажимаем кнопку "Выполнить".

Настраиваем расписание заданий

А что если нам нужно настроить расписание запуска какого-нибудь задания (или группы заданий) сразу во многих базах?

Для этого переходим на закладку "Настроить расписание":

Настраиваем расписание (диалог и его возможности полностью совпадают с штатным в самой 1С) и нажимаем "Настроить...".

Запускаем задания на выполнение

Для этого переходим на закладку "Запустить":

Выбираем нужные задания и нажимаем кнопку "Запустить":

Сохраняем настройки заданий во внешний файл

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

Для этого мы сначала выгружаем все настройки заданий в идеальной базе во внешний файл:

Восстанавливаем настройки заданий из внешнего файла

А затем загружаем этот файл с настройками заданий во все остальные базы:

Только обратите внимание, что для этой задачи (переноса настроек заданий одной базы в другие) я выбрал способ сопоставления по имени задания, а не по внутреннему идентификатору.

Напутствие

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

Платформы : 1С:Предприятие 8.3, 1С:Предприятие 8.2, 1С:Предприятие 8.1
Конфигурации : Все конфигурации

2012-11-13
53853

В документообороте существуют задачи, которые требуют периодического выполнения — к примеру, по двадцатым числам, либо ежедневно. Как правило, в компаниях специально для этого, создаются определенные правила, в которых обозначено, когда и как должна выполняться необходимая задача, и кто должен проконтролировать процесс. Такие задачи выполняются согласно регламенту и называются — регламентированными.

Довольно часто, в ИТ соблюдается регламент при мониторинге. Такой метод отлично знаком администраторам, так как для этого существуют специальные программы, применяемые для периодической проверки работоспособности сетевой инфраструктуры и серверов. Об обнаруженных неполадках они извещают администратора с помощью СМС, либо электронного письма.

Похожая система действует и для веб-мастеров, при этом, доступность сайта проверяется в течение суток. При помощи механизма "Регламентные задания" в 1С осуществляются задачи мониторинга, а также, периодические задачи, которые выполняются по расписанию в автоматическом режиме в 1С. Рассмотрим подробнее данную тему.

Регламентные задания 1С

Объект 1С, который называется "Регламентные задания" — дает возможность выполнить обработку информации не после возникновения проблемы, а по расписанию. В конфигураторе, регламентное задание является способом задать настройки и установить расписание. Кроме этого, существует возможность в последствии изменять расписание в режиме 1С Предприятие.

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

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

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

Добавление регламентного задания

Регламентные задания расположены в — Конфигуратор — Общие — Регламентные задания. Добавьте новое "задание" и укажите имя. Дальше, необходимо зайти в свойства «Задания». И выбрать Имя метода. Здесь, нужно указать функцию обработчика, так же, как это происходит в подписке на событие. Данная функция будет расположена в общем модуле и обозначена "птичкой" Сервер в свойствах. Это значит, что необходимый модуль требуется добавить заранее.

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

В Бухгалтерии редакции 2.0, которая является типовой конфигурацией, регламентные задания, такие как: "Пересчет итогов" и "Обновление конфигурации" — являются предопределенными, а такие, как например "Отложенные движения" и "Обмен данными" — не предопределенными.

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

Мониторинг и средства управления регламентным заданием 1С

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

С ее помощью можно осуществлять следующие действия:

Включать и выключать регламентное задание;

Назначать и изменять расписание;

Обозначить имя пользователя, с помощью которого будет выполняться регламентное задание;

Видеть выполненные задачи (когда и с каким результатом), а также, ошибки задания;

Регламентное задание и копии баз данных

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

Для программирования необходимо сделать копию рабочей базы;

Необходимость работы в копиях базы (тестирование);

По каким-то причинам не включено регламентное задание в тестовой базе.

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

Выполненные и не выполненные регламентные задачи

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

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