Содержание:
1.1 Что такое диаграмма Ганта в 1С. Ее составляющие
1.4 Варианты оформления в диаграмме Ганта
2. Пример создания диаграммы Ганта в 1С
1. Описание интерфейса
1.1. Что такое диаграмма Ганта в 1С. Ее составляющие
Диаграмма Ганта – популярный вид диаграммы, который используется для визуализации графика выполнения задач, планирования ресурсов, работ и т.д. Является удобным инструментом для управления проектами.
Диаграмма Ганта в 1С содержит набор интервалов (полос), расположенных на оси времени, отражает точками использование объектов и сериями - ресурсов.
В левой части диаграммы перечисляются этапы, операции и отдельные задачи проекта. Шкала времени располагается сверху. Длительность каждой задачи и операции изображается горизонтальными полосами (лентами) от даты начала до даты окончания.
Диаграмма Ганта в 1С имеет гибкую структуру данных. Серии и точки представлены в виде иерархических коллекций. Это позволяет представить этапы проекта как набор связанных, иерархических задач.
1.2. Связи между интервалами
Связи между интервалами в диаграмме Ганта позволяют создать необходимую последовательность задач. Связи устанавливаются между любыми интервалами, принадлежащими одному или нескольким значениям. Существуют следующие типы связей между временными интервалами:
- Начало-Начало
- Начало-Конец
- Конец-Начало
- Конец-Конец
Для каждой связи можно задать определенный цвет.
Каждый интервал содержит все связи, в которых он участвует. Новую связь можно добавлять только в коллекцию связей интервала, для которой является ее началом.
1.3. Шкала времени
На шкале времени могут быть размещены непериодические метки с указанной конкретной датой и текстом. Такие метки могут иметь индивидуальное цветовое оформление. Каждый элемент шкалы времени может отображать одновременно периодические и непериодические метки.
Рис 1. Форма настройки Шкалы времени диаграммы Ганта
Рис 2. Непериодические метки на шкале времени диаграммы Ганта
На диаграмме могут быть отмечены совокупные задачи, проценты завершения, указатели последовательности и зависимости работ, метки ключевых моментов (вехи), метка текущего момента времени «Сегодня» и др.
1.4. Варианты оформления в диаграмме Ганта
Диаграмма Ганта в 1С позволяет настроить различные варианты оформления:
· Индивидуальное цветовое оформление для интервалов фона. Например, выделить цветом нерабочие дни.
· Индивидуальное цветовое оформление для интервалов диаграммы.
· Собственный цвет интервалов для каждого значения, отличный от цвета соответствующей серии.
· Выделение точек и значений шрифтом, оригинальными цветами текста и фона.· Точке можно назначить картинку.
2. Пример создания диаграммы Ганта в 1С
Создаем внешний Отчет.
В окне редактирования объекта переходим на закладку Формы, нажимаем кнопку открытия и создаем основную форму отчета.
В правом верхнем окне редактора форм на закладке Реквизиты видим основной реквизит формы Отчет, который был создан автоматически при создании формы.
Добавим новый реквизит формы, с помощью кнопки Добавить. Имя - ДиаграммаГанта тип ДиаграммаГанта (рис. 3).
Рис.3. Добавление реквизита формы
Переместим новый реквизит в окно элементов формы.
В окне элементов формы будет создано новое поле для отображения диаграммы Ганта в 1С. А в нижнем окне просмотра формы мы сразу увидим поле диаграммы (рис.4).
Рис.4. Добавление диаграммы Ганта в форму
На закладке Команды создадим команду формы Сформировать. Установим Действие для этой команды. Для этого в строке Действие нажмем кнопку открытия. В открывшемся окне выбираем «Создать на клиенте и процедуру сервере без контекста» (рис.5).
Рис.5. Добавление команды формы и выбор типа обработчика команды формы
В модуле формы будут созданы шаблоны двух процедур: клиентской процедуры Сформировать() и серверной внеконтекстной процедуры СформироватьНаСервере(), которая вызывается из процедуры Сформировать().
В процедуру СформироватьНаСервере() передаем в качестве параметра ссылку на реквизит формы ДиаграммаГанта, чтобы на сервере заполнить его данными.
Листинг 1. Текст обработчика команды «Сформировать»
&НаКлиенте
Процедура Сформировать(Команда)
СформироватьНаСервере(ЭтотОбъект.ДиаграммаГанта);
КонецПроцедуры
&НаСервереБезКонтекста
Процедура СформироватьНаСервере(Диаграмма)
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ПланыРабот.ВидПлана КАК ВидПлана,
| ПланыРабот.Работа КАК Работа,
| ПланыРабот.Начало,
| ПланыРабот.Окончание
|ИЗ
| Справочник.ПланыРабот КАК ПланыРабот";
Результат = Запрос.Выполнить();
Выборка = Результат.Выбрать();
// Заполнение диаграммы Ганта.
Диаграмма.Обновление = Ложь;
Диаграмма.Очистить();
Пока Выборка.Следующий()Цикл
Точка = Диаграмма.УстановитьТочку(Выборка.Работа)
Серия = Диаграмма.УстановитьСерию(Выборка.ВидПлана,
Значение = Диаграмма.ПолучитьЗначение(Точка, Серия);
Интервал = Значение.Добавить();
Интервал.Начало = Выборка.Начало;
Интервал.Конец = Выборка.Окончание;
КонецЦикла;
Диаграмма.Обновление = Истина;
КонецПроцедуры
На то время пока мы будем заполнять диаграмму Ганта в 1С данными, запрещаем ее обновление. Это необходимо для того, чтобы не выполнялись пересчеты в процессе заполнения и при каждом изменении данных диаграммы. После окончания заполнения диаграммы мы разрешим обновление и все пересчеты будут выполнены один раз.
Затем в цикле по выборке запроса мы заполняем диаграмму.
Сначала используя методы УстановитьСерию() и Установить Точку(). Получаем либо существующие, либо новые точку и серию. Точки и серии однозначно идентифицируются своими значениями, в качестве которых используем работу и вид плана из результата запроса.
После того как точка и серия получены, с помощью метода ПолучитьЗначение() получаем соответствующее им значение диаграммы.
Затем добавляем в значение диаграммы Ганта в 1С новый интервал, задаем его начало и конец.
На «форме» добавим кнопку для выполнения команды Сформировать.
Для этого перетащим мышью команду Сформировать из окна Команды формы в окно элементов формы (рис. 6).
Рис. 6. Добавление кнопки в форму
Специалист компании ООО «Кодерлайн»
Ольга Кунцова.