Не группируются строки Табличного документа
Коллеги, что то не получается сгруппировать отчет в тбаличном документе
вызываю данную процедуру из модуля формы
в модуле объекта пишу.
ни в какую не хотят группироваться строки.
вызываю данную процедуру из модуля формы
&НаКлиенте
Процедура Сформировать(Команда)
СформироватьНаСервере();
//Отчет.ТабДок.Показать();
КонецПроцедуры
&НаСервере
Процедура СформироватьНаСервере()
ЭтотОтчет = РеквизитФормыВЗначение("Отчет");
ЭтотОтчет.ФормированиеОтчета();
ЗначениеВРеквизитФормы(ЭтотОтчет,"Отчет");
КонецПроцедуры
&НаКлиенте
Процедура ПриОткрытии(Отказ)
отчет.ДатаНачало = НачалоМесяца(ТекущаяДата());
отчет.ДатаОкончание = КонецМесяца(ТекущаяДата());
КонецПроцедуры
Показатьв модуле объекта пишу.
Процедура ФормированиеОтчета() Экспорт
//создание нового табличного документа
ТабДок = Новый ТабличныйДокумент;
Макет = ПолучитьМакет("Макет");
Область = Макет.ПолучитьОбласть("Заголовок");
Область.Параметры.ДатаНачало= ДатаНачало;
Область.Параметры.ДатаОкончание= ДатаОкончание;
ТабДок.Вывести(Область);
ТабДок.Вывести(Макет.ПолучитьОбласть("Шапка"));
КоллекцияРабочихДней = ПолучитьКоллекциюРабочихДнейМесяца(ДатаНачало, ДатаОкончание);
МесяцСтрокой= МесяцСтрокой(Месяц(ДатаНачало));
Область = Макет.ПолучитьОбласть("Строка");
СотрудникиПроектов=ПолучитьСОтрудниковПроектаВМесяце();
Область.НачатьАвтогруппировкуСтрок();
Для Каждого ТекСотрудник Из СотрудникиПроектов Цикл
СтоимостьСотрудника = ПолучитьСтоимостьСотрудника(ТекСотрудник.Сотрудник);
ТЗАкт = ПолучениеНормыЧасовНапроекте(ТекСотрудник.Сотрудник) ;
Попытка
СтоимостьЧасаСотрудникаФОТ = Окр((СтоимостьСотрудника/КоллекцияРабочихДней.количество())*1.206,0);
Исключение
СтоимостьЧасаСотрудникаФОТ =9999999999;
КонецПопытки;
ЧасовБезПроекта=0;
ВремяНаПроекте=0;
ОплатаЗаказчика=0;
ЧистаяПрибыль=0;
СебестоимостьСотрудника=0;
Сотрудник= ТекСотрудник.Сотрудник;
Для Каждого СтрСостава Из КоллекцияРабочихДней Цикл
Область.Параметры.День = Формат(СтрСостава.Дата,"ДФ=dd.MM.yyyy");
Область.Параметры.Месяц = "";
Область.Параметры.Сотрудник = ТекСотрудник.Сотрудник;
Область.Параметры.СебестоимостьСотрудника = СтоимостьЧасаСотрудникаФОТ ;
СебестоимостьСотрудника= СтоимостьЧасаСотрудникаФОТ+ СебестоимостьСотрудника;
Область.Параметры.НормаЧасов =СтрСостава.ДополнительноеЗначениеНорма;
// Область.Параметры.Проект =СтрСостава.ДополнительноеЗначениеНорма
ОтработанноеВремяСтруктура = Получить_ОтработанноеВремяАктаЗаДень(ТЗАкт,СтрСостава.ДополнительноеЗначениеНорма);
Область.Параметры.НормаЧасовФакт = СТрока(ОтработанноеВремяСтруктура.ВремяНаПроекте);
ВремяНаПроекте = ОтработанноеВремяСтруктура.ВремяНаПроекте+ВремяНаПроекте;
Область.Параметры.ЧасовБезПроекта = Строка(ОтработанноеВремяСтруктура.ЧасовБезПроекта);
ЧасовБезПроекта = ЧасовБезПроекта+ЧасовБезПроекта;
Область.Параметры.СтавкаРублей=ОтработанноеВремяСтруктура.Ставка;
Область.Параметры.Проект=ОтработанноеВремяСтруктура.Проект;
//******РасчетныеКолонки
Область.Параметры.Маржа = Окр(ОтработанноеВремяСтруктура.Ставка -СтоимостьЧасаСотрудникаФОТ/8,0);
Область.Параметры.ОплатаЗаказчика = ОтработанноеВремяСтруктура.Ставка*ОтработанноеВремяСтруктура.ВремяНаПроекте;
ОплатаЗаказчика =ОтработанноеВремяСтруктура.Ставка*ОтработанноеВремяСтруктура.ВремяНаПроекте+ ОплатаЗаказчика;
Область.Параметры.ЧистаяПрибыль = окр(ОтработанноеВремяСтруктура.Ставка*ОтработанноеВремяСтруктура.ВремяНаПроекте - СтоимостьЧасаСотрудникаФОТ,0);
ЧистаяПрибыль = Окр((ОтработанноеВремяСтруктура.Ставка*ОтработанноеВремяСтруктура.ВремяНаПроекте - СтоимостьЧасаСотрудникаФОТ)+ЧистаяПрибыль,0);
ТабДок.Вывести(Область,2,"ПоДням",Ложь);
КонецЦикла;
ОбластьИтоги = Макет.ПолучитьОбласть("СтрокаИтоги");
Область.Параметры.Сотрудник = ТекСотрудник.Сотрудник;
Область.Параметры.Месяц = МесяцСтрокой;
Область.Параметры.День = КоллекцияРабочихДней.количество();
Область.Параметры.Месяц = "ИТОГО";
Область.Параметры.СебестоимостьСотрудника = СебестоимостьСотрудника;
Область.Параметры.НормаЧасов =КоллекцияРабочихДней.количество()*8;
Область.Параметры.ЧасовБезПроекта=ЧасовБезПроекта;
Область.Параметры.НормаЧасовФакт=ВремяНаПроекте;
Область.Параметры.ОплатаЗаказчика=ОплатаЗаказчика;
Область.Параметры.ЧистаяПрибыль=ЧистаяПрибыль;
ТабДок.Вывести(Область,1,"ИТОГИ",истина);
КонецЦикла;
Область = Макет.ПолучитьОбласть("Подвал");
ТабДок.Вывести();
//установим параметры отображения табличного документа
ТабДок.ТолькоПросмотр = Истина;
ТабДок.ОтображатьЗаголовки = Истина;
ТабДок.ОтображатьСетку = Ложь;
Область.ЗакончитьАвтогруппировкуСтрок();
КонецПроцедуры
Показатьни в какую не хотят группироваться строки.
По теме из базы знаний
- СКД: вывод строк из табличной части в одной ячейке строки
- Нестандартное использование СКД
- Варианты применения СКД вне отчетов в отраслевых конфигурациях
- Обмен 1С с Честным Знаком для УТ11, УНФ, КА2, ERP, Розница: Расширение для работы с СУЗ, ГИС МТ, ЦРПТ
- Объединение ячеек по вертикали и горизонтали в отчете на СКД (объединение заголовков родительских группировок)
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот