Создание табличного документа из MXL-шаблона и экспорт в PDF

Если вы ранее создали макет табличного документа в «1С:Предприятии» и выгрузили шаблон в формате MXL, то вы можете импортировать его в «1С:Шину» для дальнейшей работы: заполнения полей, экспорта в различные форматы, вывода на экран. В общем случае, для того чтобы получить необходимую область макета табличного документа, присвоить в нее параметры и вывести значение данных параметров, необходимо выполнить следующие шаги:

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