ПриАктивизацииИнтервала: собственное поле диаграммы Ганта

Учебные задачи

Идентификатор активного интервала читается у конкретного подготовленного поля. Значение диаграммы и интервал различаются.

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

Модуль своей управляемой формы, клиентское событие ПолеГанта. Подготовка модели отдельно на сервере.

Подготовка

  1. Создайте собственную внешнюю обработку с управляемой формой. Реквизит УчебныйГрафик типа ДиаграммаГанта и поле ПолеГанта вида ПолеДиаграммыГанта с путём УчебныйГрафик.

  2. Добавьте Статус (Строка 200), ЗапретитьСворачивание (Булево) и выведите их на форму. Основную серверную подготовку назначьте событию формы ПриСозданииНаСервере.

  3. Запуск — тонкий клиент своей учебной базы. Два интервала 15 октября 2026 года создаются только в памяти: подготовка книги 10:00–11:00, проверка 12:00–13:00. Заказы, производственные графики и печать не используются.

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

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

  1. Серверный блок создаёт собственную диаграмму, серию, точки и интервалы.

  2. Основной клиентский блок назначается конкретному событию ПолеГанта; Элемент передаёт платформа.

  3. Идентификатор активного интервала читается у конкретного подготовленного поля. Значение диаграммы и интервал различаются.

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

  1. Нажмите на собственный интервал: сообщение относится к ТекущийИнтервал данного поля.

  2. Это интерфейсное выделение, не изменение длительности и не запись в базу.

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

Событие показано с конкретным собственным полем и полностью объявленной моделью.

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

  1. Этот блок относится к расширению поля формы. Его сигнатура и первый параметр не подменяются событиями самой модели ДиаграммаГанта.

  2. Не проверяйте событие прямым вызовом процедуры.

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

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

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

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

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

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