Используется для доступа к свойствам и методам коллекции серий диаграммы Ганта.
Полное описание, параметры и ограничения
СерииДиаграммыГанта (GanttChartSeriesCollection)
СерииДиаграммыГанта (GanttChartSeriesCollection)
Доступен, начиная с версии 8.1.
Элементы коллекции:
СерияДиаграммыГанта
Для объекта доступен обход коллекции посредством оператора Для каждого … Из … Цикл. При обходе выбираются серии коллекции.
Возможно обращение к серии коллекции посредством оператора [...]. В качестве аргумента передается индекс (нумерация с 0) серии.
Свойства:
Родитель (Parent)
Методы:
Вставить (Insert)
Добавить (Add)
Индекс (IndexOf)
Количество (Count)
Очистить (Clear)
Получить (Get)
Сдвинуть (Move)
Удалить (Delete)
Описание:
Используется для доступа к свойствам и методам коллекции серий диаграммы Ганта.
Доступность:
Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение.
См. также:
СерияДиаграммыГанта, свойство Серии
ДиаграммаГанта, свойство Серии
Использование в версии:
Доступен, начиная с версии 8.1.
Методическая информация
Практические примеры
Сгруппировать задачи и сравнить сворачивание точек с сериями
Иерархии задач и вариантов графика независимы. Создаём родительские ключи, дочерние объекты и управляем раскрытием на клиенте.
Где и как запускать
Модуль новой управляемой формы учебной внешней обработки. Код содержит готовые процедуры с директивами; вставляйте на уровне модуля, не внутрь другого обработчика. Каждую задачу запускайте в отдельной копии формы.
Подготовка
В учебной базе создайте новую внешнюю обработку УчебнаяДиаграммаГанта с пустой управляемой основной формой.
Не добавляйте вручную реквизит УчебныйГрафик и поле ПолеГанта. В событиях формы свяжите ПриСозданииНаСервере с одноимённой процедурой.
Весь код вставьте на уровне модуля, сохраните EPF и откройте в тонком клиенте Windows. Каждый урок запускайте в отдельной копии формы.
Две вымышленные задачи 14–16 сентября 2026 года создаются только в памяти. Рабочие заказы, расписания и печать не используются.
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Новые = Новый Массив;
Новые.Добавить(Новый РеквизитФормы("УчебныйГрафик", Новый ОписаниеТипов("ДиаграммаГанта")));
ЭтаФорма.ИзменитьРеквизиты(Новые);
График = Новый ДиаграммаГанта;
График.Обновление = Ложь;
График.АвтоОпределениеПолногоИнтервала = Ложь;
График.УстановитьПолныйИнтервал(Дата(2026, 9, 14, 9), Дата(2026, 9, 16, 18));
График.АвтоУстановкаТекстаСерий = Ложь;
График.АвтоУстановкаТекстаТочек = Ложь;
График.ОтображатьПустыеЗначения = Ложь;
График.ОтображениеТекстаИнтервала = ОтображениеТекстаИнтервалаДиаграммыГанта.Отображать;
График.ПрозрачныйФон = Ложь;
График.ЦветФона = Новый Цвет(255, 255, 255);
График.Окантовка = Истина;
План = График.УстановитьСерию("plan");
План.Текст = "Учебный план";
План.Цвет = Новый Цвет(80, 145, 210);
План.ПриоритетЦвета = Истина;
Факт = График.УстановитьСерию("actual");
Факт.Текст = "Учебный факт";
Факт.Цвет = Новый Цвет(95, 165, 95);
Факт.ПриоритетЦвета = Истина;
Подготовка = График.УстановитьТочку("prepare");
Подготовка.Текст = "Подготовка учебного комплекта";
Сборка = График.УстановитьТочку("assemble");
Сборка.Текст = "Сборка учебного комплекта";
ПланПодготовки = График.ПолучитьЗначение(Подготовка, План);
ПланПодготовки.Текст = "План подготовки";
ПланПодготовки.Редактирование = Ложь;
Первый = ПланПодготовки.Добавить();
Первый.Начало = Дата(2026, 9, 14, 9);
Первый.Конец = Дата(2026, 9, 14, 12);
Первый.Текст = "Подготовка: 3 часа";
Первый.Расшифровка = "training-prepare-plan";
ПланСборки = График.ПолучитьЗначение(Сборка, План);
ПланСборки.Текст = "План сборки";
ПланСборки.Редактирование = Ложь;
Второй = ПланСборки.Добавить();
Второй.Начало = Дата(2026, 9, 14, 13);
Второй.Конец = Дата(2026, 9, 15, 11);
Второй.Текст = "Сборка учебного комплекта";
Второй.Расшифровка = "training-assemble-plan";
ФактПодготовки = График.ПолучитьЗначение(Подготовка, Факт);
ФактПодготовки.Редактирование = Ложь;
Фактический = ФактПодготовки.Добавить();
Фактический.Начало = Дата(2026, 9, 14, 9);
Фактический.Конец = Дата(2026, 9, 14, 13);
Фактический.Текст = "Учебный факт: 4 часа";
Заголовок = График.ОбластьЗаголовка;
Заголовок.Текст = "Учебный план и факт — 14–16.09.2026";
Область = График.ОбластьПостроения;
Область.Заголовок = "Учебные задачи";
Область.ОтображатьТекстТочек = ОтображениеВДиаграммеГанта.Отображать;
Шкала = Область.ШкалаВремени;
Пока Шкала.Элементы.Количество() > 0 Цикл
Шкала.Элементы.Удалить(Шкала.Элементы.Получить(0));
КонецЦикла;
Дни = Шкала.Элементы.Добавить();
Дни.Единица = ТипЕдиницыШкалыВремени.День;
Дни.Кратность = 1;
Дни.Формат = "ДФ=dd.MM";
Проект = График.УстановитьТочку("project");
Проект.Текст = "Учебный проект";
Этап = График.УстановитьТочку("training-stage", "project");
Этап.Текст = "Учебный этап проекта";
ГруппаВариантов = График.УстановитьСерию("variants");
ГруппаВариантов.Текст = "Учебные варианты";
Базовый = График.УстановитьСерию("baseline", "variants");
Базовый.Текст = "Базовый вариант";
ЗначениеЭтапа = График.ПолучитьЗначение(Этап, Базовый);
ЗначениеЭтапа.Редактирование = Ложь;
ИнтервалЭтапа = ЗначениеЭтапа.Добавить();
ИнтервалЭтапа.Начало = Дата(2026, 9, 15, 10);
ИнтервалЭтапа.Конец = Дата(2026, 9, 15, 12);
График.Обновление = Истина;
ЭтаФорма.УчебныйГрафик = График;
Поле = Элементы.Добавить("ПолеГанта", Тип("ПолеФормы"));
Поле.Вид = ВидПоляФормы.ПолеДиаграммыГанта;
Поле.ПутьКДанным = "УчебныйГрафик";
Поле.РастягиватьПоГоризонтали = Истина;
Поле.РастягиватьПоВертикали = Истина;
КомандаДействия = ЭтаФорма.Команды.Добавить("УчебноеДействие");
КомандаДействия.Действие = "УчебноеДействие";
КомандаДействия.Заголовок = "Проверить иерархии";
КомандаДействия.Подсказка = "Действие только над данными учебной формы";
КомандаДействия.ИзменяетСохраняемыеДанные = Ложь;
Кнопка = Элементы.Добавить("КнопкаУчебноеДействие", Тип("КнопкаФормы"));
Кнопка.ИмяКоманды = КомандаДействия.Имя;
Кнопка.Заголовок = КомандаДействия.Заголовок;
КонецПроцедуры
&НаКлиенте
Процедура УчебноеДействие(Команда)
Проект = УчебныйГрафик.УстановитьТочку("project");
Этап = УчебныйГрафик.УстановитьТочку("training-stage", "project");
Группа = УчебныйГрафик.УстановитьСерию("variants");
Базовый = УчебныйГрафик.УстановитьСерию("baseline", "variants");
Сообщить(Этап.Родитель = Проект);
Сообщить(Этап.Уровень() = Проект.Уровень() + 1);
Сообщить(Базовый.Родитель = Группа);
Сообщить(Базовый.Уровень() = Группа.Уровень() + 1);
Сообщить(Проект.Точки.Родитель = Проект);
Сообщить(Группа.Серии.Родитель = Группа);
УчебныйГрафик.СвернутьТочку(Проект, Истина);
Сообщить(Не УчебныйГрафик.РазвернутаТочка(Проект));
УчебныйГрафик.РазвернутьТочку(Проект, Истина);
Сообщить(УчебныйГрафик.РазвернутаТочка(Проект));
УчебныйГрафик.СвернутьСерию(Группа, Истина);
Сообщить(Не УчебныйГрафик.РазвернутаСерия(Группа));
УчебныйГрафик.РазвернутьСерию(Группа, Истина);
Сообщить(УчебныйГрафик.РазвернутаСерия(Группа));
УчебныйГрафик.ПоказатьУровеньТочек(0);
УчебныйГрафик.ПоказатьУровеньСерий(0);
КонецПроцедуры
Разбор по шагам
Второй параметр УстановитьТочку/УстановитьСерию — значение родителя, здесь строковый ключ, не его текст.
Проект → Этап — дерево точек, Варианты → Базовый — независимое дерево серий.
Родитель у дочернего объекта и Родитель у коллекции детей указывают на соответствующий родительский объект.
Уровни проверяем относительно родителя, не гадаем номер самого верхнего уровня.
Сворачиваем и разворачиваем обе иерархии, проверяя их состояния. ПоказатьУровень...(0) раскрывает все уровни согласно справке.
Как проверить результат
Десять булевых проверок Истина.
В конце все уровни раскрыты, виден двухчасовой этап 15.09.
Исходные подготовка и сборка тоже сохранены.
Ожидаемый результат
Новичок отличает две иерархии и знает точные параметры управления раскрытием.
На что обратить внимание
Значение родителя не должно путаться с объектом родителя; метод ожидает его ключ.
ПоказатьУровень...(0) здесь не значит скрыть всё — это документированное раскрытие всех уровней.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.
Проверить порядок серий и задач на отдельном пустом графике
Коллекции создают объекты без обязательных аргументов; значения и подписи устанавливаем явно. Ни одного рабочего интервала нет.
Где и как запускать
Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.
Подготовка
Серверная процедура учебной обработки. Здесь новый график только в локальной переменной, не реквизит рабочей формы.
У графика нет значений, полос и связей; коллекции используются для изучения структуры.
График = Новый ДиаграммаГанта;
Серии = График.Серии;
План = Серии.Добавить();
План.Значение = "plan";
План.Текст = "Учебный план";
Факт = Серии.Вставить(0);
Факт.Значение = "actual";
Факт.Текст = "Учебный факт";
Сообщить(Серии.Индекс(План) = 1);
Серии.Сдвинуть(Факт, 1);
Сообщить(Серии.Получить(0).Значение = "plan");
Серии.Удалить(Факт);
Сообщить(Серии.Количество() = 1);
Точки = График.Точки;
Первая = Точки.Добавить();
Первая.Значение = "prepare";
Первая.Текст = "Подготовка";
Вторая = Точки.Вставить(0);
Вторая.Значение = "assemble";
Вторая.Текст = "Сборка";
Сообщить(Точки.Индекс(Первая) = 1);
Точки.Сдвинуть(Вторая, 1);
Сообщить(Точки.Получить(0).Значение = "prepare");
Точки.Удалить(Вторая);
Сообщить(Точки.Количество() = 1);
Точки.Очистить();
Серии.Очистить();
Сообщить(Точки.Количество() = 0);
Сообщить(Серии.Количество() = 0);
График.Очистить();Разбор по шагам
Коллекции Серии и Точки имеют по восемь методов; у них нет Найти — поиск по ключу на уровне графика выполняют УстановитьСерию/УстановитьТочку.
Добавить и Вставить получают пустой объект. Заполняем Значение и Текст явно.
Перемещение объекта меняет позицию, не ключ. Удаление выполняем ссылкой на собственный объект.
После проверок очищаем обе коллекции нового графика. Нельзя переносить это на загруженный рабочий график без учёта значений/связей.
Очистить диаграммы вызывается только для созданного здесь пустого объекта.
Как проверить результат
Восемь булевых проверок Истина.
В конце обе коллекции пусты, никаких записей в базе.
Ожидаемый результат
Разобраны все методы двух коллекций и прямое создание ключей задач/серий.
На что обратить внимание
Добавление в коллекцию отличается по сигнатуре от УстановитьТочку/УстановитьСерию.
Очистка рабочего графика может убрать всю его визуальную структуру; собственный новый график выбран намеренно.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.