Функции в шаблонах документов
Функции можно использовать для автоматического форматирования документов с помощью шаблонов. Они упрощают отображение данных в документах. Например, с помощью формул можно автоматически записывать числа словами или рассчитывать стоимость заказа.
Формулы
Чтобы добавить формулу в документ, используйте следующий синтаксис: %%%ФОРМУЛА%%%.
ФОРМУЛА — это выражение для расчета значения поля, как в вычисляемом поле.
Пример:
В примере данные из аналитики «Service» добавлены в формулу с помощью соответствующих переменных. Два значения перемножаются, и результат становится значением общей стоимости конкретной услуги или товара. Функция TEXT() форматирует значение в виде удобного для чтения текста.
Важно
Например:
- Формулы нужно записывать в одну строку: их нельзя разделять нажатием Enter. Чтобы добавить перенос строки, используйте последовательность "\n".
- Без переноса строки
- %%%IF({{Datatag.Service calculation.Service}}=""; ""; {{Datatag.Service calculation.Service}} + " - " + {{Datatag.Service calculation.Quantity}} + " " + {{Datatag.Service calculation."Unit"}} + " (" + {{Datatag.Service calculation.Comment}} + ")" )%%%
- С переносом строки
- %%%IF({{Datatag.Service calculation.Service}}=""; ""; {{Datatag.Service calculation.Service}} + " - " + {{atatag.Service calculation.Quantity}} + " " + {{{Datatag.Service calculation."Unit"}} + "\n (" + {{Datatag.Service calculation.Comment}} + ")" )%%%
- Переменные в формуле нельзя форматировать, например, выделять жирным шрифтом или курсивом.
- Чтобы результат формулы отображался жирным шрифтом, примените форматирование ко всей формуле, включая символы процентов.
Функции
Все функции, доступные в формулах шаблонов документов:
Функция SUM
SUM() — функция, которая суммирует все значения, полученные при расчете формулы. Она применяется к каждому элементу переменной, содержащей несколько значений.
Например, у вас есть аналитика «Service» и вы хотите рассчитать общую стоимость всех услуг в документе. Для этого используйте следующую функцию:
SUM({{DataTag.Service.Cost}})
Чтобы получить общую стоимость оказанных услуг, нужно умножить стоимость услуги на количество заказанных единиц. Используйте в документе следующую формулу:
SUM({{DataTag.Service.Cost}}*{{DataTag.Service.Quantity}}))
Обратите внимание: функция SUM() может содержать любую формулу, составленную из функций.
Функция PLURALFORM
Используется, чтобы добавлять к слову окончание или изменять само слово, если оно является исключением, в зависимости от указанного перед ним числа в шаблоне документа.
Формат:
PLURALFORM (число; "текст1"; "текст2";)
В зависимости от вычисленного значения числа функция выбирает один из двух параметров. Параметры нужно указывать строго в соответствии с алгоритмом.
Например, нужно просклонять слово «dollar». Следуйте алгоритму:
Сначала укажите нужное слово с числом 1:
- 1 dollar
Это значит, что первым параметром функции должно быть слово «dollar» вместо «text1».
Затем укажите слово с числом 2:
- 2 dollars
Это значит, что вторым параметром функции должно быть слово «dollars» вместо «text2».
После этого в документе можно использовать функцию PLURALFORM():
Функция NUMBERASWORDS
Функция записывает число словами. Словами записывается только целая часть числа.
Формат:
NUMBERASWORDS(число; формат; "язык")
Где:
- число — число или формула
- формат — определяет, как будет отображаться числительное (от 0 до 6)
- язык — строка, которая задает язык вывода. Если оставить ее пустой (""), будет использоваться язык пользователя, который формирует документ.
Языки и соответствующие им способы вывода:
- Английский ("en")
- 0–3 — по умолчанию (количественное числительное)
- 4–6 — с заглавной буквы
- Немецкий ("de")
- 0 — по умолчанию (без указания рода)
- 1 — женский род
- 2 — мужской род
- 3 — средний род
- 4 — женский род, с заглавной буквы
- 5 — мужской род, с заглавной буквы
- 6 — средний род, с заглавной буквы
- Французский ("fr")
- 0 — по умолчанию (количественное числительное)
- 1 — женский род
- 2 — мужской род
- 4 — женский род, с заглавной буквы
- 5 — мужской род, с заглавной буквы
Например, чтобы записать число словами в документе, используйте следующую функцию:
NUMBERASWORDS(SUM({{DataTag.Service.Cost}}*{{DataTag.Service.Quantity}}); 2; "en")
Функция FRACTIONALPART
Функция отображает дробную часть числа. Можно указать, сколько цифр после десятичного разделителя нужно вывести.
Формат:
FRACTIONALPART(число; количествоЦифрПослеРазделителя)
Например, чтобы вывести количество центов в стоимости услуги в документе, используйте следующую функцию:
FRACTIONALPART(SUM({{DataTag.Service.Cost}}*{{DataTag.Service.Quantity}}); 2)
Функция отображает две цифры после десятичного разделителя:
- 176.03 — функция возвращает 3.
- 15.15 — функция возвращает 15.
- 16.156 — функция округляет число до двух знаков после десятичного разделителя и возвращает 16.