Какие основные свойства содержит регламентное задание
Регламентные задания в 1С предназначены для выполнения определенных процедур по расписанию, с некоторой периодичностью.
Регламентные задания хранятся в информационной базе, имеют расписание запуска. Сам запуск производится полностью автоматически, если режим работы информационной базы клиент-серверный. Если же база файловая, то необходимо выполнить следующие действия:
- выделить специального пользователя для выполнения регламентных заданий;
- должна быть открыта база под этим пользователем, в которой периодически должна выполняться функция ВыполнитьОбработкуЗаданий().
Создание регламентного задания
Регламентные задания — объект метаданных конфигурации 1С. Находится в группе Общие. Рассмотрим параметры и свойства регламентных заданий.
Имя метода— путь к экспортной процедуре в общем модуле, которая будет выполняться по заданному расписанию. Процедура должна выполняться на сервере. В этом регламентные задания чем-то похожи на объект Подписка на событие.
Ключ — позволяет создать несколько регламентных заданий одного типа. Например, выполнение синхронизации данных между несколькими информационными базами может быть реализовано с помощью одного объекта метаданных РегламентноеЗадание, при этом самих регламентных заданий будет создано несколько (по количеству баз для обмена). Различаться эти регламентные задания будут с помощью свойства Ключ. Одновременно может выполняться только одно задание с одинаковым ключом.
Использование — флаг, показывающий, включено ли регламентное задание.
Предопределенное — здесь можно провести аналогию с предопределенными элементами справочника. Предопределенные элементы создаются в конфигураторе и применяются пользователями в работе. Обычные элементы пользователь создает сам. С регламентными заданиями точно так же: если оно предопределенное, то оно существует и может выполняться по расписанию сразу после создания в конфигураторе. Если же флаг Предопределенное не установлен, то пользователю нужно самому создать одно или несколько регламентных заданий данного типа (например, через Консоль заданий).
Количество повторов при аварийном завершении задания — определяет, сколько раз будет выполнен перезапуск фонового задания, если оно было завершено с ошибкой.
Интервал повтора при аварийном завершении задания — определяет, с какой периодичностью будет выполнен перезапуск фонового задания, если оно было завершено с ошибкой.
Программная работа с регламентными заданиями
В данных примерах будем рассматривать работу с обычными, не предопределенными, регламентными заданиями.
Программное создание регламентного задания
//Создаем задание
Задание = РегламентныеЗадания.СоздатьРегламентноеЗадание(“ИмяРегдаментногоЗадания”);
//Устанавливаем ключ регламентного задания (не обязательно)
Задание.Ключ = “КлючЗадания”;
//Включаем регламентное задание
Задание.Использование = Истина;
//Записываем регламентное задание
Задание.Записать();
Программное получение регламентного задания для изменения параметров
В этом примере предположим, что существует только одно регламентное задание данного типа. Если заданий несколько, то, зная методы работы с массивами, нетрудно внести в код соответствующие изменения.
//Получаем массив с регламентными заданиями нужного типа
Задания=РегламентныеЗадания.ПолучитьРегламентныеЗадания(новый Структура(“Метаданные”, Метаданные.РегламентныеЗадания[“ИмяРегламентногоЗадания”]));
//Если задание существует, то по условию оно одно
Если Задания.Количество()>0 Тогда
Задание=Задания[0];
//Если задания нет, создадим его
Иначе
Задание = РегламентныеЗадания.СоздатьРегламентноеЗадание(“ИмяРегламентногоЗадания”);
КонецЕсли;
//Регламентное задание находится в переменной Задание. Можно изменять его параметры.
Вызов диалога изменения расписания регламентного задания
Для работы с расписанием регламентного задания существует особый тип диалога. Все еще предполагаем, что у нас есть только одно регламентное задание данного типа.
//Получаем массив с регламентными заданиями нужного типа
Задания=РегламентныеЗадания.ПолучитьРегламентныеЗадания(новый Структура(“Метаданные”, Метаданные.РегламентныеЗадания[“ИмяРегламентногоЗадания”]));
//Если задание существует, то по условию оно одно
Если Задания.Количество()>0 Тогда
Задание=Задания[0];
//Если задания нет, создадим его
Иначе
Задание = РегламентныеЗадания.СоздатьРегламентноеЗадание(“ИмяРегламентногоЗадания”);
КонецЕсли;
Расписание=Задание.Расписание;
//Создаем диалог изменения расписания регламентного задания
ДиалогРедактирования= Новый ДиалогРасписанияРегламентногоЗадания (Расписание);
//Показываем диалог пользователю и обрабатываем изменения расписания
Если ДиалогРедактирования.ОткрытьМодально() Тогда
Задание.Расписание = ДиалогРедактирования.Расписание;
Задание.Записать();
КонецЕсли;
Источник
Наверное, каждому программисту 1С 8.3 рано или поздно приходилось настраивать выполнение определенных заданий по расписанию. Ниже я дам подробное описание данных механизмов, надеюсь, это будет полезной информацией для начинающих программистов 1С. Это очень удобно, ведь не требует действий от человека, регламентное задание настраивается 1 раз и работает по Вашему расписанию.
Другие объекты метаданных 1С.
Как настраиваются регламентные и фоновые задания в 1С 8?
Развернутую инструкцию на примере загрузки курсов валют Вы найдете далее.
Что такое регламентные и фоновые задания в 1С
- Регламентные задания — это специальный механизм 1С предприятия 8.3, предназначенный для выполнения определенного действия по заданному расписанию.
- Фоновое задание — объекты, порождаемые регламентным заданием, которые непосредственно выполняет заложенное действие без участия пользователя или программиста 1С.
Механизм регламентных и фоновых заданий работает в клиент-серверном режиме работы (SQL), благодаря функционалу СУБД . Если у вас файловая БД, то задание тоже можно настроить, но немного по другому принципу.
Настройка фоновых заданий в клиент-серверном режиме работы 1С
Для начала создадим новый объект метаданных — регламентное задание. Я назову свое задание «ЗагрузкаКурсовВалют». Рассмотрим палитру свойств данного объекта конфигурации:
- Имя метода — путь к процедуре, которая будет выполняться в фоновом задании по заданному расписанию. Процедура должна находиться в общем модуле. Рекомендуется не использовать типовые общие модули, а создать свой. Не забудьте, что фоновые задания исполняются на сервере!
- Использование — признак использования регламентного задания.
- Предопределенное — указывает, является ли регламентное задание предопределенным. Если хотите чтобы регламентное задание заработало сразу после помещения в БД, укажите этот признак. В противном случае вам необходимо будет использовать обработку «Консоль заданий» или вызывать запуск задания программно.
- Количество повторов при аварийном завершении задания — сколько раз выполнен перезапуск фонового задания, если оно было выполнено с ошибкой.
- Интервал повтора при аварийном завершении задания — с какой периодичностью будет выполнен перезапуск фонового задания, если оно было выполнено с ошибкой.
Если вы только начинаете программировать в 1С или просто хотите систематизировать свои знания – попробуйте Школу программирования 1С нашего друга Владимира Милькина. Пошаговые и понятные уроки даже для новичка с поддержкой учителя.
Попробуйте бесплатно по ссылке >>
И самая интересная настройка — Расписание:
Тут настраивается интервал запуска процедуры, указанного в поле «Имя метода». Допустим я настроил
Внимание! Не забудьте отключить блокировку выполнения регламентных и фоновых заданий на уровне СУБД!
Сделать это можно в утилите администрирования клиент-серверного варианта либо при создания новой БД:
Для управления фоновыми заданиями рекомендую использовать обработку с диска ИТС — «Консоль заданий«.
Настройка регламентных заданий в файловом режиме работы 1С
В файловом режиме настройка таких заданий несколько труднее. Для такого задания должна быть запущена отдельная сессия программы 1С. Зачастую это решается заведением «технического» пользователя, чей сеанс всегда запущен.
В файловом режиме инициализация регламентного задания происходит при запуске метода «ВыполнитьОбработкуЗаданий()».
Для определенного пользователя можно настроить запуск этого метод, используя другой метод —
ПодключитьОбработчикОжидания(<ИмяПроцедуры>, <Интервал>, <Однократно>).
Где:
- Имя процедуры — имя процедуры, подключаемой в качестве обработчика ожидания. Имя экспортируемой процедуры модуля управляемого приложения (модуля обычного приложения) или глобального общего модуля. Процедура должна располагаться на клиенте.
- Интервал — период между выполнениями операций в секундах.
- Однократно — как выполнять задание, один раз или нет.
Пример:
ПодключитьОбработчикОжидания(“ЗагрузкаВалют”, 3600);
Двухминутное видео, в котором показано, как настроить регламентное задание в конфигураторе 1С:
Другие статьи по 1С:
- Администрирование (обновление 1С, резервные копии и т.д);
- Программирование 1С
- Обучение 1С (для пользователей)
Если Вы начинаете изучать 1С программирование, рекомендуем наш бесплатный курс (не забудьте подписаться на YouTube — регулярно выходят новые видео):
К сожалению, мы физически не можем проконсультировать бесплатно всех желающих, но наша команда будет рада оказать услуги по внедрению и обслуживанию 1С. Более подробно о наших услугах можно узнать на странице Услуги 1С или просто позвоните по телефону +7 (499) 350 29 00. Мы работаем в Москве и области.
Источник
Механизм заданий – один из инструментов администрирования 1С. Он включает:
- регламентные задания, как общий объект конфигурации, необходимый для указания, что именно делать, и с какой периодичностью;
- и фоновые задания, как объект встроенного языка, порождаемый регламентными заданиями.
Рассмотрим соответствующие вопросы экзамена.
***
Вопрос 09.59 экзамена 1С:Профессионал по платформе. Экземпляр регламентного задания:
- может быть создан программно
- может быть создан в форме списка, доступной через команду главного меню программы (“Операции/Регламентные задания”)
- создается всегда только один экземпляр (при создании соответствующего объекта
конфигурации) - определяется только в режиме конфигурирования на закладке Прочее по кнопке
“Состав” - верны ответы 1 и 2
Правильный ответ первый. Если регламентное задание предопределенное (рис.), то задание будет создано в единственном экземпляре с указанным в конфигураторе расписанием. Экземпляры НЕ предопределенных заданий появляются по расписанию, заданному в режиме Предпритятие, программно.
***
Вопрос 09.60 экзамена 1С:Профессионал по платформе. Количество одновременно выполняющихся регламентных заданий может быть:
- любым без ограничения
- только одно задание на информационную базу
- только по одному заданию на пользовательский сеанс
- любое количество, но не будут выполняться два задания с одинаковым ключем и
именем метода - любое количество, но не будут выполняться два задания с одинаковым ключем и
наименованием - любое количество, но не будут выполняться два задания с одинаковым ключем и
связанные с одним и тем же объектом метаданных
Правильный ответ шестой. Ключ – свойство регламентного задания, которое позволяет сгруппировать несколько однотипных заданий. Одновременно может быть запущено только одно задание с одним значением ключа (пустое значение не в счет). Также, одновременно исполняется только одно рег.задание над конкретным объектом, во избежание коллизий.
***
Вопрос 09.62 экзамена 1С:Профессионал по платформе. В качестве метода регламентного задания может использоваться процедура у которой:
- не должно быть параметров
- может быть только один параметр (список значений)
- может быть только один параметр (структура)
- может быть только один параметр (массив)
- может быть любое количество параметров
Правильный ответ пятый. Число параметров метода регламентного задания соответствует числу параметров самого регламентного задания.
***
Вопрос 09.63 экзамена 1С:Профессионал по платформе. Для создания регламентного задания пользователь должен обладать:
- правами администратора
- правами на использование данного объекта конфигурации (настраивается в роли)
- правами на создание новых экземпляров данного объекта конфигурации (настраивается в роли)
- любыми правами, метод регламентного задания исполняется в привилегированном
режиме
Правильный ответ первый, только администраторы вправе.
***
Вопрос 09.64 экзамена 1С:Профессионал по платформе. Если регламентное задание определено в конфигураторе (в соответствующем объекте конфигурации) как предопределенное, то для него характерно (выберите наиболее полный ответ):
- нельзя создать не предопределенный экземпляр регламентного задания с привязкой
к объекту метаданных предопределенного регламентного задания - предопределенный экземпляр регламентного задания нельзя пометить на удаление и
удалить - только предопределенные экземпляры регламентных заданий хранятся в информационной базе, не предопределенные экземпляры являются сеансовыми объектами и в
базе не хранятся - верны ответы 1 и 2
- верны ответы 2 и 3
- верны ответы 1, 2, 3
Правильный ответ второй. Предопределенные экземпляры регламентных заданий можно изменять, но нельзя удалять. Они всегда будут доступны в списке шаблонов:
***
Вопрос 09.67 экзамена 1С:Профессионал по платформе. Если в качестве метода регламентного задания используется функция,
то:
- возвращаемое функцией значение игнорируется
- при попытке исполнения задания возникает ошибка
- система будет ожидать исполнения данного задания (исполнение будет происходить
не асинхронно) - значение будет возвращено в соответствующий параметр регламентного задания
Правильный ответ первый.
***
Вопрос 09.61 экзамена 1С:Профессионал по платформе. Как могут быть связаны между собой регламентные и фоновые задания?
- Регламентное задание может породить фоновое задание
- Регламентное задание в обязательном порядке порождает фоновое задание
- Фоновое задание в обязательном порядке порождает регламентное задание
- Нет никакой взаимосвязи
Правильный ответ второй – фоновое задание это объект, порождаемый регламентным, и он обязательнем к созданию, иначе само регламентное задание теряет смысл.
***
Вопрос 09.65 экзамена 1С:Профессионал по платформе. Для обеспечения работы регламентных и фоновых заданий необходимо:
- наличие запуска 1С:Предприятие с установленным при запуске флагом “Планировщик”
- наличие запуска 1С:Предприятие с периодически исполняющимся соответствующим методом системы
- наличие запуска 1С:Предприятие с периодически исполняющимся соответствующим методом системы (но только в файловом варианте функционирования системы)
- как в файловом, так и в клиент-серверном вариантах нет необходимости в запуске
экземпляра 1С:Предприятие
На практике, правильный ответ третий. В клиент-серверном варианте работы запуск регламентных заданий по расписанию осуществляет менеджер кластера. Таким образом, даже если с информационной базой не установлено ни одного клиентского соединения, регламентные задания будут выполняться (при условии, что они не запрещены для конкретной информационной базы). В файловом варианте работы для автоматического запуска регламентных заданий необходимо наличие выделенного клиентского соединения, используемого в качестве планировщика заданий. В этом соединении должна быть запущена обработка ожидания, с некоторой периодичностью выполняющая вызов метода встроенного языка ВыполнитьОбработкуЗаданий().
По ответам, верный ответ четвертый.
***
Вопрос 09.57 экзамена 1С:Профессионал по платформе. Фоновые задания позволяют:
- выполнять процедуру по расписанию
- выполнять процедуру асинхронно
- производить перезапуск в случае аварийного завершения
- верны ответы 1 и 2
- верны ответы 2 и 3
- верны ответы 1, 2, 3
Правильный ответ второй. Асинхронно – значит, не дожидаясь завершения процедуры.
***
Вопрос 09.58 экзамена 1С:Профессионал по платформе. Количество одновременно запущенных фоновых заданий может быть:
- любым без ограничения
- только одно задание на информационную базу
- только по одному заданию на пользовательский сеанс
- любое количество, но нельзя запустить два задания с одинаковым ключем и именем
метода - любое количество, но нельзя запустить два задания с одинаковым ключем и наименованием
- любое количество, но нельзя запустить два задания с одинаковым ключем и связанные с одним и тем же объектом метаданных
Правильный ответ четвертый.
***
Вопрос 09.66 экзамена 1С:Профессионал по платформе. Завершившиеся фоновые задания:
- сохраняется в информационной базе
- являются сеансовыми объектами, хранятся некоторое время (в информационной базе не сохраняются)
- не хранятся ни в каком виде
Правильный ответ шестой – фоновое задание это объект встроенного языка.который существует только на время сеанса.
Источник
Регламентные задания 1С — это специальный механизм системы, предназначенный для выполнения определенного действия автоматически в фоновом режиме и по определенному расписанию (например, рассылка отчетов, отложенное проведение документов, загрузка курсов валют и др.).
Фоновое задание — объект, порождаемый регламентным заданием, который непосредственно выполняет заложенное действие без участия пользователя или программиста.
Фоновое задание 1С:
- выполняется под пользователем Windows, под которым работает процесс программы сервера 1С.
- можно создавать на языке 1С произвольно без регламентного задания (для параллельных вычислений на сервере).
ВАЖНО! Фоновые задания исполняются на сервере.
Отличие регламентного задания от подписки на событие:
- позволяет выполнять обработчик не при наступлении события (как это делает подписка на событие), а по расписанию.
Механизм регламентных и фоновых заданий работает:
- автоматически — в клиент-серверном режиме работы (благодаря функционалу СУБД);
- интерактивно — при использовании файловой БД, выполнением команды ВыполнитьОбработкуЗаданий() из сеанса в режиме 1С:Предприятие.
Особенности регламентных и фоновых заданий 1С:
- Экземпляр регламентного задания может быть создан программно. Если регламентное задание предопределенное (в свойствах стоит флаг «Предопределенное»), то задание будет создано в единственном экземпляре с указанным в конфигураторе расписанием. Экземпляры НЕ предопределенных заданий появляются по расписанию, заданному в режиме Предприятие программно.
- Одновременно выполняться может любое количество регламентных заданий, но не будут выполняться два задания (во избежание коллизий):
- с одинаковым ключом (ключ — свойство регламентного задания, которое позволяет сгруппировать несколько однотипных заданий);
- связанные с одним и тем же объектом метаданных.
- В качестве метода регламентного задания может использоваться процедура, у которой может быть любое количество параметров. Число параметров метода регламентного задания соответствует числу параметров самого регламентного задания.
- Для создания регламентного задания пользователь должен обладать правами администратора.
- Если регламентное задание определено в конфигураторе (в соответствующем объекте конфигурации) как предопределенное, то предопределенный экземпляр регламентного задания нельзя пометить на удаление и удалить (но можно изменять, также они всегда будут доступны в списке шаблонов регламентных заданий).
- Если в качестве метода регламентного задания используется функция, то возвращаемое функцией значение игнорируется.
- Для обеспечения работы регламентных и фоновых заданий как в файловом, так и в клиент-серверном вариантах нет необходимости в запуске экземпляра 1С:Предприятие.
Замечание
Отсюда… В клиент-серверном варианте работы запуск регламентных заданий по расписанию осуществляет менеджер кластера. Таким образом, даже если с информационной базой не установлено ни одного клиентского соединения, регламентные задания будут выполняться (при условии, что они не запрещены для конкретной информационной базы). В файловом варианте работы для автоматического запуска регламентных заданий необходимо наличие выделенного клиентского соединения, используемого в качестве планировщика заданий. В этом соединении должна быть запущена обработка ожидания, с некоторой периодичностью выполняющая вызов метода встроенного языка ВыполнитьОбработкуЗаданий().
[свернуть]
- Фоновые задания позволяют выполнять процедуру асинхронно .
- Одновременно может быть запущено любое количество фоновых заданий, но нельзя запустить два задания с одинаковым ключом и именем метода.
- Завершившиеся фоновые задания являются сеансовыми объектами, хранятся некоторое время (в информационной базе не сохраняются). Фоновое задание — это объект встроенного языка, который существует только во время сеанса.
Настройка регламентного задания в клиент-серверном режиме работы 1С
Настройка регламентного задания осуществляется в палитре свойств данного объекта конфигурации.
Рисунок палитры свойств объекта 1С “Регламентные задания”
[свернуть]
Палитра свойств объекта «Регламентные задания»:
- Имя метода — путь к процедуре, которая находится в общем модуле и будет выполняться в фоновом задании по заданному расписанию. Рекомендуется не использовать типовые общие модули, а создать свой.
- Наименование – определяет название, отображаемое в средствах управления заданиями.
- Ключ – позволяет сгруппировать несколько разных регламентных заданий 1С, при этом дновременно может быть запущено только одно задание с одинаковым значением ключа. Само значение может быть произвольным. Пустое значение не учитывается при контроле (то есть считается незаполненным).
- Использование — флаг использования регламентного задания.
- Предопределенное — флаг указывает, является ли регламентное задание предопределенным, т.е. работающим сразу после помещения в БД (задание будет создано в единственном экземпляре с указанными в конфигураторе расписанием). Не предопределенные задания появляются в момент наступления расписания программно (необходимо использовать обработку «Консоль заданий» или вызывать запуск задания программно).
- Количество повторов при аварийном завершении задания — сколько раз выполнен перезапуск фонового задания, если оно было выполнено с ошибкой.
- Интервал повтора при аварийном завершении задания — периодичность выполнения перезапуска фонового задания, если оно было выполнено с ошибкой.
- Расписание — настройка интервала запуска процедуры, указанной в поле «Имя метода».
Внимание! Не забудьте отключить блокировку выполнения регламентных и фоновых заданий на уровне СУБД! Блокировка может быть установлена для каждой информационной базы в отдельности.
Блокировка отключается:
- в утилите администрирования клиент-серверного варианта либо
- при создания новой БД.
Для управления фоновыми заданиями можно использовать обработку с диска ИТС «Консоль заданий«, которая позволяет:
- выполнять мониторинг работы регламентных и фоновых заданий;
- удалять и создавать новые фоновые задания средствами встроенного языка;
- временно отключать регламентные задания (?).
Особенности настройки регламентных заданий 1С:
Задачи выполняются автоматически – их необходимо проверять (мониторить).
Необходимо проверить, что задача выполняется и может быть выполнена как регламентное задание 1С.
[свернуть]
Задачи выполняются в модуле на сервере.
В серверном модуле могут быть недоступны многие вещи, которые доступны на клиенте. Например, не все документы могут быть проведены только на сервере, так как в их алгоритме может быть предусмотрено, что проведение запускается пользователем вручную и могут быть использованы несерверные функции. Если модуль не может быть выполнен на сервере – задание не будет выполняться в принципе.
[свернуть]
Задачи выполняются под другим пользователем Windows, под другими правами.
Если задача имеет дело с чем-то вне базы 1С, то важное значение приобретают права пользователя Windows, под которым выполняется задание.Для проверки нужно хотя бы раз запустить задание и посмотреть результат «Задание выполнено» в обработке Консоль заданий.
[свернуть]
Настройка регламентных заданий в файловом режиме работы 1С
В файловом режиме для регламентного задания должна быть запущена отдельная сессия программы 1С. Часто это решается определением «технического» пользователя, чей сеанс всегда запущен.
Инициализация регламентного задания происходит:
- в общем случае — при запуске метода ВыполнитьОбработкуЗаданий();
- для конкретного пользователя — при запуске метода ПодключитьОбработчикОжидания(<ИмяПроцедуры>, <Интервал>, <Однократно>) (работает на клиенте).
Где:
- ИмяПроцедуры — имя экспортируемой процедуры модуля управляемого приложения (модуля обычного приложения) или глобального общего модуля, подключаемой в качестве обработчика ожидания. Процедура должна располагаться на клиенте.
- Интервал — период между выполнениями операций в секундах.
- Однократно — количество выполниний задания (один раз или нет).
Пример:
ПодключитьОбработчикОжидания(“ЗагрузкаВалют”, 3600); |
Настройка регламентных и фоновых заданий для их автоматического выполнения в «1С:Бухгалтерия 8» (ред. 3.0)
Источник