пятница, 6 марта 2015 г.

Как построить диаграмму Ганта

1) В отчете добавляем форму
2) Добавляем на форму реквизиты
ПериодОтчета(тип Стандартный период) (можно добавить как реквизит отчета как в примере)
ДГ ( тип диаграмма Ганта)
3) Далее пишем универсальную процедуру

 &НаКлиенте 
Процедура Сформировать(Команда)
 СформироватьНаСервере() 
КонецПроцедуры

 &НаСервере 
Процедура СформироватьНаСервере()
 ДГ.Очистить(); 
 ДГ.Обновление = Ложь;
 Запрос = Новый("Запрос");
 Запрос.Текст = 
"ВЫБРАТЬ | ОсновныеНачисленияФактическийПериодДействия.Сотрудник, 
 | ОсновныеНачисленияФактическийПериодДействия.ВидРасчета,
 | ОсновныеНачисленияФактическийПериодДействия.ПериодДействияНачало КАК Начало,
 | ОсновныеНачисленияФактическийПериодДействия.ПериодДействияКонец КАК Конец
 |ИЗ 
 | РегистрРасчета.ОсновныеНачисления.ФактическийПериодДействия(ПериодДействия МЕЖДУ &ДатаНачала И &ДатаОкончания) КАК ОсновныеНачисленияФактическийПериодДействия";

 Запрос.УстановитьПараметр("ДатаНачала", Отчет.ПериодОтчета.ДатаНачала); Запрос.УстановитьПараметр("ДатаОкончания", Отчет.ПериодОтчета.ДатаОкончания);
 Выборка =Запрос.Выполнить().Выбрать(); 
 Пока Выборка.Следующий() Цикл
 Точка = ДГ.УстановитьТочку(Выборка.Сотрудник); 
 Серия = ДГ.УстановитьСерию(Выборка.ВидРасчета); 
 Значение = ДГ.ПолучитьЗначение(Точка,Серия); 
 Интервал = Значение.Добавить(); 
 Интервал.Начало = Выборка.Начало; 
 Интервал.Конец = Выборка.Конец; 
 КонецЦикла; 
 ДГ.Обновление = Истина; 
 КонецПроцедуры



Комментариев нет:

Отправить комментарий