Выполнить вариант отчета на СКД в фоне регламентным и соханить результат в файл

1. request4t 13.05.24 14:48 Сейчас в теме
Здравствуйте.

Все работает. Только не могу разобраться как получить и использовать пользовательский вариант отчета. Есть даже КлючВарианта, но не знаю что с ним дальше делать.Подскажите, пожалуйста.

Отчет = Отчеты.АнализРасчетовСКлиентами.Создать();
	
	СхемаКомпоновкиДанных = Отчет.ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");
	
	КомпоновщикНастроек = Новый КомпоновщикНастроекКомпоновкиДанных;
	КомпоновщикНастроек.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(СхемаКомпоновкиДанных)); 
	КомпоновщикНастроек.ЗагрузитьНастройки(СхемаКомпоновкиДанных.НастройкиПоУмолчанию); 
	
	КомпоновщикНастроек.Настройки.ДополнительныеСвойства.Вставить("КлючВарианта", "7fa74ab5-c0bd-4010-801a-966fb9389d07");
	КомпоновщикНастроек.Настройки.ДополнительныеСвойства.Вставить("ПредставлениеВарианта ", "Анализ расчетов с клиентами - Опт");
	
	КомпоновщикНастроек.Настройки.ПараметрыДанных.УстановитьЗначениеПараметра ("ДатаОтчета", ТекущаяДата()) ; 
	КомпоновщикНастроек.Настройки.ПараметрыДанных.УстановитьЗначениеПараметра ("Календарь", Справочники.Календари.ПолучитьСсылку(Новый УникальныйИдентификатор("748baa8d-3310-11e3-82c9-005056c00008"))); 
	КомпоновщикНастроек.Настройки.ПараметрыДанных.УстановитьЗначениеПараметра ("ВариантКлассификацииЗадолженности", Справочники.ВариантыКлассификацииЗадолженности.ПолучитьСсылку(Новый УникальныйИдентификатор("c8a03fa0-faa1-11eb-814c-eca6b95d8f2e"))); 
		
	ОтборПоПартнерам = КомпоновщикНастроек.Настройки.Отбор.Элементы[1];
	ОтборПоПартнерам.Использование  = Истина;
	ОтборПоПартнерам.ВидСравнения   = ВидСравненияКомпоновкиДанных.НеВИерархии;
	ОтборПоПартнерам.ПравоеЗначение = Справочники.Партнеры.ПолучитьСсылку(Новый УникальныйИдентификатор("cadf12a0-e93a-11eb-88f4-94dd53667b16")); 
	
	КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
	
	МакетКомпоновкиДанных = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, КомпоновщикНастроек.Настройки, , ,Тип("ГенераторМакетаКомпоновкиДанных"));
	
	ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
	ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновкиДанных);
	
	ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
	
	ТД = Новый ТабличныйДокумент;
	ПроцессорВывода.УстановитьДокумент(ТД);
	ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);
	ТД.Записать("C:\1C_Backups\АнализРасчетовСКлиентами.xls", ТипФайлаТабличногоДокумента.XLS);

Показать
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. request4t 13.05.24 15:59 Сейчас в теме
Блин, вот не в первый раз уже - после суток тупняка стОит только создать тему, через 15 мин находится решение :)

Финальный рабочий код:

	Отчет = Отчеты.АнализРасчетовСКлиентами.Создать();
	
	СхемаКомпоновкиДанных = Отчет.ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");
	
	КомпоновщикНастроек = Новый КомпоновщикНастроекКомпоновкиДанных;
	КомпоновщикНастроек.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(СхемаКомпоновкиДанных)); 
	КомпоновщикНастроек.ЗагрузитьНастройки(СхемаКомпоновкиДанных.НастройкиПоУмолчанию);  //СхемаКомпоновкиДанных.ВариантыНастроек
	
	ВариантОтчета = Справочники.ВариантыОтчетов.ПолучитьСсылку(Новый УникальныйИдентификатор("d9d70eb0-e800-11eb-88f4-94dd53667b16")); 
	
	КомпоновщикНастроек.ЗагрузитьНастройки(ВариантОтчета.ХранилищеЗначений.Получить());

	КомпоновщикНастроек.Настройки.ПараметрыДанных.УстановитьЗначениеПараметра ("ДатаОтчета", ТекущаяДата()) ; 
	КомпоновщикНастроек.Настройки.ПараметрыДанных.УстановитьЗначениеПараметра ("Календарь", Справочники.Календари.ПолучитьСсылку(Новый УникальныйИдентификатор("748baa8d-3310-11e3-82c9-005056c00008"))); 
	КомпоновщикНастроек.Настройки.ПараметрыДанных.УстановитьЗначениеПараметра ("ВариантКлассификацииЗадолженности", Справочники.ВариантыКлассификацииЗадолженности.ПолучитьСсылку(Новый УникальныйИдентификатор("c8a03fa0-faa1-11eb-814c-eca6b95d8f2e"))); 
		
	ОтборПоПартнерам = КомпоновщикНастроек.Настройки.Отбор.Элементы[1];
	ОтборПоПартнерам.Использование  = Истина;
	ОтборПоПартнерам.ВидСравнения   = ВидСравненияКомпоновкиДанных.НеВИерархии;
	ОтборПоПартнерам.ПравоеЗначение = Справочники.Партнеры.ПолучитьСсылку(Новый УникальныйИдентификатор("cadf12a0-e93a-11eb-88f4-94dd53667b16")); 
	
	КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
	
	МакетКомпоновкиДанных = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, КомпоновщикНастроек.Настройки, , ,Тип("ГенераторМакетаКомпоновкиДанных"));
	
	ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
	ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновкиДанных);
	
	ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
	
	ТД = Новый ТабличныйДокумент;
	ПроцессорВывода.УстановитьДокумент(ТД);
	ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);
	ТД.Записать("C:\1C_Backups\АнализРасчетовСКлиентами.xls", ТипФайлаТабличногоДокумента.XLS);

Показать
Оставьте свое сообщение

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