Программный вызов отчета СКД с параметрами и отборами. Выгрузка в файл
Можно сделать примерно так:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
таб1=новый ТабличныйДокумент(); СКД=Отчеты.ОценкаВаловойПрибыли.ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных"); Настройки=СКД.НастройкиПоУмолчанию; ПераметрыСКД=Настройки.ПараметрыДанных.Элементы; прскд=ПераметрыСКД.Найти("Период"); пер=Новый СтандартныйПериод; пер.ДатаНачала=НачалоМесяца(ТекущаяДата()); пер.ДатаОкончания=КонецДня(ТекущаяДата()); прскд=пер; ЭлементОтбора=Настройки.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); ЭлементОтбора.ВидСравнения=ВидСравненияКомпоновкиДанных.Равно; ЭлементОтбора.ЛевоеЗначение=Новый ПолеКомпоновкиДанных("Магазин");//поле отбора ЭлементОтбора.ПравоеЗначение=Справочники.Магазины.НайтиПоНаименованию("Вологда Торговля"); ЭлементОтбора.Использование=Истина; ЭлементОтбора.ИдентификаторПользовательскойНастройки=Новый УникальныйИдентификатор();//добавляет отбор в состав пользовательских настроек Расшифровка = Новый ДанныеРасшифровкиКомпоновкиДанных; КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных; //Передаем в макет компоновки схему, настройки и данные расшифровки МакетКомпоновки = КомпоновщикМакета.Выполнить(СКД, Настройки, Расшифровка); ВнешниеПараметры = Новый Структура; //Выполним компоновку с помощью процессора компоновки ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных; ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки, ВнешниеПараметры, Расшифровка); //Выводим результат в табличный документ ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент; ПроцессорВывода.УстановитьДокумент(таб1); ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных, Истина); таб1.Записать("c:\temp\выловая_прибыль.xls",ТипФайлаТабличногоДокумента.XLS); |