ЭлементПланировщика.ДатаЗамещения

Свойства · ReplacementDate

Тип: Дата, Неопределено. Если элемент является замещающим в расписании, содержит дату, по которой данный элемент замещает повторенный элемент из расписания. Иначе - Неопределено.

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

ЭлементПланировщика.ДатаЗамещения (PlannerItem.ReplacementDate)

ЭлементПланировщика (PlannerItem)

ДатаЗамещения (ReplacementDate)

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

Использование:
Только чтение.
Описание:
Тип: Дата, Неопределено.
Если элемент является замещающим в расписании, содержит дату, по которой данный элемент замещает повторенный элемент из расписания. Иначе - Неопределено.
Доступность:

Тонкий клиент, веб-клиент, мобильный клиент, сервер, толстый клиент, внешнее соединение, мобильное приложение (клиент), мобильное приложение (сервер), мобильный автономный сервер.

См. также:
ЭлементПланировщика, свойство Расписание
ЭлементПланировщика, свойство Удаленный
ЭлементПланировщика, свойство Родитель
ЭлементПланировщика, свойство ЗамещающиеЭлементы

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

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

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

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

Создать планировщик дня с двумя событиями и часовой шкалой

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

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

Модуль новой управляемой формы учебной внешней обработки. Код содержит готовые процедуры с директивами; вставляйте на уровне модуля, не внутрь другого обработчика. Каждую задачу запускайте в отдельной копии формы.

Подготовка

  1. Создайте новую внешнюю обработку УчебныйПланировщик с пустой управляемой основной формой в учебной базе 8.5.1.1343. Каждый урок — отдельная копия модуля.

  2. Не создавайте вручную реквизит УчебныйПлан и поле ПолеПлана: они создаются программно.

  3. В свойствах формы → События назначьте ПриСозданииНаСервере одноимённой процедуре. Весь приведённый код вставьте на уровне модуля.

  4. Сохраните собственную EPF и откройте через Файл → Открыть в тонком клиенте Windows. События относятся к фиксированной дате 15.09.2026, не к сегодняшнему дню.

  5. Данные существуют только в памяти формы. Записи календарей, документов, пользователей, оборудования и печать не используются.

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    Новые = Новый Массив;
    Новые.Добавить(Новый РеквизитФормы("УчебныйПлан", Новый ОписаниеТипов("Планировщик")));
    ЭтаФорма.ИзменитьРеквизиты(Новые);
    План = Новый Планировщик;
    План.НачалоПериодаОтображения = Дата(2026, 9, 15, 9, 0, 0);
    План.КонецПериодаОтображения = Дата(2026, 9, 15, 17, 0, 0);
    План.ТекущиеПериодыОтображения.Очистить();
    План.ТекущиеПериодыОтображения.Добавить(
        План.НачалоПериодаОтображения, План.КонецПериодаОтображения);
    План.ОтображатьТекущуюДату = Ложь;
    План.ФиксироватьЗаголовокШкалыВремени = Истина;
    План.ФиксироватьЗаголовокИзмерений = Истина;
    План.ВыравниватьГраницыЭлементовПоШкалеВремени = Истина;
    План.ЦветФона = Новый Цвет(255, 255, 255);
    План.ЦветТекста = Новый Цвет(35, 45, 55);
    План.ЦветЛиний = Новый Цвет(220, 225, 230);
    План.Шрифт = Новый Шрифт("Arial", 10);
    Шкала = План.ШкалаВремени;
    Шкала.Положение = ПоложениеШкалыВремени.Верх;
    Шкала.ПрозрачныйФон = Ложь;
    Шкала.ЦветФона = Новый Цвет(240, 245, 250);
    Шкала.ЦветТекста = Новый Цвет(35, 45, 55);
    Пока Шкала.Элементы.Количество() > 0 Цикл
        Шкала.Элементы.Удалить(Шкала.Элементы.Получить(0));
    КонецЦикла;
    Часы = Шкала.Элементы.Добавить();
    Часы.Единица = ТипЕдиницыШкалыВремени.Час;
    Часы.Кратность = 1;
    Часы.Формат = "ДФ=HH:mm";
    Часы.Видимость = Истина;
    Часы.ОтображатьПериодическиеМетки = Истина;
    Часы.ЦветЛиний = Новый Цвет(220, 225, 230);
    Часы.ЦветТекста = Новый Цвет(35, 45, 55);
    Часы.ЦветФона = Новый Цвет(240, 245, 250);
    Прием = План.Элементы.Добавить(Дата(2026, 9, 15, 9, 0, 0), Дата(2026, 9, 15, 10, 0, 0));
    Прием.Значение = "training-receipt";
    Прием.Текст = "Учебный приём — 09:00–10:00";
    Прием.Подсказка = "Вымышленное событие. Только память формы.";
    Прием.ЦветФона = Новый Цвет(210, 235, 255);
    Прием.ЦветТекста = Новый Цвет(25, 70, 115);
    Прием.ЦветРамки = Новый Цвет(80, 140, 195);
    Прием.Шрифт = Новый Шрифт("Arial", 10);
    Прием.РежимРазрешенияРедактирования = РежимРазрешенияРедактированияЭлементаПланировщика.ЗапретитьРедактирование;
    Разбор = План.Элементы.Добавить(Дата(2026, 9, 15, 11, 0, 0), Дата(2026, 9, 15, 12, 0, 0));
    Разбор.Значение = "training-review";
    Разбор.Текст = "Учебный разбор — 11:00–12:00";
    Разбор.ЦветФона = Новый Цвет(225, 245, 220);
    Разбор.РежимРазрешенияРедактирования = РежимРазрешенияРедактированияЭлементаПланировщика.ЗапретитьРедактирование;


    ЭтаФорма.УчебныйПлан = План;
    Поле = Элементы.Добавить("ПолеПлана", Тип("ПолеФормы"));
    Поле.Вид = ВидПоляФормы.ПолеПланировщика;
    Поле.ПутьКДанным = "УчебныйПлан";
    Поле.Заголовок = "Учебный день 15.09.2026";
    Поле.РазрешитьНачалоПеретаскивания = Ложь;
    Поле.РазрешитьПеретаскивание = Ложь;
    Поле.РастягиватьПоГоризонтали = Истина;
    Поле.РастягиватьПоВертикали = Истина;


    КомандаДействия = ЭтаФорма.Команды.Добавить("УчебноеДействие");
    КомандаДействия.Действие = "УчебноеДействие";
    КомандаДействия.Заголовок = "Проверить учебные события";
    КомандаДействия.Подсказка = "Действие только над данными учебной формы";
    КомандаДействия.ИзменяетСохраняемыеДанные = Ложь;
    Кнопка = Элементы.Добавить("КнопкаУчебноеДействие", Тип("КнопкаФормы"));
    Кнопка.ИмяКоманды = КомандаДействия.Имя;
    Кнопка.Заголовок = КомандаДействия.Заголовок;
