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