Создание нового документа из шаблона печатной формы
POST {PF}/files/{customerKey}/add
Каждый шаблон печатных форм - это файл формата *.docx, внутрь которого включено некоторе количество меток вида "{имя_переменной}" (без кавычек.
То есть если в POST метод передается переменная вида "var_name", то для того, чтобы ее значение было заменено, в шаблоне необходимо наличие метки "{var_name}".
Также, возможно добавлять в шаблон табличные данные. Например - можно вставлять график платежей. Можно вставлять только плоские таблицы без объединения столбцов по вертикали или горизонтали. Сервер печатных форм при формировании формы размножит базовую строку и заполнит ее данными.
Пример
Нам нужно встаить в таблицу график платежей по договору. В таблице будет 3 столбца: Дата платежа, Платеж, Остаток
Предположим, у нас будет 3 платежа по договору. 01.01.2017, 01.02.2017 и 01.03.2017.
Тогда набор переменных (и их значений) может выглядеть вот так:
schedule.0.date=01.01.2017
schedule.0.pay=100
schedule.0.rest=200
schedule.1.date=01.02.2017
schedule.1.pay=100
schedule.1.rest=100
schedule.2.date=01.03.2017
schedule.2.pay=100
schedule.2.rest=0
В этом примере - мы передаем массив, состоящий из 3 элементов, каждый из которых содержит по 3 вложенных элемента. Включи вложенных массивов соединяются при помощи символа точка "."
В файле шаблона таблица должна будет выглядеть вот так:
Дата платежа | Сумма платежа | Сумма остатка |
{schedule._.date} | {schedule._.pay} | {schedule._.rest} |
Сервер печатных форм обнаружит переменную с включенной комбинацией символов ._. и определит количество строк в таблице исходя из количества записей в переданном массиве.
Запрос
httpCopyhttp://pdf.brainysoft.ru/files/fastmoney/add?secret=secret
templateId=123
data={"id": 11, "title": "russforttest",
"scope_lead": 1,"scope_client": 1,"scope_contract": 0, "scope_loanapp": 0, "scope_signatures": 0,"scope_depositContract": 0, "scope_shareContract": 0}
Описание параметров
Параметр | Обязателен | Тип данных | Описание |
customer_key | R | [string][150] | Код клиента в системе BrainySoft |
secret | R | [string][40] | sha1 хеш от конкатинации следующих переменных:
|
templateId | R | [int] | ID шаблона печатных форм |
data | R | [string][16500000+] | Одномерный массив переменных key=value в формате JSON. При необходимости передавать вложенные массивы необходимо сделать многоуровневый массив плоским, объединяя вложенные массивы с помощью точки в именах. |
Ответ
jsonCopy{
"status": "ok",
"timestamp": 1506933642000,
"data": "http://pf.dev/file/56b7e86230ee03124665c71a6d97e5e077"
}