1C шаблоны и готовые решения

Май 12, 2016

Сформировать СКД отчет на сервере

Filed under: — admin @ 9:45 дп

Метод формирует СКД отчет в переданный табличный документ из внешней таблицы значений.

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

Powered by WordPress

Яндекс.Метрика nikol_dn@list.ru