РасписаниеРегламентногоЗадания.По умолчанию

Конструкторы

Синтаксис и применение РасписаниеРегламентногоЗадания.По умолчанию в платформе 1С:Предприятие. Описание и примеры кода.

Синтаксис

Новый РасписаниеРегламентногоЗадания
Полное описание, параметры и ограничения

РасписаниеРегламентногоЗадания.По умолчанию

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

По умолчанию

Синтаксис:
Новый РасписаниеРегламентногоЗадания
Методическая информация

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

Проверить расписание понедельник–среда–пятница с 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С» и не аффилирован с ней.