Перейти к содержимому

Функции в шаблонах документов

Функции можно использовать для автоматического форматирования документов с помощью шаблонов. Они упрощают отображение данных в документах. Например, с помощью формул можно автоматически записывать числа словами или рассчитывать стоимость заказа.

Формулы

Чтобы добавить формулу в документ, используйте следующий синтаксис: %%%ФОРМУЛА%%%.

ФОРМУЛА — это выражение для расчета значения поля, как в вычисляемом поле.

Пример:

%%%TEXT({{DataTag.Service.Quantity}}*{{DataTag.Service.Cost}};".2f")%%%


В примере данные из аналитики «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():

PLURALFORM(SUM({{Datatag.Service.Cost}}*{{Datatag.Service.Quantity}}); "dollar"; "dollars")

Функция 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.


Перейти