КонецПроцедуры

&НаКлиенте
Процедура УчебноеДействие(Команда)
    События = УчебныйПлан.Элементы;
    Прием = События.Найти("training-receipt");
    Если Прием = Неопределено Тогда
        ВызватьИсключение "Учебное событие не найдено";
    КонецЕсли;
    Сообщить(События.Количество() = 2);
    Сообщить(Прием.Начало = Дата(2026, 9, 15, 9, 0, 0));
    Сообщить(Прием.Конец - Прием.Начало = 3600);
    Сообщить(События.Найти("unknown") = Неопределено);
    Сообщить(Прием.Родитель = Неопределено);
    Сообщить(Прием.ДатаЗамещения = Неопределено);
    Сообщить(Элементы.ПолеПлана.ВыделенныеЭлементы.Количество());
КонецПроцедуры

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

  1. Данные УчебныйПлан и ПолеПлана — разные объекты: реквизит хранит план, поле показывает его по ПутьКДанным.

  2. Верхняя и нижняя границы запрещают навигацию вне дня. ТекущиеПериодыОтображения задают именно видимый диапазон, поэтому их тоже устанавливаем явно.

  3. Удаляем только исходные деления новой шкалы и создаём часы с кратностью 1. Формат HH:mm относится к времени, не к коду события.

  4. Значение хранит устойчивый учебный ключ, Текст — подпись. Найти ищет ключ, не время начала и не подпись.

  5. Разность дат измеряется в секундах: одночасовое событие даёт 3600.

  6. Родитель и ДатаЗамещения здесь Неопределено: расписание и замещающие события не создавались. ВыделенныеЭлементы — текущее состояние выделения поля.

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

  1. При открытии видны приём 09:00–10:00 и разбор 11:00–12:00, часовые деления.

  2. По кнопке шесть булевых проверок Истина; последнее число зависит от выделения пользователем.

  3. Нельзя перетаскивать события. Дата урока остаётся 15.09.2026 независимо от сегодняшней даты.

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

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

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

  1. ЗапретРедактирования элемента не запрещает все виды копирования/внешнего drag-and-drop; дополнительно выключены оба свойства перетаскивания поля.

  2. Это не календарь рабочего пользователя и не запись встречи в базе.

  3. API свойства элемента не делает учебный ключ уникальным автоматически: уникальность выбранных строк обеспечена самим примером.

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

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

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

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

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