Печатная форма из СКД

Функция СформироватьПечатнуюФорму(МассивОбъектов) Экспорт

    ТабличныйДокумент = Новый ТабличныйДокумент;
    ТабличныйДокумент.АвтоМасштаб = Истина;
    ТабличныйДокумент.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт;
    ТабличныйДокумент.ОтображатьСетку = Ложь;
    ТабличныйДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_WB";

    ИмяФайла = ПолучитьИмяВременногоФайла();
    ПолучитьМакет("Настройка").Записать(ИмяФайла);

    ЧтениеХМЛ = Новый ЧтениеXML;
    ЧтениеХМЛ.ОткрытьФайл(ИмяФайла);

    НовыйСXDTO = Новый СериализаторXDTO(ФабрикаXDTO);
    Настройки = НовыйСXDTO.ПрочитатьXML(ЧтениеХМЛ);

    ЧтениеХМЛ = Неопределено;
    УдалитьФайлы(ИмяФайла);

    КомпоновщикНастроек = Новый КомпоновщикНастроекКомпоновкиДанных;
    КомпоновщикНастроек.ЗагрузитьНастройки(Настройки);

    Эл = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("МассивДокументов");
    Эл.Значение = МассивОбъектов;

    Схема = ПолучитьМакет("Схема");

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

    ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
    ПроцессорКомпоновки.Инициализировать(МакетКомпоновки);

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

    Возврат ТабличныйДокумент;

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

Добавить комментарий