Расписание
Стд::Расписания::Расписание
Доступность: КлиентИСервер
Базовый тип расписаний запуска.
Сравнение структурное.
Иерархия типа
Базовые типы: Объект
Дочерние типы: ЕжедневноеРасписание, ЕжемесячноеРасписание, ЕженедельноеРасписание, ОднократноеРасписание, ПериодическоеРасписание
Свойства
ВремяКонца
Доступность: КлиентИСервер
ТолькоЧтение
Если задано значение типа Момент, то момент, после наступления которого задание прекратит запускаться.
Если Неопределено
, то запускать бесконечно.
Если задано значение типа Время, то время, после наступления которого задание прекратит запускаться. Для заданий с определенным временем запуска правило: если время запуска ([РасписаниеЕжедневногоЗапуска.ЗапуститьВ] типа [РасписаниеЕжедневногоЗапуска], [РасписаниеЕжемесячногоЗапуска.ЗапуститьВ] типа [РасписаниеЕжемесячногоЗапуска], [РасписаниеОднократногоЗапуска.ЗапуститьВ] типа [РасписаниеОднократногоЗапуска] или [РасписаниеЕженедельногоЗапуска.ЗапуститьВ] типа [РасписаниеЕженедельногоЗапуска]) меньше времени ВремяКонца, то прекращаются запуски после указанного времени ВремяКонца; иначе время ВремяКонца берется в следующие сутки. Пример:
ЗапуститьВ
: 9:00,ВремяКонца
: 12:00 - запускать с 9 до 12ЗапуститьВ
: 12:00,ВремяКонца
: 9:00 - запускать с 12 до 9 следующего дня
ВремяНачала
Доступность: КлиентИСервер
ТолькоЧтение
ВремяНачала: Момент?
Момент, после наступления которого задание начнет запускаться.
Если Неопределено
, то начинать запуск немедленно.
ИсполнятьПропущенное
Доступность: КлиентИСервер
ТолькоЧтение
ИсполнятьПропущенное: Булево
Признак того, что задание нужно запустить после старта приложения, если в назначенный по расписанию момент приложение было остановлено.
Методы
Ежедневно
Доступность: КлиентИСервер
Статический
Возвращает расписание запусков с указанным периодом дней ПериодПовтораДней
в указанное время ЗапуститьВ
. Опционально задаются также значения свойств ИсполнятьПропущенное, ВремяНачала и ВремяКонца.
Примеры
Запуск задания через день в 8 утра.
знч ЧерезДень = Расписание.Ежедневно(
Время{8:00},
ПериодПовтораДней = 2)
знч Задание = ЗапланированныеЗадания.Создать(&МойМодуль.МойМетод)
Задание.Настроить(Ключ = "МоеЗадание", Расписание = ЧерезДень)
Задание.Запланировать()
Ежемесячно
Доступность: КлиентИСервер
Статический
Ежемесячно(ЗапуститьВ: Время, Месяцы: Обходимое<Месяц>, НеделиМесяца: Обходимое<НеделяМесяца>, ДниНедели: Обходимое<ДеньНедели>, ИсполнятьПропущенное: Булево = Ложь, ВремяНачала: Момент? = Неопределено, ВремяКонца: Момент|Время|? = Неопределено): ЕжемесячноеРасписание
Возвращает расписание запусков в указанное время ЗапуститьВ
указанных дней ДниВМесяце
указанных месяцев Месяцы
.
ДниВМесяце
- В какие дни месяца запускать задание. Числа в диапазоне -28..-1 и 1..31.
Положительные числа - дни месяца (1 - первый день, 2 - второй день и т.д.).
Отрицательные числа дни с конца предыдущего месяца (-1 - последний день предыдущего месяца, -2 предпоследний день и т.д.).
Опционально задаются также значения свойств ИсполнятьПропущенное, ВремяНачала и ВремяКонца.
// Расписание запуска в 8 утра в первый и последний день каждого месяца.
знч ПервыйПоследний = Расписание.Ежемесячно(
Время{8:00},
Месяцы = новый Множество(Месяц.Элементы()),
ДниВМесяце = {-1, 1})
знч Задание = ЗапланированныеЗадания.Создать(&МойМодуль.МойМетод)
Задание.Настроить(Ключ = "МоеЗадание", Расписание = ПервыйПоследний)
Задание.Запланировать()
Ежемесячно
Доступность: КлиентИСервер
Статический
Ежемесячно(
ЗапуститьВ: Время,
Месяцы: Обходимое<Месяц>,
НеделиМесяца: Обходимое<НеделяМесяца>,
ДниНедели: Обходимое<ДеньНедели>,
ИсполнятьПропущенное: Булево = Ложь,
ВремяНачала: Момент? = Неопределено,
ВремяКонца: Момент|Время|? = Неопределено
): ЕжемесячноеРасписание
Ежемесячно(ЗапуститьВ: Время, Месяцы: Обходимое<Месяц>, ДниВМесяце: Обходимое<Число>, ИсполнятьПропущенное: Булево = Ложь, ВремяНачала: Момент? = Неопределено, ВремяКонца: Момент|Время|? = Неопределено): ЕжемесячноеРасписание
Возвращает расписание запусков в указанное время ЗапуститьВ
указанных дней недели ДниНедели
указанных недель НеделиМесяца
указанных месяцев Месяцы
.
Опционально задаются также значения свойств ИсполнятьПропущенное, ВремяНачала и ВремяКонца.
Примеры
// Расписание запуска в 8 утра в первый и третий понедельник каждого месяца.
знч НечетныеПонедельники = Расписание.Ежемесячно(
Время{8:00},
Месяцы = новый Множество(Месяц.Элементы()),
НеделиМесяца = {НеделяМесяца.Первая, НеделяМесяца.Третья},
ДниНедели = {ДеньНедели.Понедельник})
знч Задание = ЗапланированныеЗадания.Создать(&МойМодуль.МойМетод)
Задание.Настроить(Ключ = "МоеЗадание", Расписание = НечетныеПонедельники)
Задание.Запланировать()
Еженедельно
Доступность: КлиентИСервер
Статический
Создает расписание запусков в указанное время ЗапуститьВ
указанных дней недели ДниНедели
.
ПериодНедель
- раз в какое число недель запускать задание.
Опционально задаются также значения свойств ИсполнятьПропущенное, ВремяНачала и ВремяКонца.
Примеры
// Расписание запуска через неделю по вторникам и четвергам в 8 утра.
знч ВтЧт = Расписание.Еженедельно(
Время{8:00},
ДниНедели = {ДеньНедели.Вторник, ДеньНедели.Четверг},
ПериодНедель = 2)
знч Задание = ЗапланированныеЗадания.Создать(&МойМодуль.МойМетод)
Задание.Настроить(Ключ = "МоеЗадание", Расписание = ВтЧт)
Задание.Запланировать()
МоментСледующегоИсполнения
Доступность: КлиентИСервер
МоментСледующегоИсполнения(): Момент?
Вычисляет момент следующего исполнения расписания. Неопределено
, если следующего запуска задания по этому расписанию не будет.
Однократно
Доступность: КлиентИСервер
Статический
Возвращает расписание однократного запуска в указанный момент времени ЗапуститьВ
.
Опционально задаются также значения свойств ИсполнятьПропущенное, ВремяНачала и ВремяКонца.
Примеры
Запуск задания один раз в 8 утра 18 июня 2021 или сразу после запуска, если в этот момент система не работала.
знч Июнь18 = Расписание.Однократно(Момент{2021-06-18 8:00 Z}, ИсполнятьПропущенное = Истина)
знч Задание = ЗапланированныеЗадания.Создать(&МойМодуль.МойМетод)
Задание.Настроить(Ключ = "МоеЗадание", Расписание = Июнь18)
Задание.Запланировать()
Периодическое
Доступность: КлиентИСервер
Статический
Периодическое(
Период: Длительность,
ИсполнятьПропущенное: Булево = Ложь,
ВремяНачала: Момент? = Неопределено,
ВремяКонца: Момент|Время|? = Неопределено
): ПериодическоеРасписание
Возвращает расписание постоянных запусков с указанным периодом Период
.
Задание будет запущено спустя указанный период времени после завершения предыдущего запуска.
Значение должно быть положительным и не менее 1 секунды.
Примеры
// Расписание запуска через 3 секунды после окончания предыдущего запуска.
знч ЧастыйПовтор = Расписание.Постоянно(3с)
знч Задание = ЗапланированныеЗадания.Создать(&МойМодуль.МойМетод)
Задание.Настроить(Ключ = "МоеЗадание", Расписание = ЧастыйПовтор)
Задание.Запланировать()