Перейти к основному содержимому

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

Создание табличного документа из MXL-шаблона

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

  1. Прочитайте табличный документ из макета:

    исп ПотокМакета = Ресурс{ПФ_MXL_СчетНаОплату.mxl}.ОткрытьПотокЧтения()
    знч МакетПечати = ТабличныйДокумент.Прочитать(ПотокМакета, Истина)
  2. Получите из макета необходимую область:

    пер ОбластьЗаголовок = МакетПечати.ПолучитьОбласть("Заголовок")
  3. Создайте пустой табличный документ и присвойте для удобства объект для записи табличного документа в переменную (в примере — Писатель):

    пер ИтоговыйДокумент = новый ТабличныйДокумент()
    знч Писатель = ИтоговыйДокумент.Запись
  4. Получите выводимую область табличного документа из текущей области и установите в нее необходимые параметры:

    пер ВыводимаяОбластьЗаголовок = ОбластьЗаголовок.ВВыводимуюОбласть().УстановитьПараметры(
    {"ПредставлениеДокумента": "Счет на оплату № 12000018 от 18 ноября 2022 г."}
    )
  5. Выведите область с установленными параметрами в табличный документ:

    Писатель.ВывестиВертикально(ВыводимаяОбластьЗаголовок)

Итоговый документ будет содержаться в переменной ИтоговыйДокумент.

Экспорт документа в PDF

После того как вы вывели в документ все необходимые области с установленными параметрами, вы можете экспортировать документ в PDF. Для этого следует выполнить следующие шаги:

  1. Экспортируйте полученный документ в нужный формат:

    пер БайтыТаблицы = ИтоговыйДокумент.ЭкспортироватьВБайты(ФорматЭкспортаТабличногоДокумента.Pdf)
  2. Создайте двоичный объект из байтов:

    пер СвойстваДвоичногоОбъекта = новый ДвоичныйОбъект.Свойства("ВыгрузкаЗадач").Временные()
    знч ДвоичныйОбъект = ОбъектноеХранилище.ЗагрузитьИзБайт(Байты = БайтыТаблицы,
    Свойства = СвойстваДвоичногоОбъекта)
  3. Вызовите сохранение файла на клиенте:

    ВыгрузкаФайлов.НачатьВыгрузку(ДвоичныйОбъект.Ссылка, "СчетОплаты.pdf")