В начало

Выгрузка отчета в ТабДок и ТЗ

 

Листинг. Модуль формы внешней обработки

Функция СоздатьОтчет_вТабДок(Знач ДатаНачалаВзаимодействий, Знач ДатаОкончанияВзаимодействий)

 

            СКД = Отчеты.ОтчетДляРуководителей.ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");

            Настройки=СКД.НастройкиПоУмолчанию;

           

            //====================

            //Параметры отчета

            //====================

            Параметр1 = Настройки.ПараметрыДанных.Элементы.Найти("ДатаНачалаВзаимодействий");

            Параметр1.Значение = ДатаНачалаВзаимодействий;

            Параметр1.Использование = Истина;

 

            Параметр2 = Настройки.ПараметрыДанных.Элементы.Найти("ДатаОкончанияВзаимодействий");

            Параметр2.Значение = ДатаОкончанияВзаимодействий;

            Параметр2.Использование = Истина;

           

            Расшифровка = Новый ДанныеРасшифровкиКомпоновкиДанных;

            КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;   

           

            //Передаем в макет компоновки схему, настройки и данные расшифровки

            МакетКомпоновки = КомпоновщикМакета.Выполнить(СКД, Настройки, Расшифровка);

           

            ВнешниеПараметры = Новый Структура;   

           

            //Выполним компоновку с помощью процессора компоновки

            ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;

            ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки, ВнешниеПараметры, Расшифровка);   

           

            //Выводим результат в табличный документ

            ТабДок = Новый ТабличныйДокумент();

            ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;

            ПроцессорВывода.УстановитьДокумент(ТабДок);   

            ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных, Истина);

                      

            Возврат ТабДок;

КонецФункции

 

Функция СоздатьОтчет_вТЗ(Знач ДатаНачалаВзаимодействий, Знач ДатаОкончанияВзаимодействий)

 

            СКД = Отчеты.ОтчетДляРуководителей.ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");

           

            //Берем запрос из СКД и заполняем параметры отчета

            Запрос = Новый Запрос;

            Запрос.Текст = СКД.НаборыДанных.НаборДанных1.Запрос;

            Запрос.УстановитьПараметр("ДатаНачалаВзаимодействий", ДатаНачалаВзаимодействий);

            Запрос.УстановитьПараметр("ДатаОкончанияВзаимодействий", ДатаОкончанияВзаимодействий);

           

            Результат = Запрос.Выполнить();      

 

            //Выгружаем результат запроса в таблицу значений

            //Сворачиваем таблицу значений по выбранным полям

            Выгрузка = Результат.Выгрузить();     

            Выгрузка.Свернуть("Город, ПодряднаяОрганизация", "Сумма");

           

            Возврат Выгрузка;

           

КонецФункции

 

&НаСервере

Процедура ТестНаСервере()

            ТабДок = СоздатьОтчет_вТабДок(Дата(2025,01,01), Дата(2025,12,31));

            ТЗ = СоздатьОтчет_вТЗ(Дата(2025,01,01), Дата(2025,12,31));

КонецПроцедуры

 

&НаКлиенте

Процедура Тест(Команда)

            ТестНаСервере();

КонецПроцедуры