Имя: Пароль:
1C
1С v8
СКД. Работа с итоговыми записями.
0 Strogg
 
17.04.13
07:46
Всем привет. Поискал по архиву - не нашел похожей темы. Подскажите, как в отчете, сформированном с помощью СКД можно произвести обработку итоговых записей по группировке. Смысл вот в чем: после выведения таблицы с группировками, необходимо вывести вторую, "сводную" таблицу, где только итоговые записи(по каждой группировке) будут обработаны по некоему алгоритму. Спасибо!
1 vicof
 
17.04.13
07:56
Смотри в сторону ВычислитьВыражение() и  ВычислитьВыражениеСГруппировкойМассив()
2 Strogg
 
17.04.13
08:24
(1) Это я программно вывожу отчет, а потом делаю, что ты написал и вывожу в отджельный табл. документ?
3 чувак
 
17.04.13
08:29
Т.е конечная цель в одной таблице выводить два отчета?
4 Strogg
 
17.04.13
08:34
(3), сколько таблиц - непринципиально. Главное - обрабатывать после вывода первой таблицы именно итоговые записи.
5 чувак
 
17.04.13
08:42
Тогда тебе наверно надо программно описать формирование отчета. Примерно так:

   СхемаКомпановки    = ПолучитьМакет("КонтрагентыДоговора");
   Настройки          = СхемаКомпановки.НастройкиПоУмолчанию;
   Расш                = Новый ДанныеРасшифровкиКомпоновкиДанных;
   КомпановщикМакета   = Новый КомпоновщикМакетаКомпоновкиДанных;
   МакетКомпановки     = КомпановщикМакета.Выполнить(СхемаКомпановки, Настройки,Расш);
   ПроцессорКомпановки = Новый ПроцессорКомпоновкиДанных;
   ПроцессорКомпановки.Инициализировать(МакетКомпановки,,Расш);
   ПроцессорВывода     = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
   ТаблицаДок            = Новый ТабличныйДокумент;
   ТаблицаДок.ТолькоПросмотр = Истина;
   ПроцессорВывода.УстановитьДокумент(ТаблицаДок);
   ПроцессорВывода.НачатьВывод();
   Пока Истина Цикл
       ЭлементРезультата = ПроцессорКомпановки.Следующий();
       Если ЭлементРезультата = Неопределено Тогда
           Прервать;
       Иначе
           ПроцессорВывода.ВывестиЭлемент(ЭлементРезультата);
       КонецЕсли;
   КонецЦикла;
   ПроцессорВывода.ЗакончитьВывод();
   ТаблицаДок.Показать();
6 vicof
 
17.04.13
09:48
(2) Нет, это выражения компоновки данных, могут использоваться в полях "Выражение", например, при расчете ресурсов.
7 mistеr
 
17.04.13
10:50
(0) Добавь в структуру отчета еще такую же группировку, только без детальных записей. Настрой ресурсы.
8 Strogg
 
18.04.13
09:43
(5) спасибо! Думаю, из цикла смогу вытянуть группировки и их значения!
9 Strogg
 
18.04.13
12:22
Не хочет формировать отчет. Говорит, не задано значение параметра. Параметр навешен на форму (начало периода и конец периода) и сопряжен с компоновкой.
   НД = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("НачалоПериода");
   КД = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("КонецПериода");
   Нд.Использование = Истина;
   КД.Использование = Истина;
   НД.Значение = НачалоМесяца(ТекущаяДата());
   Кд.Значение = КонецДня(ТекущаяДата());
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс