Создаём два независимых расписания и передаём каждому собственную дату предыдущего запуска.
Где и как запускать
Полный модуль собственной управляемой формы, расчёт на сервере.
Подготовка
Собственная пустая конфигурация УчебнаяКонфигурацияСинтаксиса 8.5.1.1343. Создайте внешнюю обработку с управляемой формой, командой Выполнить и её кнопкой; вставьте полный модуль урока в форму.
ТребуетсяВыполнение доступен серверу, толстому клиенту и внешнему соединению. Поэтому здесь тонкий клиент получает результат отдельной серверной функции.
Расписание создаётся только в памяти. Регламентное задание не создаётся, не записывается и не запускается; действующие расписания базы не читаются и не меняются.
Все даты проверки заданы явно. Вызов без даты зависит от текущего времени и для этих воспроизводимых проверок не используется.
&НаКлиенте
Процедура Выполнить(Команда)
Сообщить(ПроверитьУчебноеРасписание());
КонецПроцедуры
&НаСервереБезКонтекста
Функция ПроверитьУчебноеРасписание()
Отчет = Новый Массив;
ПоДням = Новый РасписаниеРегламентногоЗадания;
ПоДням.ПериодПовтораДней = 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), ПоследнийНедельный)));
Возврат СтрСоединить(Отчет, Символы.ПС);
КонецФункцииРазбор по шагам
ПериодПовтораДней задаётся в днях, ПериодНедель — в неделях. Это не секунды ПериодПовтораВТечениеДня.
У дневного расписания нет ограничений дней недели: 15 сентября ещё рано после 14-го, 16-е проходит период двух дней.
У недельного расписания дополнительно разрешён только понедельник. Между 7 и 14 сентября одна неделя, между 7 и 21 — две.
22 сентября не проходит фильтр дня недели, даже если период двух недель уже прошёл.
Не объединяем оба периодических свойства в одном расписании: урок показывает их независимое назначение без неоговорённого приоритета.
Как проверить результат
Семь строк ожидаются Истина на фиксированных календарных датах.
Результаты остаются одинаковыми в другой день запуска учебной команды, поскольку дата проверки явно передана.
Ожидаемый результат
У двух полностью заданных расписаний показаны повтор и дополнительный фильтр дней недели.
На что обратить внимание
Не передавать историю другого задания: тогда результат относится к выдуманному состоянию.
История и календарные фильтры — разные условия, одно не отменяет другое.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.