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

Матеріал з Planfix
Перейти до: навігація, пошук

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

Формули

Щоб додати формулу до документа, використовуйте такий синтаксис: %%%FORMULA%%%.

ФОРМУЛА — це вираз для обчислення значення поля, так само як у обчислюваному полі.

Приклад:

%%%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 (number; "text1"; "text2";)

Залежно від обчисленого значення number функція вибирає один із двох параметрів. Параметри повинні бути вказані в суворому порядку згідно з алгоритмом.

Наприклад, потрібно відмінювати слово "dollar". Дотримуйтесь алгоритму:

Спочатку напишіть потрібне слово з числом 1:

  • 1 dollar

Це означає, що першим параметром у функції має бути слово "dollar" замість "text1".

Потім напишіть слово з числом 2:

  • 2 dollars

Це означає, що другим параметром у функції має бути слово "dollars" замість "text2".

Нарешті, можна вказати таку функцію PLURALFORM() у документі:

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

Функція NUMBERASWORDS

Це функція, яка повертає число словами. Записується лише ціла частина числа.

Формат:

NUMBERASWORDS(number; Output; "language")

Де:

  • number — число або формула
  • Output — визначає, як буде відображено числівник (від 0 до 6)
  • language — рядок, що вказує мову виводу. Якщо порожній (""), використовується мова користувача, який генерує документ.

Мови та їхні Output режими:

  • Англійська ("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(number; NumberOfDigitsAfterDecimal)

Наприклад, щоб вивести кількість центів для вартості послуги в документі, використовуйте таку функцію:

FRACTIONALPART(SUM({{DataTag.Service.Cost}}*{{DataTag.Service.Quantity}}); 2)

Ця функція відображає дві цифри після десяткової крапки:

  • 176.03 — функція повертає 3.
  • 15.15 — функція повертає 15.
  • 16.156 — функція округлює перші два десяткові знаки до 16.

Перейти