Имя: Пароль:
1C
 
СКД, набор данных - объект. Как сделать сводную таблицу?
0 Подводный Таракан
 
02.02.10
13:28
В СКД передаю набор данных - объект. Объект - это таблица значений Табл. Затем вывожу отчет в табличный документ. Как сделать сводную таблицу для этого табличного документа?
На форме отчета есть кнопка "Сформировать". в ней следующий код, который выводит отчет:

   ВнешниеНаборыДанных = Новый Структура;
   ВнешниеНаборыДанных.Вставить("Табл",Табл);
   
   СхемаКомпоновкиДанных = ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");
   Настройки=КомпоновщикНастроек.ПолучитьНастройки();

   КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
   МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки);
     
   ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
   ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки, ВнешниеНаборыДанных);
   ДокументРезультат = Новый ТабличныйДокумент;
   ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
   ПроцессорВывода.УстановитьДокумент(ДокументРезультат);
   
   ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);
   
   ДокументРезультат.ТолькоПросмотр=Истина;
   ДокументРезультат.ОтображатьСетку = Ложь;
   ДокументРезультат.ОтображатьЗаголовки = Ложь;
   
   ДокументРезультат.Показать();
1 IronDemon
 
02.02.10
13:30
Дело в настройке отчета. Нужно добавить Таблица
2 Подводный Таракан
 
02.02.10
13:38
(1) а что там в настройке отчета? я вот тоже чувствую, но понять не могу...
добавил строк

   ВнешниеНаборыДанных = Новый Структура;
   ВнешниеНаборыДанных.Вставить("Табл",Табл);
   
   СхемаКомпоновкиДанных = ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");
   Настройки=КомпоновщикНастроек.ПолучитьНастройки();

   КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
   МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки);
     
   ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
   ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки, ВнешниеНаборыДанных);
   ДокументРезультат = Новый ТабличныйДокумент;
   //добавление
   СводТабл=ДокументРезультат.ВстроенныеТаблицы.Добавить(Тип("СводнаяТаблица"));
   ИсточникСводнойТаблицы = Новый ИсточникДанныхСводнойТаблицыКомпоновкиДанных;
   ИсточникСводнойТаблицы.УстановитьСхему(СхемаКомпоновкиДанных);
   СводТабл.ИсточникДанных = ИсточникСводнойТаблицы;
   ИсточникСводнойТаблицы.УстановитьНастройки(Настройки);
   //добавление
   ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
   ПроцессорВывода.УстановитьДокумент(ДокументРезультат);
   
   ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);
   
   ДокументРезультат.ТолькоПросмотр=Истина;
   ДокументРезультат.ОтображатьСетку = Ложь;
   ДокументРезультат.ОтображатьЗаголовки = Ложь;
   
   ДокументРезультат.Показать();


ругается на ИсточникСводнойТаблицы.УстановитьНастройки(Настройки);
3 Подводный Таракан
 
02.02.10
13:40
+(2) если эту строку заремарить, то сводная таблица выходит как то отдельно от основной и соответственно не работает.
4 Подводный Таракан
 
02.02.10
14:21
up
5 Defender aka LINN
 
02.02.10
14:25
Че "up"?
   СхемаКомпоновкиДанных = ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");
   Настройки=КомпоновщикНастроек.ПолучитьНастройки();

Компоновщик должен телепатически догадаться, какая схема имеется в виду?
6 Подводный Таракан
 
02.02.10
14:42
(5) добавил

   СхемаКомпоновкиДанных = ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");
   ИсточникНастроек = Новый ИсточникДоступныхНастроекКомпоновкиДанных(СхемаКомпоновкиДанных);
   КомпоновщикНастроек.Инициализировать(ИсточникНастроек);
   Настройки=КомпоновщикНастроек.ПолучитьНастройки();


но от ошибки в (2) это не помогло
7 Подводный Таракан
 
02.02.10
15:10
Еще раз апнем. В варианте (1) все работает, и настройки, которые я меняю на форме отчета отражаются в табличном документе - ДокументРезультат. Как мне сейчас сделать чтобы отчет выходил в сводной таблице?
8 Подводный Таракан
 
02.02.10
15:54
up
9 Подводный Таракан
 
02.02.10
16:35
вверх, хелп плиз
10 Defender aka LINN
 
02.02.10
16:38
(7) Очевидно, надо поменять настройки
11 Подводный Таракан
 
02.02.10
16:44
(10) а где их нужно поменять?
12 Подводный Таракан
 
02.02.10
17:42
еще разок ап, скажите пожалуйста поточнее где и что нужно поменять?
13 IronDemon
 
02.02.10
18:32
Ты хочешь структуру отчета программно задать?
14 Подводный Таракан
 
02.02.10
18:43
(13) нет. в общем, ситуация следующая - в (1) рабочий код, он выводит табличный документ с заданными настройками СКД. Мне нужно, чтобы этот Табличный Документ был в виде сводной таблицы. Чтобы можно было поменять группировки прямо в таблице к примеру.

в книжке у Хрусталевой есть пример, но там формируется СКД из запроса и только следующий код

   ИсточникСводнойТаблицы = Новый ИсточникДанныхСводнойТаблицыКомпоновкиДанных;
   ИсточникСводнойТаблицы.УстановитьСхему(СхемаКомпоновкиДанных);
   ЭлементыФормы.Результат.ВстроенныеТаблицы.СводнаяТаблица1.ИсточникДанных = ИсточникСводнойТаблицы;
   ИсточникСводнойТаблицы.УстановитьНастройки(КомпоновщикНастроек.Настройки);


вот как то надо чтобы мой отчет выходил в виде сводной таблицы
15 Подводный Таракан
 
02.02.10
18:44
+(14) код в процедуре ПриОткрытии()
16 Подводный Таракан
 
02.02.10
21:57
up
17 IronDemon
 
02.02.10
22:18
У тебя в настройках отчета Таблица с группировками сделана?
18 Подводный Таракан
 
03.02.10
07:52
(17) в настройках СКД - да, с группировками.