Пример работы с диаграмой ганта в 1С
Диаграмма Ганта — способ отображения данных в виде диаграммы по времени со вложенными списками.
Используется
- для отражения событий
- планирования задач
- связки событий и цепочек задач
- планирования занятости помещения
Диаграмма Ганта может располагаться
- на форме
- на табличном документе
Добавление на форму
- Через быструю вставку (если кнопки нет, добавить через выпадающий список)
- Через меню «Форма/Вставить элемент управления» (можно сразу задать ее имя)
- В табличный документ (макет) через меню «Таблица\Рисунки\Диаграмма Ганта»
- Добавление в управляемую форму 8.2/8.3 реквизита формы
Работа с этим объектом одинакова в обоих видах приложения (меняется только обращение)
- через ЭлементыФормы.ДиаграммаГанта1
- через реквизит формы ДиаграммаГанта1
- через ТабДок.Рисунки.ДиаграммаГанта1 (имя можно задать в свойствах рисунка)
Простой пример заполнения диаграммы тестовыми данными
//обращаемся к элементу на форме ДиаграммаГанта = ЭлементыФормы.ДиаграммаГанта; ТочкаПодразделения = ДиаграммаГанта.УстановитьТочку("Подразделение1"); //вложенная точка Точка = ТочкаПодразделения.Точки.Добавить(); Точка.Текст = "Сотрудник1";//устанавливаем заголовок, а еще можно цвет фона, шрифт, цвет текста //у каждой точки может быть несколько серий (графиков) Серия = ДиаграммаГанта.УстановитьСерию("Показатель1"); //у серии можно задать цвет, но это происходит и автоматически Значение = ДиаграммаГанта.ПолучитьЗначение(Точка, Серия); //также несколько интервалов Интервал = Значение.Добавить(); Интервал.Начало = НачалоМесяца(ТекущаяДата()); Интервал.Конец = КонецМесяца(ТекущаяДата());
Данный пример задает минимальные настройки для формирования диаграммы Ганта.
В результате будет вот такая диаграмма:
У каждого из объектов Диаграмма, ТочкаДиаграммы, СерияДиграммы, Значение, ИнтервалДиаграммы есть ряд свойств, которыми вы можете управлять и они не приводятся, чтобы не усложнять понимание.
Интервалы можно формировать на всех уровнях вложенности точек.
Замечу, что одно из самых важных свойств — это расшифровка — свойство, в которое можно поместить произвольное значение (ссылку, структура, цифру) и манипулировать точкой по событию выбор (например открывать документ, элемент справочника, менять цвет)
Пример обработчика Выбор диаграммы
Процедура ДиаграмаГанта1Выбор(Ганта, Значения, СтандартнаяОбработка, Дата) Если ТипЗнч(Значения) = Тип("ЗначениеДиаграммыГанта") Тогда //клик по пустому //Точка = Ганта.УстановитьТочку("Первая"); //Серия = Значения[0]; Если Дата < НачалоДня(ТекущаяДата()) Тогда Предупреждение("Дата раньше текущей!"); КонецЕсли; _Значения = Значения;//Ганта.ПолучитьЗначение(Точка,Серия); Интервал = _Значения.Добавить(); Интервал.Цвет = Новый Цвет(255,0,0); Интервал.Начало = НачалоДня(Дата); Интервал.Конец = КонецДня(Дата); Интервал.Текст = "Это новый интервал";//Подсказа при наведении ИначеЕсли ТипЗнч(Значения) = Тип("ТочкаДиаграммыГанта") Тогда //Клик по заголовку точки, ничего не делаем СтандартнаяОбработка = Ложь; Возврат; Иначе //клик по существующему Интервал = Значения[1]; Если Интервал.Расшифровка = Неопределено Тогда Иначе СтандартнаяОбработка = Ложь; //Меняем цвет на обратный Если Интервал.Цвет = Новый Цвет(255,0,0) Тогда Интервал.Цвет = Новый Цвет(0,255,0); Иначе Интервал.Цвет = Новый Цвет(255,0,0); КонецЕсли; КонецЕсли; КонецЕсли; КонецПроцедуры
Чего не хватает у Диаграммы Ганта?
- возможности перетаскивать точки
- отображать текст интервалов (например справа)
- контекстного меню (открывающегося по правой кнопке)
Реклама — узаконенная ложь.