Имя: Пароль:
1C
1С v8
СКД и обработка
0 Алексей777
 
17.08.12
15:06
ТЗ = ПолучитьТЗ();
   
СхемаКомпоновкиДанных = ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");
   КомпоновщикНастроек = Новый КомпоновщикНастроекКомпоновкиДанных;
   КомпоновщикНастроек.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(СхемаКомпоновкиДанных));
   
   
   ДанныеРасшифровки = Новый ДанныеРасшифровкиКомпоновкиДанных;
   КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
   МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, КомпоновщикНастроек.Настройки, ДанныеРасшифровки);
   ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
   
   ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки,Новый Структура("Данные",ТЗ) , ДанныеРасшифровки,Истина);
   
   
   ДокументРезультат = ЭлементыФормы.ФактПок;
   ДокументРезультат.Очистить();
   ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
   ПроцессорВывода.УстановитьДокумент(ДокументРезультат);
   ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);
1 Лоботряс
 
17.08.12
15:07
Молодец, буквы знаешь...
2 Алексей777
 
17.08.12
15:08
Всем привет. В табличный документ из обработки согласно этому коду вывожу результат и он пустой.
3 Голубушка
 
17.08.12
15:30
а в СКД что то есть?
4 Голубушка
 
17.08.12
15:31
запрос к данным например :)) .. и на закладке настройки, хоть что то имеется?
5 sanja26
 
17.08.12
15:42
(2) может стоит параметры задать?
6 hhhh
 
17.08.12
15:48
(2) ну а то, что в обработках нет СКД, тебя не напрягает?
7 sanja26
 
17.08.12
15:49
(6) как это нет? СКД - макет
8 Алексей777
 
17.08.12
16:12
А вот такая штука дала результат, спс http://devtrainingforum.v8.1c.ru/forum/thread.jsp?id=564076

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