ДействиеЭлементаПланировщика

Типы · PlannerItemAction

Описывает действие элемента планировщика. Примечание. Действия в элементе отображаются только при наличии свободного пространства. В противном случае действия будут скрыты и будут отображаться только в окнах редактирования.

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

ДействиеЭлементаПланировщика (PlannerItemAction)

ДействиеЭлементаПланировщика (PlannerItemAction)

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

Свойства:
Видимость (Visible)
Доступность (Enabled)
Значение (Value)
Картинка (Picture)
Подсказка (ToolTip)
Положение (Location)
Текст (Text)
ЦветТекста (TextColor)
Шрифт (Font)

Описание:

Описывает действие элемента планировщика.
Примечание. Действия в элементе отображаются только при наличии свободного пространства.
В противном случае действия будут скрыты и будут отображаться только в окнах редактирования.

Доступность:

Тонкий клиент, веб-клиент, мобильный клиент, сервер, толстый клиент, мобильное приложение (клиент), мобильное приложение (сервер).
Возможен обмен с сервером. Сериализуется. Данный объект может быть сериализован в/из XML. Данный объект может быть сериализован в/из XDTO. Тип XDTO, соответствующий данному объекту, определяется в пространстве имен . Имя типа XDTO:

См. также:
ЭлементПланировщика

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

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

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

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

Добавить действие Подробнее прямо в учебное событие

Действие отображается внутри события; нажатие вызывает готовый клиентский обработчик с двумя параметрами из API.

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

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

Подготовка

  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);
    Разбор.РежимРазрешенияРедактирования = РежимРазрешенияРедактированияЭлементаПланировщика.ЗапретитьРедактирование;
    Действие = Прием.Действия.Добавить("details", "Подробнее");
    Действие.Видимость = Истина;
    Действие.Доступность = Истина;
    Действие.Подсказка = "Показать сведения о вымышленном приёме";
    Действие.Положение = ПоложениеДействияЭлементаПланировщика.ВКонцеЭлемента;
    Действие.ЦветТекста = Новый Цвет(25, 70, 115);
    Действие.Шрифт = Новый Шрифт("Arial", 10, Истина);

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

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

&НаКлиенте
Процедура УчебноеДействие(Команда)
    Прием = УчебныйПлан.Элементы.Найти("training-receipt");
    Действие = Прием.Действия.Найти("details");
    Сообщить(Действие.Значение = "details");
    Сообщить(Действие.Текст = "Подробнее");
    Сообщить(Действие.Видимость И Действие.Доступность);
КонецПроцедуры

&НаКлиенте
Процедура ПриНажатииДействия(ЭлементПланировщика, ДействиеЭлементаПланировщика)
    Если ДействиеЭлементаПланировщика.Значение <> "details" Тогда
        Возврат;
    КонецЕсли;
    Сообщить("Учебное событие: " + ЭлементПланировщика.Текст);
    Сообщить("Начало: " + Формат(ЭлементПланировщика.Начало, "ДФ=dd.MM.yyyy HH:mm"));
    Сообщить("Длительность, минут: " + Строка((ЭлементПланировщика.Конец - ЭлементПланировщика.Начало) / 60));
КонецПроцедуры

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

  1. Прием.Действия — коллекция действий конкретного события, не команда всей формы.

  2. Добавить получает ключ details и текст Подробнее. Доступность Истина разрешает событие нажатия.

  3. Через УстановитьДействие связываем событие поля с именем готовой процедуры.

  4. Обработчик имеет именно два параметра: ЭлементПланировщика и ДействиеЭлементаПланировщика. Параметр Элемент формы не добавляем.

  5. Обработчик сверяет ключ, затем выводит только вымышленные сведения. Никаких ссылок на рабочие встречи и записи в базу нет.

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

  1. Кнопка проверки выводит три Истина.

  2. Нажмите Подробнее внутри приёма: сообщение о приёме, начало 15.09.2026 09:00 и длительность 60 минут.

  3. Два события и их время сохраняются.

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

Есть не декоративный фрагмент, а настроенное действие с полноценной реакцией формы.

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

  1. Сигнатура этого события отличается от многих событий элементов формы: лишний первый параметр нарушит вызов.

  2. Если места внутри события мало, подпись может не уместиться; увеличьте ширину поля/окна.

  3. Реальные сведения встреч могут быть конфиденциальны, поэтому учебный вывод нельзя бездумно переносить на рабочие данные.

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

Изменить порядок учебных действий и убрать временное действие

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

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

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

Подготовка

  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");
    Действия = Прием.Действия;
    Действия.Очистить();
    Основное = Действия.Добавить("details", "Сведения — учебная подпись");
    Основное.Доступность = Ложь;
    Проба = Действия.Вставить(0, "temp", "Временная подпись");
    Проба.Доступность = Ложь;
    Сообщить(Действия.Индекс(Основное) = 1);
    Действия.Сдвинуть(Проба, 1);
    Сообщить(Действия.Получить(0) = Основное);
    Сообщить(Действия.Найти("details") = Основное);
    Действия.Удалить(Проба);
    Сообщить(Действия.Количество() = 1);
    Сообщить(Действия.Найти("temp") = Неопределено);
КонецПроцедуры

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

  1. Очищаем только действия вымышленного приёма. Сам приём и его время остаются.

  2. Создаём основную и временную подпись с разными ключами. Нажатия отключены, поскольку обработчик не нужен для задачи порядка.

  3. Вставить в начало сдвигает индекс основного действия. Сдвинуть пробу на 1 возвращает основное на позицию 0.

  4. Найти ищет ключ Значение. Получить читает по позиции. Это разные задачи.

  5. Удаляем пробу объектом, проверяем итог и отсутствие её ключа.

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

  1. Пять проверок Истина.

  2. Остаётся одно недоступное для нажатия действие приёма, событий по-прежнему два.

  3. Повторная кнопка не накапливает подписи.

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

Все девять методов действий показаны без фиктивной реализации команды.

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

  1. Доступность Ложь не означает скрыто: за скрытие отвечает Видимость.

  2. Метод Найти возвращает первое совпадение, поэтому в учебном примере ключи различаются.

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

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

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

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

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