Настройка
Параметры шаблона
При создании или редактировании шаблона необходимо указать его параметры.
Параметры шаблона состоят из:
После того как шаблон создан - кликните на нём в списке и отредактируйте его под ваш тип документов. Все изменения в файле будут применены сразу после закрытия окна.

При создании документа вы можете использовать подсказки из правой части, для подстановки нужных значений.
При клике на нужное поле - внизу появится корректная маска этого поля. Достаточно нажать на неё, чтобы скопировать в буфер обмена, а потом вставить в нужное место документа.
Все маски должны выделяться двойными фигурным скобками с двух сторон.
Фильтры
При настройке шаблона может потребоваться преобразовать или отформатировать данные перед подстановкой в документ, для этого можно использовать фильтры. Например:
{{service.leads.price|to_currency}}
Здесь при помощи фильтра to_currency число из бюджета сделки превращается в строку вида "одна тысяча пятьсот сорок два рубля 00 копеек".

Если необходимо одно и то же поле обработать несколькими правилами - фильтры могут быть соединены, например:
{{service.contact.name|replace:"-"," "|capitalize:"all"}}
Этим выражением в названии контакта заменяются дефисы на пробелы + каждое слово будет с большой буквы.

Полное описание допустимых фильтров - ниже:
format
форматирование объекта даты - работает с датами из блока дат, если они не были форматированы, синтаксис:
format:”{date_format}”
пример:
{{value|format:"%Y-%m-%d %H:%M:%S"}} -> 2024-02-20 13:39:01

timestamp
возвращает таймштамп объекта даты - работает с датами из блока дат, если они не были форматированы
пример:
{{value|timestamp}} -> 1740469797

isoformat
форматирование объекта даты по стандарту ISO8601 с точностью до микросекунд - работает с датами из блока дат, если они не были форматированы
пример:
{{value|isoformat}} -> 2025-02-25T07:50:47.330438+00:00

to_currency
возвращает сумму в валюте прописью, синтаксис:
to_currency:”{lang}”,”{currency}”
  • lang - код языка: ru (по-умолчанию), en
  • currency - код валюты: RUB (по-умолчанию), USD, EUR
пример (value = 20,01) :
{{value|to_currency}} - двадцать рублей 01 копейка
{{value|to_currency:"en","USD"}} - twenty dollars 01 cent

to_cardinal
возвращает целое число прописью, синтаксис:
to_cardinal:”{lang}” lang - код языка: ru (по-умолчанию), en
пример (value = 21 111) :
{{value|to_cardinal}} -> двадцать одна тысяча сто одиннадцать

to_ordinal
возвращает целое число прописью в числительном склонении, синтаксис:
to_cardinal:”{lang}” lang - код языка: ru (по-умолчанию), en
пример (value = 21 111):
{{value|to_ordinal}} -> двадцать одна тысяча сто одиннадцатый

fioshort
создаёт сокращение от ФИО (первое слово полностью, второе и третье - только первая буква)
пример (value = “Иванов Иван Иванович”) :
{{value|fioshort}} -> "Иванов И.И."

inflect
склонение слова, синтаксис:
inflect:”{падеж}”,”{числительное}”,”all”
inflect:”{числительное}”,”{падеж}”
inflect:”{падеж}”
inflect:”{числительное}”
возможные варианты падежей (можно использовать любой вариант из перечисленных):
  • 'именительный', 'nomn', 'им'
  • 'родительный', 'gent', 'род'
  • 'дательный', 'datv', 'дат'
  • 'винительный', 'accs', 'вин'
  • 'творительный', 'ablt', 'тв'
  • 'предложный', 'loct', 'пред'
  • 'звательный', 'voct', 'зват'
возможные варианты числительных (работает как левый вариант, так и правый):
  • 'единственное', 'ед', 'sing'
  • 'множественное', 'множ', 'plur'
all - если параметр присутствует, то строка будет разделена по пробелам и склонено каждое слово
пример (value = тест):
{{value|inflect:"дательный","множественное"}} -> тестам
{{value|inflect:"дат"}} -> тесту
{{value|inflect:"множ"}} -> тесты

capitalize
делает первый символ в верхнем регистре (если это возможно), все остальные в нижнем
capitalize:”param”
  • param - применить фильтр к каждому слову в строке (разделение будет по пробелам), по-умолчанию false. параметр срабатывает при значении “all” (или “a”).

пример (value = aSd oPu):
{{value|capitalize}} -> Asd opu
{{value|capitalize:"all"}} -> Asd Opu

lower
переводит все символы в нижний регистр
пример (value = aSd oPu):
{{value|lower}} -> asd opu

upper
переводит все символы в верхний регистр
пример (value = qWe1) :
{{value|upper}} -> QWE1

length
возвращает длину строки, массива или словаря
пример (value = 12345) :
{{value|length}} -> 5

