План создан из своих дат, встреч и при необходимости заголовков измерения. Параметры события приходят от реального поля после указанного действия пользователя.
Где и как запускать
Модуль своей управляемой формы: клиентские события поля планировщика, серверная подготовка отдельно.
Подготовка
Создайте собственную внешнюю учебную обработку с управляемой формой. Реквизит УчебныйПлан типа Планировщик, поле ПолеПлана вида ПолеПланировщика с путём УчебныйПлан.
Реквизиты формы Статус (Строка 200), РазрешитьУдаление (Булево), ЗапретитьСворачивание (Булево); выведите их на форму. Это только свои данные в памяти.
Основной / подготовительный серверный блок назначьте событию формы ПриСозданииНаСервере. Клиентские события назначаются ПолеПлана, не самой форме.
Откройте собственную обработку в тонком клиенте. План показывает 15 октября 2026 года 09:00–17:00, две встречи 10:00–11:00 и 10:15–11:15. Никаких календарей рабочей базы, пользователей, отправки, печати или записи документов нет.
&НаКлиенте
Процедура ПолеПланаПроверкаПеретаскиванияВнутри(Элемент, ПараметрыПеретаскивания, ВариантИзмененияГраниц, ДействиеПеретаскивания, Отказ)
Если ДействиеПеретаскивания = ДействиеПеретаскиванияВнутриПланировщика.Выделение Тогда
Возврат;
КонецЕсли;
Для Каждого Перенос Из ПараметрыПеретаскивания Цикл
Если Перенос.Начало < Дата(2026, 10, 15, 9) Или Перенос.Конец > Дата(2026, 10, 15, 17) Тогда
Отказ = Истина;
Сообщить("Своя встреча должна оставаться между 09:00 и 17:00");
Возврат;
КонецЕсли;
КонецЦикла;
КонецПроцедурыТа же форма: точный собственный источник плана для этого события
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
План = Новый Планировщик;
План.НачалоПериодаОтображения = Дата(2026, 10, 15, 9);
План.КонецПериодаОтображения = Дата(2026, 10, 15, 17);
План.ТекущиеПериодыОтображения.Очистить();
План.ТекущиеПериодыОтображения.Добавить(План.НачалоПериодаОтображения, План.КонецПериодаОтображения);
План.ОтображатьТекущуюДату = Ложь;
План.ШкалаВремени.Положение = ПоложениеШкалыВремени.Верх;
Встреча = План.Элементы.Добавить(Дата(2026, 10, 15, 10), Дата(2026, 10, 15, 11));
Встреча.Значение = "УЧЕБНАЯ-ВСТРЕЧА";
Встреча.Текст = "Разбор собственной книги";
Вторая = План.Элементы.Добавить(Дата(2026, 10, 15, 10, 15), Дата(2026, 10, 15, 11, 15));
Вторая.Значение = "УЧЕБНАЯ-ПРОВЕРКА";
Вторая.Текст = "Проверка учебного задания";
РазрешитьУдаление = Ложь;
ЗапретитьСворачивание = Истина;
Статус = "Собственный план подготовлен";
УчебныйПлан = План;
КонецПроцедурыРазбор по шагам
Создайте собственный план и элементы формы точно по подготовке.
Назначьте клиентский обработчик нужному полю: источник, приёмник либо заголовок имеют разный смысл.
Выполните указанный жест / команду и проверьте результат только на своём плане.
Как проверить результат
Попробуйте перетащить / растянуть свою встречу за 17:00: изменение границ отклоняется.
Простое выделение не блокируется. Это внутреннее перетаскивание с ФиксированныйМассив, не внешние ПараметрыПеретаскивания.
Ожидаемый результат
Событие или команда воспроизводятся на конкретном собственном плане; клиентское действие не объявляется записью в базу.
На что обратить внимание
Здесь используется современный ОписаниеКомандыПоляПланировщика, а не устаревшее описание старого меню.
Параметры внутреннего и внешнего перетаскивания имеют разные типы и не взаимозаменяемы.
BSL, переходы, печать и запись в рабочие календари агентом не выполнялись.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.