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