Тип: Массив. Массив детальных расписаний на день. Расписание может содержать только значения следующих свойств: ВремяНачала, ВремяКонца, ВремяЗавершения, ИнтервалЗавершения, ПериодПовтораВТечениеДня, ПаузаПовтора. Если задано свойство ДетальныеРасписанияДня, то основное расписание не должно содержать вышеперечисленные свойства. Свойство возвращает копию массива, поэтому просто его модификация не имеет смысла. Измененный массив должен быть обратно присвоен свойству для применения: ДетальноеРасписание = Расписание.ДетальныеРасписанияДня; ДетальноеРасписание.Добавить(Новый РасписаниеРегламентногоЗадания()); Расписание.ДетальныеРасписанияДня = ДетальноеРасписание;
Полное описание, параметры и ограничения
РасписаниеРегламентногоЗадания.ДетальныеРасписанияДня (JobSchedule.DetailedDailySchedules)
РасписаниеРегламентногоЗадания (JobSchedule)
ДетальныеРасписанияДня (DetailedDailySchedules)
Доступен, начиная с версии 8.1.
Использование:
Чтение и запись.
Описание:
Тип: Массив.
Массив детальных расписаний на день. Расписание может содержать только значения следующих свойств: ВремяНачала, ВремяКонца, ВремяЗавершения, ИнтервалЗавершения, ПериодПовтораВТечениеДня, ПаузаПовтора. Если задано свойство ДетальныеРасписанияДня, то основное расписание не должно содержать вышеперечисленные свойства.
Свойство возвращает копию массива, поэтому просто его модификация не имеет смысла. Измененный массив должен быть обратно присвоен свойству для применения:
ДетальноеРасписание = Расписание.ДетальныеРасписанияДня;
ДетальноеРасписание.Добавить(Новый РасписаниеРегламентногоЗадания());
Расписание.ДетальныеРасписанияДня = ДетальноеРасписание;
Доступность:
Сервер, толстый клиент, внешнее соединение.
Использование в версии:
Доступен, начиная с версии 8.1.
Описание изменено в версии 8.3.17.
Методическая информация
Практические примеры
Задать два окна дня и правильно вернуть массив детальных расписаний
Создаём утреннее и дневное окно; отдельная проверка показывает, почему добавление в полученную копию массива не меняет основное расписание.
Где и как запускать
Полный модуль собственной управляемой формы, расчёт на сервере.
Подготовка
Собственная пустая конфигурация УчебнаяКонфигурацияСинтаксиса 8.5.1.1343. Создайте внешнюю обработку с управляемой формой, командой Выполнить и её кнопкой; вставьте полный модуль урока в форму.
ТребуетсяВыполнение доступен серверу, толстому клиенту и внешнему соединению. Поэтому здесь тонкий клиент получает результат отдельной серверной функции.
Расписание создаётся только в памяти. Регламентное задание не создаётся, не записывается и не запускается; действующие расписания базы не читаются и не меняются.
Все даты проверки заданы явно. Вызов без даты зависит от текущего времени и для этих воспроизводимых проверок не используется.
&НаКлиенте
Процедура Выполнить(Команда)
Сообщить(ПроверитьУчебноеРасписание());
КонецПроцедуры
&НаСервереБезКонтекста
Функция ПроверитьУчебноеРасписание()
Отчет = Новый Массив;
Расписание = Новый РасписаниеРегламентногоЗадания;
Расписание.ДатаНачала = Дата(2026, 9, 1);
Расписание.ДатаКонца = Дата(2026, 9, 30);
Утро = Новый РасписаниеРегламентногоЗадания;
Утро.ВремяНачала = Дата(1, 1, 1, 9, 0, 0);
Утро.ВремяКонца = Дата(1, 1, 1, 10, 0, 0);
День = Новый РасписаниеРегламентногоЗадания;
День.ВремяНачала = Дата(1, 1, 1, 14, 0, 0);
День.ВремяКонца = Дата(1, 1, 1, 15, 0, 0);
Детали = Расписание.ДетальныеРасписанияДня;
Детали.Добавить(Утро);
Отчет.Добавить(Строка(Расписание.ДетальныеРасписанияДня.Количество() = 0));
Расписание.ДетальныеРасписанияДня = Детали;
Отчет.Добавить(Строка(Расписание.ДетальныеРасписанияДня.Количество() = 1));
Детали = Расписание.ДетальныеРасписанияДня;
Детали.Добавить(День);
Расписание.ДетальныеРасписанияДня = Детали;
Отчет.Добавить(Строка(Расписание.ДетальныеРасписанияДня.Количество() = 2));
Отчет.Добавить(Строка(Расписание.ТребуетсяВыполнение(Дата(2026, 9, 15, 9, 30, 0))));
Отчет.Добавить(Строка(НЕ Расписание.ТребуетсяВыполнение(Дата(2026, 9, 15, 12, 0, 0))));
Отчет.Добавить(Строка(Расписание.ТребуетсяВыполнение(Дата(2026, 9, 15, 14, 30, 0))));
Отчет.Добавить(Строка(НЕ Расписание.ТребуетсяВыполнение(Дата(2026, 9, 15, 15, 0, 1))));
Возврат СтрСоединить(Отчет, Символы.ПС);
КонецФункцииРазбор по шагам
Основное расписание ограничивает календарные даты. Суточные ограничения задаём только у объектов Утро/День.
ДетальныеРасписанияДня возвращает копию массива. После Детали.Добавить(Утро) свойство ещё содержит ноль элементов; присвоение возвращает изменённый массив.
Для второго добавления опять получаем копию и обязательно присваиваем её обратно.
Детальное расписание может содержать только ВремяНачала, ВремяКонца, ВремяЗавершения, ИнтервалЗавершения, ПериодПовтораВТечениеДня, ПаузаПовтора. Не добавляем туда календарные ограничения.
Основное расписание при наличии деталей не должно содержать перечисленные суточные свойства. Пример соблюдает это разделение.
Как проверить результат
Семь строк ожидаются Истина. В 09:30 и 14:30 расписание подходит, в полдень и после 15:00 — нет.
Уберите обратное присвоение после первого добавления: проверка количества 1 перестанет проходить. Верните строку перед продолжением опыта.
Ожидаемый результат
Показаны два независимых окна дня и реальная семантика возвращаемой копии массива.
На что обратить внимание
Расписание.ДетальныеРасписанияДня.Добавить(...) без обратного присвоения не сохраняет изменение.
Не задавать ВремяНачала основного расписания одновременно с детальными окнами.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.