РасписаниеРегламентногоЗадания

Типы · JobSchedule

Расписание регламентного задания.

Полное описание, параметры и ограничения

РасписаниеРегламентногоЗадания (JobSchedule)

РасписаниеРегламентногоЗадания (JobSchedule)

Доступен, начиная с версии 8.1.

Свойства:
ВремяЗавершения (CompletionTime)
ВремяКонца (EndTime)
ВремяНачала (BeginTime)
ДатаКонца (EndDate)
ДатаНачала (BeginDate)
ДеньВМесяце (DayInMonth)
ДеньНеделиВМесяце (WeekDayInMonth)
ДетальныеРасписанияДня (DetailedDailySchedules)
ДниНедели (WeekDays)
ИнтервалЗавершения (CompletionInterval)
Месяцы (Months)
ПаузаПовтора (RepeatPause)
ПериодНедель (WeeksPeriod)
ПериодПовтораВТечениеДня (RepeatPeriodInDay)
ПериодПовтораДней (DaysRepeatPeriod)

Методы:
ТребуетсяВыполнение (ExecutionRequired)

Конструкторы:
По умолчанию

Описание:

Расписание регламентного задания.

Доступность:

Тонкий клиент, веб-клиент, мобильный клиент, сервер, толстый клиент, внешнее соединение.
Сериализуется. Данный объект может быть сериализован в/из XDTO. Тип XDTO, соответствующий данному объекту, определяется в пространстве имен {http://v8.1c.ru/8.1/data/enterprise}. Имя типа XDTO: JobSchedule.

См. также:
РегламентноеЗадание, свойство Расписание
ДиалогРасписанияРегламентногоЗадания, свойство Расписание
ДиалогРасписанияРегламентногоЗадания, конструктор По расписанию

Использование в версии:

Доступен, начиная с версии 8.1.

Методическая информация

Практические примеры

Проверить расписание понедельник–среда–пятница с 09:00 до 17:00

В памяти задаём сентябрьское окно и проверяем несколько явно заданных допустимых и запрещённых моментов.

Где и как запускать

Полный модуль собственной управляемой формы: расчёт на сервере, вывод на клиенте.

Подготовка

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

  2. ТребуетсяВыполнение доступен серверу, толстому клиенту и внешнему соединению. Поэтому здесь тонкий клиент получает результат отдельной серверной функции.

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

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

&НаКлиенте
Процедура Выполнить(Команда)
    Сообщить(ПроверитьУчебноеРасписание());
КонецПроцедуры

&НаСервереБезКонтекста
Функция ПроверитьУчебноеРасписание()
    Отчет = Новый Массив;
    Расписание = Новый РасписаниеРегламентногоЗадания;
    Расписание.ДатаНачала = Дата(2026, 9, 1);
    Расписание.ДатаКонца = Дата(2026, 9, 30);
    Расписание.ВремяНачала = Дата(1, 1, 1, 9, 0, 0);
    Расписание.ВремяКонца = Дата(1, 1, 1, 17, 0, 0);
    Расписание.Месяцы = Новый Массив;
    Месяцы = Расписание.Месяцы;
    Месяцы.Добавить(9);
    Расписание.Месяцы = Месяцы;
    Дни = Новый Массив;
    Дни.Добавить(1);
    Дни.Добавить(3);
    Дни.Добавить(5);
    Расписание.ДниНедели = Дни;
    Отчет.Добавить(Строка(Расписание.ДатаНачала = Дата(2026, 9, 1)));
    Отчет.Добавить(Строка(Расписание.ДатаКонца = Дата(2026, 9, 30)));
    Отчет.Добавить(Строка(Расписание.ТребуетсяВыполнение(Дата(2026, 9, 14, 9, 0, 0))));
    Отчет.Добавить(Строка(Расписание.ТребуетсяВыполнение(Дата(2026, 9, 16, 12, 0, 0))));
    Отчет.Добавить(Строка(Расписание.ТребуетсяВыполнение(Дата(2026, 9, 18, 17, 0, 0))));
    Отчет.Добавить(Строка(НЕ Расписание.ТребуетсяВыполнение(Дата(2026, 9, 15, 12, 0, 0))));
    Отчет.Добавить(Строка(НЕ Расписание.ТребуетсяВыполнение(Дата(2026, 9, 14, 8, 59, 59))));
    Отчет.Добавить(Строка(НЕ Расписание.ТребуетсяВыполнение(Дата(2026, 9, 18, 17, 0, 1))));
    Отчет.Добавить(Строка(НЕ Расписание.ТребуетсяВыполнение(Дата(2026, 8, 31, 12, 0, 0))));
    Возврат СтрСоединить(Отчет, Символы.ПС);
КонецФункции

Разбор по шагам

  1. Номера дней недели: понедельник=1, среда=3, пятница=5. Месяц сентябрь=9; массивы присваиваются обратно свойствам.

  2. ДатаНачала/ДатаКонца ограничивают календарные дни, ВремяНачала/ВремяКонца — время внутри допустимого дня. Время задаём датой с календарной частью 01.01.0001.

  3. Границы времени включены: ровно 09:00 и 17:00 допустимы. 08:59:59 и 17:00:01 недопустимы.

  4. Дата последнего запуска не передана: проверка истории повторов не производится. Это проверка принадлежности расписанию, не резервирование запуска.

Как проверить результат

  1. Девять строк отчёта ожидаются Истина. Для отрицательных случаев используется НЕ.

  2. 15 сентября 2026 — вторник, 14 — понедельник, 16 — среда, 18 — пятница.

  3. В базе не появляется новое регламентное или фоновое задание.

Ожидаемый результат

Показаны отдельные календарные и суточные ограничения расписания с тестами точных границ.

На что обратить внимание

  1. Булево Истина не запускает обработку и не гарантирует, что сервер исполнит задание в эту секунду.

  2. Не пользоваться текущей датой для обещанных воспроизводимых результатов.

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

Проверить повтор через два дня и через две недели

Создаём два независимых расписания и передаём каждому собственную дату предыдущего запуска.

Где и как запускать

Полный модуль собственной управляемой формы, расчёт на сервере.

Подготовка

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

  2. ТребуетсяВыполнение доступен серверу, толстому клиенту и внешнему соединению. Поэтому здесь тонкий клиент получает результат отдельной серверной функции.

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

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

&НаКлиенте
Процедура Выполнить(Команда)
    Сообщить(ПроверитьУчебноеРасписание());
КонецПроцедуры

&НаСервереБезКонтекста
Функция ПроверитьУчебноеРасписание()
    Отчет = Новый Массив;
    ПоДням = Новый РасписаниеРегламентногоЗадания;
    ПоДням.ПериодПовтораДней = 2;
    ПоследнийДневной = Дата(2026, 9, 14, 9, 0, 0);
    Отчет.Добавить(Строка(ПоДням.ПериодПовтораДней = 2));
    Отчет.Добавить(Строка(НЕ ПоДням.ТребуетсяВыполнение(Дата(2026, 9, 15, 9, 0, 0), ПоследнийДневной)));
    Отчет.Добавить(Строка(ПоДням.ТребуетсяВыполнение(Дата(2026, 9, 16, 9, 0, 0), ПоследнийДневной)));
    ПоНеделям = Новый РасписаниеРегламентногоЗадания;
    ПоНеделям.ПериодНедель = 2;
    Понедельник = Новый Массив;
    Понедельник.Добавить(1);
    ПоНеделям.ДниНедели = Понедельник;
    ПоследнийНедельный = Дата(2026, 9, 7, 9, 0, 0);
    Отчет.Добавить(Строка(ПоНеделям.ПериодНедель = 2));
    Отчет.Добавить(Строка(НЕ ПоНеделям.ТребуетсяВыполнение(Дата(2026, 9, 14, 9, 0, 0), ПоследнийНедельный)));
    Отчет.Добавить(Строка(ПоНеделям.ТребуетсяВыполнение(Дата(2026, 9, 21, 9, 0, 0), ПоследнийНедельный)));
    Отчет.Добавить(Строка(НЕ ПоНеделям.ТребуетсяВыполнение(Дата(2026, 9, 22, 9, 0, 0), ПоследнийНедельный)));
    Возврат СтрСоединить(Отчет, Символы.ПС);
КонецФункции

Разбор по шагам

  1. ПериодПовтораДней задаётся в днях, ПериодНедель — в неделях. Это не секунды ПериодПовтораВТечениеДня.

  2. У дневного расписания нет ограничений дней недели: 15 сентября ещё рано после 14-го, 16-е проходит период двух дней.

  3. У недельного расписания дополнительно разрешён только понедельник. Между 7 и 14 сентября одна неделя, между 7 и 21 — две.

  4. 22 сентября не проходит фильтр дня недели, даже если период двух недель уже прошёл.

  5. Не объединяем оба периодических свойства в одном расписании: урок показывает их независимое назначение без неоговорённого приоритета.

Как проверить результат

  1. Семь строк ожидаются Истина на фиксированных календарных датах.

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

Ожидаемый результат

У двух полностью заданных расписаний показаны повтор и дополнительный фильтр дней недели.

На что обратить внимание

  1. Не передавать историю другого задания: тогда результат относится к выдуманному состоянию.

  2. История и календарные фильтры — разные условия, одно не отменяет другое.

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

Не хотите разбираться сами?

Адаптируем это решение под вашу базу. Оценка бесплатно.

Оставить задачу

1С, 1С:Предприятие — товарные знаки ООО «1С». Сайт не является официальным представительством фирмы «1С» и не аффилирован с ней.