Имя: Пароль:
1C
 
СКД: Программное формирование отчёта в СКД
0 Nikart
 
19.10.09
17:50
Находил где-то код для формирования отчета в СКД программно. Т.е. просто аналог нажатия кнопки "Сформировать" но программно. Сейчас повторно найти не могу.
Хочу программно установить параметры к запросу, используемому в СКД.
Помогите пожалуйста с примером кода.
1 Samoyloff
 
19.10.09
17:51
ВнешниеНаборыДанных.Вставить("ТаблицаДанных",Запрос.Выполнить().Выгрузить());
       
   КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
   МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных,КомпоновщикНастроек.ПолучитьНастройки());
   
   ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
   ПроцессорКомпоновки.Инициализировать(МакетКомпоновки,ВнешниеНаборыДанных);
   
   
   ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
   
   ЭлементыФормы.Результат.Очистить();
   
   ПроцессорВывода.УстановитьДокумент(ЭлементыФормы.Результат);
   
   ПроцессорВывода.Вывести(ПроцессорКомпоновки);
2 Samoyloff
 
19.10.09
17:51
+(1) тут заодно внешний набор данных в СКД подсовывается.
3 Armando
 
19.10.09
17:52
на ИТС
4 Nikart
 
19.10.09
18:20
(2) каким образом?
5 also
 
19.10.09
18:20
(4) ВнешниеНаборыДанных.Вставить("ТаблицаДанных",Запрос.Выполнить().Выгрузить());

Разве сложно догадаться?
6 also
 
19.10.09
18:21
Все остально е, кроме этой строчки тебе и нужно :)
7 Nikart
 
19.10.09
18:27
(6) что тогда указывать в ПроцессорКомпоновки.Инициализировать(МакетКомпоновки,ВнешниеНаборыДанных);
8 Nikart
 
19.10.09
18:28
(3) что-то на ИТС не нашёл :(
9 also
 
19.10.09
18:29
(7) Ничего
10 also
 
19.10.09
18:29
ДанныеРасшифровки = Новый ДанныеРасшифровкиКомпоновкиДанных;
   КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
   МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки, ДанныеРасшифровки);
     
   ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
   ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки,, ДанныеРасшифровки);
   
   ЭлементыФормы.Результат.Очистить();
   ДокументРезультат = ЭлементыФормы.Результат;
   ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
   ПроцессорВывода.УстановитьДокумент(ДокументРезультат);
   
   ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);
11 also
 
19.10.09
18:37
ТОка еще выше следует добавить:

   СхемаКомпоновкиДанных = Отчеты.ОтчетОКонфиденцеальнойИнформации.ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");
   Настройки = СхемаКомпоновкиДанных.НастройкиПоУмолчанию;
12 cViper
 
19.10.09
21:42
(11) Почему всегда указываем НастройкиПоУмолчанию а не КомпоновщикНастроек.Настройки? В чем разница?