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