Имя: Пароль:
1C
1С v8
ТабЗначений: вывод в макет с группировкой и итогами по Подразделению
0 dft2014
 
10.05.18
18:10
Добрый день!
Есть готовая таблица значений, которая сейчас выводит данные в макет в виде:
Сотрудник - Подразделение - КоличествоЧасов

Подскажите, как сделать группировку по подразделениям, с выводом итогового количества часов по подразделению? сейчас код выврода такой:


функция ЗаполнимТабДок (тз,НачалоПериода,КонецПериода,КолВоЧасовПоГрафикуЗаПериод)
    ТабДок = Новый ТабличныйДокумент;            
    Макет = Отчет.РеквизитМакет;
    
    ОбластьШапка = Макет.ПолучитьОбласть("Шапка");      
    ОбластьШапка.Параметры.ДатаНачала = Формат (НачалоПериода,"ДФ=dd.MM.yyyy");
    ОбластьШапка.Параметры.ДатаОкончания = Формат (КонецПериода,"ДФ=dd.MM.yyyy");
    ТабДок.Вывести(ОбластьШапка);
    
    Если тз.Количество() > 0 Тогда
        Для каждого СтрокаТЗ из ТЗ цикл
            Если СтрокаТЗ.Часы <> 0 Тогда
                
                ОбластьСтрокаТЧ = Макет.ПолучитьОбласть("СтрокаТЧ");           
                ЗаполнитьЗначенияСвойств(ОбластьСтрокаТЧ.Параметры,СтрокаТЗ);
                ТабДок.Вывести(ОбластьСтрокаТЧ);
            КонецЕсли;
        КонецЦикла;
    КонецЕсли;
    
    ОбластьИтоги = Макет.ПолучитьОбласть("Итоги");           
    ОбластьИтоги.Параметры.Итоги = КолВоЧасовПоГрафикуЗаПериод;
    ТабДок.Вывести(ОбластьИтоги);
    ТабДок.ФиксацияСверху = 3;
    
    Возврат ТабДок
    
КонецФункции
1 dft2014
 
10.05.18
18:16
+(0) В ТЗ данные уже хранятся в виде:
Сотрудник - Подразделение - КоличествоЧасов
2 lubitelxml
 
10.05.18
18:17
(1) ну и группируй их запросом как тебе надо
3 dft2014
 
10.05.18
18:19
(2) Запрос очень сложный, выгружает данные в ТЗ в уже готовом виде: Сотрудник - Подразделение - КоличествоЧасов
А вот как теперь при выводе этой ТЗ в макет сделать группировку и итоги по Подразделениям (с выводом и сотрудников)?
4 lubitelxml
 
10.05.18
18:20
(3) добавь группировки в запрос
5 lubitelxml
 
10.05.18
18:21
ну либо как в 7.7 - сортируй, и сравнивай в каждой строке подразделение с предыдущим значением, если изменилось - то считай итог и обнуляй его, но это все от лукавого, запросом надо делать
6 dft2014
 
10.05.18
18:22
(4) Запрос не трогаем. Можно ли только крутить/вертеть ТЗ?
7 Базис
 
naïve
10.05.18
18:22
Свернуть копию ТЗ, аккуратно выводить - строки из основной, итоги из копии.
8 lubitelxml
 
10.05.18
18:22
(6) напиши запрос с группировками - где источником будет твоя ТЗ
9 dft2014
 
10.05.18
18:23
(5), (7), (8) Спасибо, но хотелось бы реальные примеры...
10 lubitelxml
 
10.05.18
18:30
11 dft2014
 
14.05.18
13:08
(10) Спасибо! Очень помогло!