СКД и обработка
☑
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
А вот такая штука дала результат, спс
ТЗ = ПолучитьТЗ();
ВнНабДан=Новый Структура;
ВнНабДан.Вставить("Данные", ТЗ);
моймакет=ЭтотОбъект.ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");
настройки=ЭтотОбъект.ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных").НастройкиПоУмолчанию;
КомпМакета=Новый КомпоновщикМакетаКомпоновкиДанных;
МакетКомп=КомпМакета.Выполнить(моймакет, настройки);
Проц=Новый ПроцессорКомпоновкиДанных;
Проц.Инициализировать(МакетКомп, ВнНабДан);
ДокументРезультат=ЭлементыФормы.ФактПок;
ПроцессорВывода=Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
ПроцессорВывода.УстановитьДокумент(ДокументРезультат);
ПроцессорВывода.НачатьВывод();
Пока истина Цикл
ЭлементРезультата=Проц.Следующий();
Если ЭлементРезультата=Неопределено тогда
Прервать;
Иначе ПроцессорВывода.ВывестиЭлемент(ЭлементРезультата);
КонецЕсли;
КонецЦикла;
ПроцессорВывода.ЗакончитьВывод();
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший