Сформировать отчет в ТабличныйДокумет

Очень хорошая статья: https://infostart.ru/1c/articles/1185890/

  • В 8.3

//Реквизиты формы: //Результат - Табличный документ //АдресСхемы - тип Строка, адрес хранилища СКД //ДанныеРасшифровки - тип Строка, адрес хранилища расшифровки &НаСервере Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) СхемаКомпоновкиДанных = РеквизитФормыВЗначение("Отчет").ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных"); АдресСхемы = ПоместитьВоВременноеХранилище(СхемаКомпоновкиДанных, УникальныйИдентификатор); Отчет.КомпоновщикНастроек.Инициализировать( Новый ИсточникДоступныхНастроекКомпоновкиДанных(АдресСхемы)); Отчет.КомпоновщикНастроек.ЗагрузитьНастройки(СхемаКомпоновкиДанных.НастройкиПоУмолчанию); КонецПроцедуры //*******************************************************************************************// &НаКлиенте Процедура ВывестиОтчетПрограммно(Команда) СформироватьВтаблДокРезультатСКДНаСервере();

КонецПроцедуры &НаСервере Процедура СформироватьВтаблДокРезультатСКДНаСервере() Схема = ПолучитьИзВременногоХранилища(АдресСхемы); Настройки = Отчет.КомпоновщикНастроек.ПолучитьНастройки(); КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных; МакетКомпоновки = КомпоновщикМакета.Выполнить(Схема, Настройки, ДанныеРасшифровки); //Помещаем в переменную данные о расшифровке данных ДанныеРасшифровкиОбъект = Новый ДанныеРасшифровкиКомпоновкиДанных; ПроцессорКомпоновки = новый ПроцессорКомпоновкиДанных; ПроцессорКомпоновки.Инициализировать(МакетКомпоновки,,ДанныеРасшифровкиОбъект,Истина); //Очищаем поле табличного документа Результат.Очистить(); ПроцессорВывода = новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент; ПроцессорВывода.УстановитьДокумент(Результат); ПроцессорВывода.Вывести(ПроцессорКомпоновки); // После окончания процессором вывода отчета, поместим расшифровку во временное хранилище ДанныеРасшифровки = ПоместитьВоВременноеХранилище(ДанныеРасшифровкиОбъект, УникальныйИдентификатор); КонецПроцедуры

  • В 8.2

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