Сгенерировать документ

Используется для создания документа из заранее загруженного шаблона. Поддерживаются форматы .xslx и .docx. Для его использования необходимо создать файл шаблона размеченного тегами, загрузить файл в Bpium и подготовить JSON с тегами.

Когда использовать

Используйте Сгенерировать документ, когда нужно автоматически заполнить шаблон документа данными из Бипиума. Типичные примеры:

  • Сформировать договор с подстановкой данных клиента

  • Создать акт выполненных работ

  • Сгенерировать коммерческое предложение с таблицей товаров

  • Заполнить отчёт в Excel из данных каталога

Настройка компонента

Секция «Общие свойства»

Поле

Описание

Название

По умолчанию «Сгенерировать документ». Можно изменить на своё

Описание

Необязательное поле

Секция «Шаблон»

Путь к шаблону

Способ указания шаблона: • Файл из каталога — выбрать файл шаблона, загруженный в запись Бипиума • URL к файлу — указать ссылку на файл шаблона, доступный серверу

При выборе «Файл из каталога»

Поле

Описание

Каталог

Каталог, в котором находится запись с шаблоном

ID записи

Идентификатор записи, содержащей файл шаблона. Формат: значение или выражение

Поле

Идентификатор поля типа «Файл», в котором хранится шаблон

circle-exclamation

При выборе «URL к файлу»

URL шаблона

Ссылка на файл шаблона в формате .docx или .xlsx, доступная серверу Бипиума. Формат: значение или выражение

Пример: "https://my-portal.org/files/template.docx"

Секция «Данные»

Ожидает данные которые будут переданы в шаблон, для вставки. Данные можно вводить как в формате «Ключ = значение», так и в виде «JSON» строки.

Поле

Описание

Формат значений

Способ передачи данных в шаблон: • Ключ = Значение — задать ключи статически • JSON-объект — передать JSON-строку, где ключи и значения могут быть результатом вычислений

Данные

Значения, которые будут подставлены в шаблон. Кнопка «+ Добавить» позволяет добавить несколько пар

Формат значений: «Формат ключ = значение»

В данном формате вы задаете ключи которые можно использовать дальше в шаблоне. В отличии от типа JSON поле ключ не считаемое, это означает, что наименование ключа статично.

Формат значений: Формат «JSON - объект»

Позволяет записывать строку в формате JSON и в отличие от предыдущего формата поле ввода считаемое, поэтому в качестве любой части, в том числе и ключа, может быть использован результат вычисления.

Секция «Результат»

Формат возврата готового файла.

Сохранить как

Способ сохранения сгенерированного документа: • Файл в запись — сохранить документ в поле типа «Файл» указанной записи • URL в переменную — вернуть ссылку на сгенерированный документ

Сохранить как: Файл в запись

Сохраняет результат в поле типа Файл в указанной записи.

Поле

Описание

Каталог

Каталог, в котором находится запись для сохранения

ID записи

Идентификатор записи. Формат: значение или выражение

Поле

Идентификатор поля типа «Файл», в которое сохраняется документ

Сохранить как: URL в переменную

Поле

Описание

Имя файла

Название сгенерированного файла с расширением (.docx или .xlsx). Формат: значение или выражение

Сохранить URL файла в

Переменная, в которую сохраняется ссылка на файл

Использование

Подготовка шаблона Первым делом вам необходимо определиться с тем, какие данные будут использованы в документе.

Пример готового шаблона

Для разметки шаблоны применяются теги, которые повторяют структуру передаваемых в компонент данных. Теги обрамляются двойными фигурными скобками - {{ }}.

Пример

У нас есть данные которые мы отправляем в компонент:

Для того что бы вставить в текст наименование компании-заказчика мы будем использовать тэг {{executor.name}}, что соответствует иерархической структуре переданных данных. Для формирования списков и строк таблиц (множимые данные) нужно присвоить массив объектов с одинаковой структурой.

circle-exclamation
Создана первая строка таблицы

Тегирование происходит по тому же принципу, что и с другими данными: {{table.number}}, {{table.price}} размножат строки по количеству элементов массива и заполнят соответствующими свойствами объектов массива.

Пограничные события

Компонент поддерживает 2 типа пограничных событий:

  • Ошибка — выход из компонента, если произошла какая-либо ошибка

  • Таймаут — выход из компонента, спустя заданное ограничение по времени

Если компонент завершился с ошибкой, но на нем не было пограничного события, то процесс завершается. Сообщение ошибки возвращается в результатах процесса.

Last updated