1С-Предприятие 8.0. Практическое пособие разработчика



              

Создание отчета ДиаграммаНачислений - часть 3


       ИначеЕсли Серия.Значение = ПланыВидовРасчета.ОсновныеНачисления.Премия Тогда

           Серия.Цвет = WEBЦвета.Зеленый;

       ИначеЕсли Серия.Значение = ПланыВидовРасчета.ОсновныеНачисления.Невыход Тогда

           Серия.Цвет = WEBЦвета.Красный;

       КонецЕсли;

   КонецЦикла;

   //разрешить обновление диаграммы

   Диаграмма.Обновление = Истина;

КонецПроцедуры [368]

Сначала в переменной "Диаграмма" мы сохраняем расположенную в форме диаграмму Ганта и запрещаем обновление диаграммы на то время, пока мы будем заполнять ее данными. Это нужно для того, чтобы в процессе заполнения не выполнялись пересчеты при каждом изменении данных диаграммы. После окончания заполнения диаграммы мы разрешим обновление, и все пересчеты будут выполнены один раз.

Затем в цикле по выборке запроса мы заполняем диаграмму. Сначала, используя методы УстановитьСерию() и УстановитьТочку() мы получаем либо существующие, либо новые точку и серию. Точки и серии однозначно идентифицируются своими значениями, в качестве которых мы используем сотрудника и вид расчета из результата запроса.

После того, как точка и серия получены, с помощью метода ПолучитьЗначение() мы получаем соответствующее им значение диаграммы.

Затем мы добавляем в значение диаграммы новый интервал, задаем его начало и конец, задаем текст интервала, который будет показываться во всплывающей подсказке, и задаем расшифровку интервала, которая будет выполняться при двойном щелчке мышью на этом интервале.

После того, как все значения диаграммы сформированы, мы раскрашиваем серии своими цветами. Серии диаграммы представляют собой коллекцию значений, которую мы перебираем при помощи конструкции Для каждого ... Цикл.

Запустим 1С:Предприятие в режиме отладки и посмотрим на результат работы отчета:


[369]

А теперь посмотрим, как выглядит механизм вытеснения По периоду действия "в действии". Откроем документ Начисления сотрудникам №3 и вместо одного прогула с 1 по 10 число зададим Гусакову два прогула: с 3 по 7 число и с 12 по 15 число.

Проведем документ и снова нажмем "Сформировать" в отчете:

Теперь вы наглядно видите, как записи вида расчета "Невыход" вытеснили по периоду действия запись расчета "Оклад", изменив ее фактический период действия.

Следует отметить, что существует также возможность интерактивной настройки параметров диаграммы Ганта, доступная через пункт контекстного меню "Шкала времени и масштаб...".[370]




Содержание  Назад  Вперед