Элемент проекта «ЗапланированноеЗадание»
В проекте запланированные задания определяются с помощью элемента проекта ЗапланированноеЗадание. Используя панель Свойства, вы можете настроить свойства задания: например, запланировать задание на этапе обновления проекта, определить параметры, доступные при выполнении задания, или настроить стратегию повтора задания при ошибке.
Чтобы добавить параметр или расписание, нажмите на значок плюса напротив имени запланированного задания в навигаторе проекта и в открывшемся меню выберите параметр или нужное значение расписания:

При применении проекта на основе элемента проекта ЗапланированноеЗадание можно создать и запланировать экземпляр задания — предопределенное задание. Стратегию его создания определяет свойство ПредопределенноеЗадание. Ключ назначается ему автоматически. Для управления предопределенным заданием используется метод ПолучитьПредопределенное().
Вы также можете создать любое количество экземпляров заданий, используя элемент проекта в качестве шаблона:
ПоздравлениеСПраздником.Создать(ТекстПоздравления = "Поздравляем!")
.Настроить(Расписание = [Расписание.Ежемесячно(Время{0:00}, {Месяц.Январь}, {1})])
.Запланировать()
Созданные таким образом задания можно получить при помощи метода ПолучитьСозданныеПоШаблону().
Все задания, созданные на основе элемента проекта, можно получить с помощью методов типа-одиночки ЗапланированныеЗадания.
Есть важное отличие между запланированными заданиями, созданными в коде с использованием метода ЗапланированныеЗадания.Создать(), и заданиями, созданными из элемента проекта (вручную или автоматически в процессе применения проекта): при изменении проекта вы должны самостоятельно адаптировать задания, созданные в коде. Для этого в обработчике обновления проекта нужно пересоздавать или изменять созданные в приложении задания.
Модуль запланированного задания
Модуль элемента проекта ЗапланированноеЗадание должен содержать предопределенный обработчик Обработчик() без параметров, который будет вызываться при запуске задания.
@Обработчик
метод Обработчик()
// Логика запланированного задания
пер Текст = Параметры.ТекстПоздравления
// ...
;
Тип «ЗапланированноеЗадание»
Тип ЗапланированноеЗадание является базовым для элемента проекта ЗапланированноеЗадание. Объект типа ЗапланированноеЗадание имеет следующие свойства:
Ключ— содержит уникальный идентификатор задания,Состояние— содержит состояние запланированного задания в момент обращения.
С помощью методов объекта типа ЗапланированноеЗадание можно изменить, отменить, возобновить и приостановить запланированное задание, а также получить последний результат и все результаты выполнения задания.
пер Задания = МоеЗапланированноеЗадание.ПолучитьСозданныеПоШаблону()
для Задание из Задания.Значения()
Задание.Изменить()
.Настроить(ПовторыПриОшибке = СтратегияПовтораЗадания.Отсутствует())
.Запланировать()
;
Тип «ИмяЗадания»
Для элемента проекта ЗапланированноеЗадание порождается объект типа <ИмяЗадания>, базовым типом которого является тип ЗапланированноеЗадание.
Его свойство Параметры обеспечивает типизированный доступ к значениям параметров задания. Для каждого параметра создается собственное свойство с тем же именем, типом и значением, что и у параметра при создании задания. Значения свойств менять нельзя.
Тип имеет следующие методы:
Создать(Парам1: Тип = ЗначениеПоУмолчанию, Парам2: Тип): СоздаваемоеЗапланированноеЗадание— создает новое запланированное задание на основе запланированного задания из проекта. Разрешен вызов только с именованными параметрами.ПолучитьПредопределенное():ИмяЗадания?— вызывается для задания, у которогоПредопределенноеЗаданиене равноНеСоздавать. Возвращает экземпляр, соответствующий созданному предопределенному заданию.ПолучитьСозданныеПоШаблону(): ЧитаемоеСоответствие<Строка, ЗапланированноеЗадание>— возвращает сопоставление Ключ — Экземпляр для всех запланированных заданий, порожденных по шаблону задания из проекта.
пер Задание = ПоздравлениеСПраздником.ПолучитьПредопределенное().Изменить()
Задание.Настроить(Расписание = [Расписание.Ежемесячно(Время{10:00}, {Месяц.Февраль}, {23}), Расписание.Ежемесячно(
Время{10:00}, {Месяц.Март}, {8}), Расписание.Ежемесячно(Время{10:00}, {Месяц.Май}, {1})])
Задание.Запланировать()
для Запись из ПоздравлениеСПраздником.ПолучитьСозданныеПоШаблону()
Запись.Значение.Отменить()
;
Обработка изменений в элементе проекта при применении измененного проекта
Если элемент проекта ЗапланированноеЗадание меняется, то при применении проекта действуют перечисленные ниже правила.
-
При переименовании элемента проекта все порожденные по нему задания продолжают работать.
-
При изменении свойства
ПредопределенноеЗадание:- Если значение равно НеСоздавать, то существующее предопределенное задание будет удалено. Задания, созданные на основе элемента проекта, не удаляются.
- Если значение отлично от НеСоздавать, то существующее предопределенное задание обновляется в соответствии с новым состоянием элемента, кроме свойств, значения которых были изменены после создания (например,
МоеЗапланированноеЗадание.ПолучитьПредопределенное().Изменить().Настроить().Запланировать()илиЗапланированныеЗадания.Изменить(МоеЗапланированноеЗадание.ПолучитьПредопределенное().Ключ).Настроить().Запланировать()). - Если значение меняется с ЗапланироватьПриОбновленииПроекта на СоздаватьПриостановленноеПриОбновленииПроекта и наоборот, существующее предопределенное задание не меняется.
-
Задания, созданные на основе элемента проекта, обновляются в соответствии с новым состоянием элемента, кроме свойств, значения которых были изменены при создании (
МоеЗапланированноеЗадание.Создать().Настроить()) или после создания (МоеЗапланированноеЗадание.ПолучитьСозданныеПоШаблону()[МойКлюч].Изменить().Настроить().Запланировать()илиЗапланированныеЗадания.Изменить(МойКлюч).Настроить().Запланировать()). -
При изменении параметров задания, созданные на основе элемента проекта:
- продолжают работать
- при переименовании параметра,
- пр и добавлении типа к составу типов параметра,
- при переименовании типа параметра,
- при удалении типа из состава типов параметра, если в параметрах порожденного задания удаленный тип не использовался,
- при удалении параметра,
- при добавлении параметра со значением по умолчанию;
- удаляются
- при добавлении параметра без значения по умолчанию,
- при удалении типа из состава типов параметра, если тип использовался.
- продолжают работать