СКД . При програмном создании компановщика данных , табл. док пустой

1. xanta 11.08.18 23:09 Сейчас в теме
Есть такая функция , после ее выполнения пытаюсь заполнить табл док на клиетне и там пусто или показать как в новом табл док. тоже пусто.
Подскажите , что я упустила. Скд только начинаю более углубленно разбираться.
Функция сформироватьТаблДок(ТзИзСтрокВКолонки)
	Если ТзИзСтрокВКолонки.Количество()>0 тогда 
		СхемаКомпоновкиДанных = Новый СхемаКомпоновкиДанных;
		Источник = СхемаКомпоновкиДанных.ИсточникиДанных.Добавить();
		Источник.Имя = "ТзИзСтрокВКолонки";
		Источник.СтрокаСоединения = "";
		Источник.ТипИсточникаДанных = "Local";
		
		НаборДанных = СхемаКомпоновкиДанных.НаборыДанных.Добавить(Тип("НаборДанныхОбъектСхемыКомпоновкиДанных"));
		НаборДанных.Имя = "ТзИзСтрокВКолонки";
		НаборДанных.ИмяОбъекта = "ТзИзСтрокВКолонки";
		НаборДанных.ИсточникДанных = "ТзИзСтрокВКолонки";
		Для каждого Колонка из ТзИзСтрокВКолонки.Колонки Цикл
			ПолеДанных = НаборДанных.Поля.Добавить(Тип("ПолеНабораДанныхСхемыКомпоновкиДанных"));
			ПолеДанных.Поле = Колонка.Имя;
			ПолеДанных.ПутьКДанным = Колонка.Имя;
			ПолеДанных.ТипЗначения = Колонка.ТипЗначения;
		КонецЦикла;
		АдресСхемыКомпоновкиДанных = ПоместитьВоВременноеХранилище(СхемаКомпоновкиДанных, Новый УникальныйИдентификатор);
		КомпоновщикНастроек = Новый КомпоновщикНастроекКомпоновкиДанных;
		КомпоновщикНастроек.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(АдресСхемыКомпоновкиДанных));
		Настройки = СхемаКомпоновкиДанных.НастройкиПоУмолчанию;
		КомпоновщикНастроек.ЗагрузитьНастройки(Настройки);
		КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
		МакетКомпоновкиДанных = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, КомпоновщикНастроек.Настройки, , , Тип("ГенераторМакетаКомпоновкиДанныхДляКоллекцииЗначений"));
		//    
		ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
		ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновкиДанных, Новый Структура("ТзИзСтрокВКолонки", ТзИзСтрокВКолонки));
		//    
		ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
		ТаблДок = Новый ТабличныйДокумент;
		ПроцессорВывода.УстановитьДокумент(ТаблДок);
		ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);
		Возврат ТаблДок;
	конецЕСлИ;
КонецФункции
Показать
+
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. pun4er 12.08.18 12:14 Сейчас в теме
Тип("ГенераторМакетаКомпоновкиДанныхДляКоллекцииЗначений")
Вы выводите результат в коллекцию значений. Вам нужно вывести результат в табличный документ. Попробуйте убрать этот тип, по умолчанию должен быть вывод в табличный документ.
+
3. xanta 13.08.18 00:03 Сейчас в теме
4. xanta 13.08.18 08:26 Сейчас в теме
Уже не актуально.
Нашла решение , пропустила блок группировка. без него как раз и не формируется.
Результат выглядит так, (может кому и пригодиться)
 
Если ТзИзСтрокВКолонки.Количество()>0 тогда 
		
		СхемаКомпоновкиДанных = Новый СхемаКомпоновкиДанных;
		Источник = СхемаКомпоновкиДанных.ИсточникиДанных.Добавить();
		Источник.Имя = "ТзИзСтрокВКолонки";
		Источник.СтрокаСоединения = "";
		Источник.ТипИсточникаДанных= "Local";
		
		НаборДанных = СхемаКомпоновкиДанных.НаборыДанных.Добавить(Тип("НаборДанныхОбъектСхемыКомпоновкиДанных"));
		НаборДанных.Имя = "ТзИзСтрокВКолонки";
		НаборДанных.ИмяОбъекта = "ТзИзСтрокВКолонки";
		НаборДанных.ИсточникДанных = "ТзИзСтрокВКолонки";
		Для каждого Колонка из ТзИзСтрокВКолонки.Колонки Цикл
			ПолеДанных = НаборДанных.Поля.Добавить(Тип("ПолеНабораДанныхСхемыКомпоновкиДанных"));
			ПолеДанных.Поле = Колонка.Имя;
			ПолеДанных.ПутьКДанным = Колонка.Имя;
			ПолеДанных.ТипЗначения = Колонка.ТипЗначения;
			ПолеДанных.Заголовок = Колонка.Заголовок;
		КонецЦикла;
		
		АдресСхемыКомпоновкиДанных = ПоместитьВоВременноеХранилище(СхемаКомпоновкиДанных, Новый УникальныйИдентификатор);
		КомпоновщикНастроек = Новый КомпоновщикНастроекКомпоновкиДанных;
		КомпоновщикНастроек.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(АдресСхемыКомпоновкиДанных));
		Настройки = СхемаКомпоновкиДанных.НастройкиПоУмолчанию;
		ГруппировкаНоменклатуры = Настройки.Структура.Добавить(Тип("ГруппировкаКомпоновкиДанных"));
		
		Для Каждого Колонка из ТзИзСтрокВКолонки.Колонки цикл	
			ПолеГруппировки = ГруппировкаНоменклатуры.ПоляГруппировки.Элементы.Добавить(Тип("ПолеГруппировкиКомпоновкиДанных"));    
			ПолеГруппировки.Использование = Истина;
			ПолеГруппировки.Поле = Новый ПолеКомпоновкиДанных(Колонка.Имя);
			АвтоПоле = ГруппировкаНоменклатуры.Выбор.Элементы.Добавить(Тип("АвтоВыбранноеПолеКомпоновкиДанных"));
			АвтоПоле.Использование = Истина;  
		КонецЦикла;
		
		КомпоновщикНастроек.ЗагрузитьНастройки(Настройки);
		КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
		МакетКомпоновкиДанных = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, КомпоновщикНастроек.Настройки,,,Тип("ГенераторМакетаКомпоновкиДанных"));  
		
		ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
		ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновкиДанных, Новый Структура("ТзИзСтрокВКолонки", ТзИзСтрокВКолонки));
		ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
		ТаблДок = Новый ТабличныйДокумент;
		ПроцессорВывода.УстановитьДокумент(ТаблДок);
		ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);
		возврат таблдок; 
	конецЕСлИ;

Показать
+
Внимание! Тема сдана в архив

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот