Заполнение шаблона документа - общая информация
В системе RentRabbit есть ряд документов, которые генерируются в формате Word. На данный момент это договор, акт и транспортная накладная.
Для этих типов документов пользователи могут самостоятельно создавать шаблоны и генерировать документы в том виде, который им требуется.
Шаблоны настраиваются полностью, например, вы можете взять свой формальный договор в формате Word и указать специальным образом, какие данные куда нужно вставлять автоматически при генерации документа.
Как это сделать мы описываем в данной статье!
Общий принцип заполнения шаблонов
Чтобы указать системе, куда требуется подставить данные нужно вставлять специальные коды. Для разных документов список доступных кодов разный.
Пример:
В системе заполнен номер и дата договора, мы хотим чтобы они автоматически подставлялись при генерации договора.
В шаблоне договора указываем коды:
- Код номера договора - project.contract.number
- Код даты договора - project.contract.date
Система заменяет коды нужными значениями и мы получаем заполненный договор:
Структура кодов
Код пишется следующим образом
- Сначала ставится знак доллара $, при замене кода на значение, именно со знака доллара берется стиль - цвет текста, размер шрифта. тип шрифта и другие;
- Далее текстовая часть заключается в скобки { };
- Затем пишется путь до поля, разделителем выступает символ точки, путь всегда ведет от объекта документа в целом до конечного нужного поля.
Например project.contract.number ведет из объекта документа в целом к объекту проекта, в нем к объекту договора и в нем к полю номера; - Далее в зависимости от типа кода, можно указать формат, в котором нужно вывести данные. Например, есть поле типа сумма денег - sum, можно указать формат .cents и будут выведены только копейки.
Типы кодов
Дата - глобальный момент времени, выводится согласно часовому поясу клиента - в Москве будет одно время, на Бали другое. Доступно множество форматов для красивого вывода даты и/или времени;
Строка - просто текстовая строка, например номер договора.
Сумма денег - сумма денег, доступны различные форматы вывода: с копейками, без копеек, прописью и другие;
Число с дробной частью - нецелое число, например 0.5 смены или скидка в 33.33 процента;
Локальная дата - дата записанная просто как фиксированная строка, например дата договора. Она просто хранит номер года и дня, часовой пояс клиента никак не влияет на нее. Форматы вывода доступны те же что и для обычной даты.
ФИО - фамилия, имя и отчество. Доступны форматы с инициалами, полным написанием, отдельно фамилией другие;
Объекты
Коды могут вести к полям объектов которые встречаются много раз, например есть объект с реквизитами legalDetails, он может быть в объекте арендатора renter.legalDetails либо в объекте компании businessAccount.legalDetails.
Основные объекты в системе
Реквизиты legalDetails
Контакт contactPerson (основной контакт)
Арендатор renter
Аккаунт компании businessAccount