|                                И ВидРасчета = &Отпуск) КАК ОсновныеНачисленияБазаОсновныеНачисления

                       |;

                       |

                       |////////////////////////////////////////////////////////////////////////////////

                       |ВЫБРАТЬ

                       |        ОсновныеНачисленияДанныеГрафика. НомерСтроки,

                       |        ОсновныеНачисленияДанныеГрафика. ДниФактическийПериодДействия КАК ФактДни

                       |ПОМЕСТИТЬ ВТ_График

                       |ИЗ

                       |        РегистрРасчета. ОсновныеНачисления. ДанныеГрафика(

                       |                        ВидРасчета = &Отпуск

НЕ нашли? Не то? Что вы ищете?

                       |                                И Регистратор = &Ссылка) КАК ОсновныеНачисленияДанныеГрафика

                       |;

                       |

                       |////////////////////////////////////////////////////////////////////////////////

                       |ВЫБРАТЬ

                       |        ВТ_График. НомерСтроки КАК НомерСтроки,

                       |        ВЫБОР

                       |                КОГДА ЕСТЬNULL(ВТ_База. НормаДниБаза, 0) = 0

                       |                        ТОГДА 0

                       |                ИНАЧЕ ЕСТЬNULL(ВТ_База. РезультатБаза, 0) / ЕСТЬNULL(ВТ_База. НормаДниБаза, 0) * ВТ_График. ФактДни

                       |        КОНЕЦ КАК Результат,

                       |        ЕСТЬNULL(ВТ_База. РезультатБаза, 0) КАК Размер

                       |ИЗ

                       |        ВТ_График КАК ВТ_График

                       |                ЛЕВОЕ СОЕДИНЕНИЕ ВТ_База КАК ВТ_База

                       |                ПО ВТ_График. НомерСтроки = ВТ_База. НомерСтроки";

                       

                       Изм = Новый Массив;

                       Изм. Добавить("Сотрудник");

                       Запрос. УстановитьПараметр("Изм", Изм);

                       Запрос. УстановитьПараметр("Отпуск", ПланыВидовРасчета. ОсновныеНачисления. Отпуск);

                       Запрос. УстановитьПараметр("Ссылка", Ссылка);

                       

                       РезультатЗапроса = Запрос. Выполнить();

                       

                       ВыборкаДетальныеЗаписи = РезультатЗапроса. Выбрать();

                       

                       Пока ВыборкаДетальныеЗаписи. Следующий() Цикл

                               Набор[ВыборкаДетальныеЗаписи. НомерСтроки - 1].Результат = ВыборкаДетальныеЗаписи. Результат;

                               ТЧ[ВыборкаДетальныеЗаписи. НомерСтроки - 1].Результат = ВыборкаДетальныеЗаписи. Результат;

                               

                               Набор[ВыборкаДетальныеЗаписи. НомерСтроки - 1].Размер = ВыборкаДетальныеЗаписи. Размер;

                               ТЧ[ВыборкаДетальныеЗаписи. НомерСтроки - 1].Размер = ВыборкаДетальныеЗаписи. Размер;

                       КонецЦикла;

               КонецЕсли;

       КонецЦикла;        

КонецПроцедуры

Отчет «ДиаграммаГанта»

Создаем форму отчету: добавляем реквизит ДиаграммаГанта типа ДиаграммаГанта, добавляем реквизит Период типа СтандартныйПериод и выносим реквизиты на форму.

Модуль формы:

&НаСервере

Процедура СформироватьНаСервере()

       

       Запрос = Новый Запрос;

       Запрос. Текст =

               "ВЫБРАТЬ

               |        ОсновныеНачисленияФактическийПериодДействия. ПериодДействияНачало КАК Начало,

               |        ОсновныеНачисленияФактическийПериодДействия. ПериодДействияКонец КАК Конец,

               |        ОсновныеНачисленияФактическийПериодДействия. Сотрудник,

               |        ОсновныеНачисленияФактическийПериодДействия. ВидРасчета

               |ИЗ

               |        РегистрРасчета. ОсновныеНачисления. ФактическийПериодДействия(ПериодДействия МЕЖДУ &Начало И &Конец) КАК ОсновныеНачисленияФактическийПериодДействия";

       

       Запрос. УстановитьПараметр("Конец", Период. ДатаОкончания);

       Запрос. УстановитьПараметр("Начало", Период. ДатаНачала);

       

       РезультатЗапроса = Запрос. Выполнить();

       

       ВыборкаДетальныеЗаписи = РезультатЗапроса. Выбрать();

       ДиаграммаГанта. Обновление = Ложь;

       ДиаграммаГанта. Очистить();

       

       Пока ВыборкаДетальныеЗаписи. Следующий() Цикл

               Серия = ДиаграммаГанта. УстановитьСерию(ВыборкаДетальныеЗаписи. ВидРасчета);

               Точка = ДиаграммаГанта. УстановитьТочку(ВыборкаДетальныеЗаписи. Сотрудник);

               

               Интервал = ДиаграммаГанта. ПолучитьЗначение(Точка, Серия).Добавить();

               Интервал. Начало = ВыборкаДетальныеЗаписи. Начало;

               Интервал. Конец = ВыборкаДетальныеЗаписи. Конец;

       КонецЦикла;

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

КонецПроцедуры

&НаКлиенте

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

       СформироватьНаСервере();

КонецПроцедуры

Обработка «ЗаполнениеГрафика»

Процедура ЗаполнитьГрафик(ДатаНачала, ДатаОкончания, ВыходныеДни, График ) Экспорт

       Набор = РегистрыСведений. ГрафикиРаботы. СоздатьНаборЗаписей();

       Набор. Отбор. График. Установить(График);

       Набор. Прочитать();

       ЧислоСекундВСутках = 86400;

       

       Дат = ДатаНачала;

       Для к = 0 По Набор. Количество()-1 Цикл

               

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8