split
разделяет строку на массив, синтаксис:
split:”{symbol}”
  • symbol - символы, по которым нужно сделать разделение (по-умолчанию - “,” запятая)
пример (value = qwe|asd) :
{{value|split:"|"}} -> ["qwe", "asd"]

join
объединяет массив строк по указанному разделителю, синтаксис:
join:”{symbol}”
  • symbol - символы, по которым нужно сделать разделение (по-умолчанию - “,” запятая)
пример (value = [“qwe”, “asd”]) :
{{value|join:"+"}} -> qwe+asd

reverse
изменяет порядок символов в строке или элементов в массиве на обратный
пример (value = qwerty) :
{{value|reverse}} -> ytrewq

substr
возвращает подстроку, синтаксис:
substr:”{from_symbol}”,{length}”
  • from_symbol - порядковый номер символа, от которого нужна подстрока (по-умолчанию - 0 )
  • length - длина подстроки (не обязательный параметр, если не указать, то подстрока будет до конца строки)
пример (value = qweOKasd) :
{{value|substr:"3","2"}} -> OK

slice
возвращает подмассив, синтаксис:
slice:”{from_element}”,{length}”
  • from_element - порядковый номер элемента массива, от которого нужен подмассив (по-умолчанию - 0 )
  • length - длина подмассива (не обязательный параметр, если не указать, то подмассив будет до конца массива)
пример (value = [1, 2, 3, 4, 5]) :
{{value|slice:"0","3"}} -> [1,2,3]

replace
заменяет символы в строке, синтаксис:
replace:”{match}”,”{new_symbols}”
  • match - символы, которые нужно заменить
  • new_symbols - символы, которые будут в новой строке
пример, value = a,b,c,d,e
{{value|replace:"\,","-"}} -> a-b-c-d-e

strip
обрезает слева и справа от строки указанные символы, синтаксис:
strip:”{symbols}”
symbols - символы, которые нужно обрезать (по-умолчанию “ “ - пробел)
пример (value = ,,,ABC…) :
{{value|strip:"\,."}} -> ABC

math
простейшие математические действия ( + - * / ), синтаксис:
math:”{value2}”,”{action}”
  • value2 - второе число для математической операции
  • action - математическая операция - одно из: + (плюс), - (минус), * (умножить), / (разделить)
пример (value = 1) :
{{value|math:"2","+"}} -> 3

summ
сложение (сокращение для math), синтаксис:
summ:”{value2}”
пример (value = 1) :
{{value|summ:"2"}} -> 3

subt
вычитание (сокращение для math), синтаксис:
subt:”{value2}”
пример (value = 2) :
{{value|subt:"1"}} -> 1

mult
умножение (сокращение для math), синтаксис:
mult:”{value2}”
пример (value = 3) :
{{value|mult:"2"}} -> 6

divs
деление (сокращение для math), синтаксис:
divs:”{value2}”
пример (value = 6) :
{{value|divs:"2"}} -> 3

prep
форматирование по указанному формату, синтаксис:
prep:”{format}”
format - формат новой строки, возможные варианты:
- .{n}f - (пример: .2f ) - округление дробного числа до n-знаков после запятой
- <{n} - (пример: <5 ) - добавление к строке пробелов справа, чтоб длина строки стала не меньше n
- >{n} - (пример: >5 ) - добавление к строке пробелов слева, чтоб длина строки стала не меньше n
- ^{n} - (пример: ^5 ) - добавление к строке слева и справа пробелов, чтоб старая строка была в середине новой и длинной не меньше n
- ={n} - (пример: =3 ) - длина числа будет не меньше n, знак “-” будет самым левым символом (остальное пробелы)
- +{n} - (пример: +6 ) - знак числа ( + или - ) будет всегда отображаться, слева число будет дополнено пробелами до суммарной длины n
- -{n} - (пример: -6 ) - число будет дополнено пробелами слева до суммарной длины n, только отрицательные числа будут со знаком ( - )
- “ {n}” - ({пробел}{n}) - (пример: “ 6” ) - длина числа будет не меньше n, слева число будет дополнено пробелами, положительные числа вместо знака получат дополнительный гарантированный пробел слева
- , - разделить число на порядки с использованием символа запятой ( 1234 → 1,234 )
- _ - разделить число на порядки с использованием символа подчёркивания

примеры:
value = 0.123456 {{value|format:".2f"}} -> "0.12"
value = "a" {{value|format:"<3"}} -> "a "
value = "a" {{value|format:">3"}} -> " a"
value = "a" {{value|format:"^3"}} -> " a "
value = -123 {{value|format:"=6"}} -> "- 123"
value = 123 {{value|format:"+6"}} -> " +123"
value = -123 {{value|format:"-6"}} -> " -123"
value = 123 {{value|format:" 3"}} -> " 123"
value = 12345 {{value|format:"\,"}} -> "12,345"
value = 12345 {{value|format:"_"}} -> "12_345"