Тип: ОтображениеВремениЭлементовПланировщика. Устанавливает режим отображения времени на элементах планировщика.
Полное описание, параметры и ограничения
Планировщик.ОтображениеВремениЭлементов (Planner.ItemsTimeRepresentation)
Планировщик (Planner)
ОтображениеВремениЭлементов (ItemsTimeRepresentation)
Доступен, начиная с версии 8.3.6.
Использование:
Чтение и запись.
Описание:
Тип: ОтображениеВремениЭлементовПланировщика.
Устанавливает режим отображения времени на элементах планировщика.
Доступность:
Тонкий клиент, веб-клиент, мобильный клиент, сервер, толстый клиент, внешнее соединение, мобильное приложение (клиент), мобильное приложение (сервер), мобильный автономный сервер.
Использование в версии:
Доступен, начиная с версии 8.3.6.
Методическая информация
Практические примеры
Показать время и форматированный текст перекрывающихся событий
Добавляем третий собственный интервал 09:30–10:30 и показываем, как политика недостатка места отличается от данных события.
Где и как запускать
Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.
Подготовка
Создайте новую внешнюю обработку УчебныйПланировщик с пустой управляемой основной формой в учебной базе 8.5.1.1343. Каждый урок — отдельная копия модуля.
Не создавайте вручную реквизит УчебныйПлан и поле ПолеПлана: они создаются программно.
В свойствах формы → События назначьте ПриСозданииНаСервере одноимённой процедуре. Весь приведённый код вставьте на уровне модуля.
Сохраните собственную EPF и откройте через Файл → Открыть в тонком клиенте Windows. События относятся к фиксированной дате 15.09.2026, не к сегодняшнему дню.
Данные существуют только в памяти формы. Записи календарей, документов, пользователей, оборудования и печать не используются.
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Новые = Новый Массив;
Новые.Добавить(Новый РеквизитФормы("УчебныйПлан", Новый ОписаниеТипов("Планировщик")));
ЭтаФорма.ИзменитьРеквизиты(Новые);
План = Новый Планировщик;
План.НачалоПериодаОтображения = Дата(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);
Разбор.РежимРазрешенияРедактирования = РежимРазрешенияРедактированияЭлементаПланировщика.ЗапретитьРедактирование;
План.ОтображениеВремениЭлементов = ОтображениеВремениЭлементовПланировщика.ВремяНачалаИКонца;
План.ПоведениеЭлементовПриНедостаткеМеста = ПоведениеЭлементовПланировщикаПриНедостаткеМеста.ОтображатьВсеЭлементы;
План.ТипТекстаНовыхЭлементов = ТипТекстаНовыхЭлементовПланировщика.ФорматированнаяСтрока;
Перекрывающий = План.Элементы.Добавить(Дата(2026, 9, 15, 9, 30), Дата(2026, 9, 15, 10, 30));
Перекрывающий.Значение = "training-overlap";
Перекрывающий.Текст = Новый ФорматированнаяСтрока("Учебная встреча 09:30–10:30");
Перекрывающий.РежимРазрешенияРедактирования = РежимРазрешенияРедактированияЭлементаПланировщика.ЗапретитьРедактирование;
ЭтаФорма.УчебныйПлан = План;
Поле = Элементы.Добавить("ПолеПлана", Тип("ПолеФормы"));
Поле.Вид = ВидПоляФормы.ПолеПланировщика;
Поле.ПутьКДанным = "УчебныйПлан";
Поле.Заголовок = "Учебный день 15.09.2026";
Поле.РазрешитьНачалоПеретаскивания = Ложь;
Поле.РазрешитьПеретаскивание = Ложь;
Поле.РастягиватьПоГоризонтали = Истина;
Поле.РастягиватьПоВертикали = Истина;
КомандаДействия = ЭтаФорма.Команды.Добавить("УчебноеДействие");
КомандаДействия.Действие = "УчебноеДействие";
КомандаДействия.Заголовок = "Проверить оформление событий";
КомандаДействия.Подсказка = "Действие только над данными учебной формы";
КомандаДействия.ИзменяетСохраняемыеДанные = Ложь;
Кнопка = Элементы.Добавить("КнопкаУчебноеДействие", Тип("КнопкаФормы"));
Кнопка.ИмяКоманды = КомандаДействия.Имя;
Кнопка.Заголовок = КомандаДействия.Заголовок;
КонецПроцедуры
&НаКлиенте
Процедура УчебноеДействие(Команда)
Событие = УчебныйПлан.Элементы.Найти("training-overlap");
Если Событие = Неопределено Тогда
ВызватьИсключение "Собственный учебный интервал не найден";
КонецЕсли;
Сообщить(УчебныйПлан.ОтображениеВремениЭлементов = ОтображениеВремениЭлементовПланировщика.ВремяНачалаИКонца);
Сообщить(УчебныйПлан.ПоведениеЭлементовПриНедостаткеМеста = ПоведениеЭлементовПланировщикаПриНедостаткеМеста.ОтображатьВсеЭлементы);
Сообщить(УчебныйПлан.ТипТекстаНовыхЭлементов = ТипТекстаНовыхЭлементовПланировщика.ФорматированнаяСтрока);
Сообщить(ТипЗнч(Событие.Текст) = Тип("ФорматированнаяСтрока"));
Сообщить(Событие.Конец - Событие.Начало = 3600);
Сообщить(УчебныйПлан.Элементы.Количество() = 3);
КонецПроцедуры
Разбор по шагам
Шкала расположена сверху. Именно при верхнем/нижнем положении применяется ПоведениеЭлементовПриНедостаткеМеста.
ВремяНачалаИКонца добавляет отображение обоих концов интервала. Сами Начало/Конец при этом не меняются.
ТипТекстаНовыхЭлементов задаём до Добавить третьего события; два ранее созданных события не объявляем автоматически преобразованными.
Для нового события присваиваем настоящий объект ФорматированнаяСтрока. Обычная строка с символами разметки не выдаётся за этот тип.
Перекрытие с приёмом 09–10 здесь намеренное. Показать все элементы — политика отображения, не разрешение бронировать одну реальную комнату дважды.
Как проверить результат
По кнопке шесть проверок Истина. Уменьшите собственную форму и оцените отображение перекрытия; данные остаются тремя интервалами.
Форматированный текст получен именно для третьего события; его длительность один час.
Ожидаемый результат
На полных учебных данных объяснены подписи времени, тип текста и отображение перекрытий.
На что обратить внимание
Задача не проверяет конфликты реального бронирования и не изменяет календарь пользователей.
ФорматированнаяСтрока не означает выполнение HTML/JavaScript.
Видимость текста зависит от размеров поля; статический тест не подтверждает внешний вид.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.