Счет на оплату часто создается по одному и тому же шаблону: реквизиты клиента, перечень товаров или услуг, сумма, платежная информация. Если каждый документ собирается вручную, сотруднику приходится переносить данные в шаблон и отдельно готовить файл для отправки. При большом количестве счетов такая операция становится рутинной.
В Бипиуме формирование счета можно связать с данными записи и автоматизировать весь процесс. В результате после обновления записи система формирует HTML по заданному шаблону, создает QR-код через внешний сервис и сохраняет готовый документ в самой записи.

Данные счета хранятся в записи
Основой сценария служит запись, в которой находятся данные, необходимые для документа. Когда запись обновляется, автоматизация получает значения ее полей и передает их в дальнейшие компоненты.
Такой подход позволяет не дублировать информацию в нескольких местах. Шаблон документа остается постоянным, а значения подставляются автоматически в зависимости от конкретной записи.
HTML задает структуру документа
Для формирования счета используется HTML-шаблон. В него заранее закладывается структура документа и переменные, значения которых будут получены из записи.
Некоторые параметры можно передавать непосредственно из полей записи, а отдельные значения подготовить внутри сценария. После подстановки данных HTML передается в компонент конвертации, который формирует итоговый документ.
QR-код формируется отдельно
Для QR-кода требуется сначала подготовить данные, которые должны быть зашифрованы в изображении. В демонстрации для этого используется компонент кода: в переменную записывается строка с необходимыми значениями.
После подготовки данных сценарий обращается к внешнему сервису формирования QR-кодов через веб-запрос. В запросе указывается адрес сервиса, размер изображения и подготовленные данные. В демонстрации используется размер 300 × 300 пикселей.
Ответ внешнего сервиса превращается в файл
Поскольку сервис возвращает изображение, ответ веб-запроса принимается в бинарном формате. Полученное содержимое передается в компонент «Загрузить файл».
Файл сохраняется в формате PNG, после чего сценарий получает его URL. Этот адрес используется в HTML-шаблоне как источник изображения QR-кода.
Готовый QR-код добавляется в HTML
После создания изображения URL передается в компонент генерации HTML вместе с остальными переменными. В результате в шаблон попадают реквизиты счета, данные из записи и изображение QR-кода.
Далее HTML проходит через конвертер, а готовый счет сохраняется в соответствующем поле записи.
Вся автоматизация работает как единый сценарий
Логика процесса выглядит следующим образом:
- Обновляется запись с данными счета.
- Подготавливаются значения для QR-кода.
- Формируется веб-запрос.
- Внешний сервис возвращает QR-код.
- Изображение сохраняется как PNG.
- URL QR-кода передается в HTML.
- HTML конвертируется в готовый документ.
- Документ сохраняется в записи.
За счет этого QR-код не нужно создавать отдельно от счета: его формирование становится частью общего сценария.
Для каких задач подойдет такой подход
Такая схема полезна не только для счетов. Тот же принцип можно использовать при формировании других типовых документов, если их содержимое зависит от данных в Бипиуме, а отдельные элементы документа необходимо получать из внешнего сервиса.
При этом каждый этап можно рассматривать как самостоятельную часть процесса. Подготовка данных, работа с внешним сервисом, создание файла и формирование HTML связаны между собой, но выполняют разные задачи.
Практическая демонстрация
На форуме Бипиума опубликована демонстрация формирования счета на оплату с QR-кодом. В ней показаны создание HTML-шаблона, автоматическая подстановка данных, генерация QR-кода и получение готового PDF. Также к публикации приложен BPMN-файл сценария.
Посмотреть демонстрацию настройки на форуме Бипиума
