// Заполняет переданный объект на основани СКД // // Параметры // // СКД – собствеено настройки СКД // // ОбъектДляЗагрузки – объект в который выгружаются данные, таблица значений, дерево значений, табличный документ // // ИсполняемыеНастройки – Пользовательские настройки СКД если не указаны будут использованы настроки СКД по умолчанию // // СтруктураПараметров - Структура – Передаваемые для СКД параметры // // краткий лекбез, поправлю позже // Процедура ПолучитьДанныеНаОснованииСКД(СКД, ИсполняемыеНастройки = Неопределено, ОбъектДляЗагрузки, СтруктураПараметров = Неопределено, РасшифровкаСКД = Неопределено, МакетКомпоновки = Неопределено, ВнешниеНаборыДанных = Неопределено) Экспорт КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных; Если ТипЗнч(ОбъектДляЗагрузки) = Тип("ТабличныйДокумент") Тогда ТипГенератора = Тип("ГенераторМакетаКомпоновкиДанных"); Иначе ТипГенератора = Тип("ГенераторМакетаКомпоновкиДанныхДляКоллекцииЗначений"); КонецЕсли; Если ИсполняемыеНастройки = Неопределено Тогда ИсполняемыеНастройки = СКД.НастройкиПоУмолчанию; КонецЕсли; Если СтруктураПараметров <> Неопределено Тогда КоллекцияЗначенийПараметров = ИсполняемыеНастройки.ПараметрыДанных.Элементы; Для каждого Параметр Из СтруктураПараметров Цикл НайденноеЗначениеПараметра = КоллекцияЗначенийПараметров.Найти(Параметр.Ключ); Если НайденноеЗначениеПараметра <> Неопределено Тогда НайденноеЗначениеПараметра.Использование = Истина; НайденноеЗначениеПараметра.Значение = Параметр.Значение; КонецЕсли; КонецЦикла; КонецЕсли; МакетКомпоновкиСКД = КомпоновщикМакета.Выполнить(СКД, ИсполняемыеНастройки, РасшифровкаСКД, МакетКомпоновки, ТипГенератора); ПроцессорКомпановки = Новый ПроцессорКомпоновкиДанных; ПроцессорКомпановки.Инициализировать(МакетКомпоновкиСКД, ВнешниеНаборыДанных, РасшифровкаСКД, Истина); Если ТипЗнч(ОбъектДляЗагрузки) = Тип("ТабличныйДокумент") Тогда ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент; ПроцессорВывода.УстановитьДокумент(ОбъектДляЗагрузки); Иначе ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначений; ПроцессорВывода.УстановитьОбъект(ОбъектДляЗагрузки); КонецЕсли; ПроцессорВывода.ОтображатьПроцентВывода = Истина; ПроцессорВывода.Вывести(ПроцессорКомпановки, Истина); КонецПроцедуры // ПолучитьДанныеНаОснованииСКД()
{"contextData":{},"contextMarkers":[]}