Создание табличного документа из MXL-шаблона и экспорт в PDF
Если вы ранее создали макет табличного документа в «1С:Предприятии» и выгрузили шаблон в формате MXL, то вы можете импортировать его в «1С:Шину» для дальнейшей работы: заполнения полей, экспорта в различные форматы, вывода на экран. В общем случае, для того чтобы получить необходимую область макета табличного документа, присвоить в нее параметры и вывести значение данных параметров, необходимо выполнить следующие шаги:
- Прочитайте табличный документ из
макета:
исп ПотокМакета = Ресурс{ПФ_MXL_СчетНаОплату.mxl}.ОткрытьПотокЧтения() знч МакетПечати = ТабличныйДокумент.Прочитать(ПотокМакета, Истина)
- Получите из макета необходимую
область:
пер ОбластьЗаголовок = МакетПечати.ПолучитьОбласть("Заголовок")
- Создайте пустой табличный документ и присвойте для удобства объект для записи
табличного документа в переменную (в примере —
Писатель):
пер ИтоговыйДокумент = новый ТабличныйДокумент() знч Писатель = ИтоговыйДокумент.Запись
- Получите выводимую область табличного документа из текущей области и установите
в нее необходимые
параметры:
пер ВыводимаяОбластьЗаголовок = ОбластьЗаголовок.ВВыводимуюОбласть().УстановитьПараметры( {"ПредставлениеДокумента": "Счет на оплату № 12000018 от 18 ноября 2022 г."} )
- Выведите область с установленными параметрами в табличный
документ:
Писатель.ВывестиВертикально(ВыводимаяОбластьЗаголовок)
Итоговый документ будет содержаться в переменной ИтоговыйДокумент.
После того как вы вывели в документ все необходимые области с установленными
параметрами, вы можете экспортировать документ в PDF. Для этого следует выполнить
следующие шаги:
- Экспортируйте полученный документ в нужный
формат:
пер БайтыТаблицы = ИтоговыйДокумент.ЭкспортироватьВБайты(ФорматЭкспортаТабличногоДокумента.Pdf)
- Создайте двоичный объект из
байтов:
пер СвойстваДвоичногоОбъекта = новый ДвоичныйОбъект.Свойства("ВыгрузкаЗадач").Временные() знч ДвоичныйОбъект = ОбъектноеХранилище.ЗагрузитьИзБайт(Байты = БайтыТаблицы, Свойства = СвойстваДвоичногоОбъекта)
- Вызовите сохранение файла на
клиенте:
ВыгрузкаФайлов.НачатьВыгрузку(ДвоичныйОбъект.Ссылка, "СчетОплаты.pdf")