Функції в шаблонах документів: відмінності між версіями
Aliona (обговорення | внесок) Немає опису редагування |
Немає опису редагування |
||
| (Не показана 1 проміжна версія ще одного користувача) | |||
| Рядок 2: | Рядок 2: | ||
|title=Функції в шаблонах документів | |title=Функції в шаблонах документів | ||
|titlemode=append | |titlemode=append | ||
|keywords= | |keywords=Planfix, документ, шаблони, документи | ||
|description=Функції в шаблонах документів | |description=Функції в шаблонах документів | ||
}} | }} | ||
Функції можна використовувати при автоматичному форматуванні [[Шаблони документів|документів]] за допомогою шаблонів. Функції спрощують спосіб відображення даних у ваших документах. Наприклад, ви можете використовувати формули, щоб автоматично відображати числа словами або обчислювати вартість замовлення. | |||
== Формули == | == Формули == | ||
Щоб додати формулу | Щоб додати формулу до документа, використовуйте такий синтаксис: %%%'''FORMULA'''%%%. | ||
'''ФОРМУЛА''' — це вираз для обчислення значення поля, | '''ФОРМУЛА''' — це вираз для обчислення значення поля, так само як у [[Обчислювані поля|обчислюваному полі]]. | ||
Приклад: | Приклад: | ||
<div style="display: block; padding: 1em; margin: 0 0 10px; font-size: 13px; line-height: 1.65; color: black; word-wrap: break-word; background-color: #f9f9f9; border: 1px solid #ddd; border-radius: 4px;"><nowiki>%%%TEXT({{ | <div style="display: block; padding: 1em; margin: 0 0 10px; font-size: 13px; line-height: 1.65; color: black; word-wrap: break-word; background-color: #f9f9f9; border: 1px solid #ddd; border-radius: 4px;"><nowiki>%%%TEXT({{DataTag.Service.Quantity}}*{{DataTag.Service.Cost}};".2f")%%%</nowiki></div> | ||
У наведеному вище прикладі дані з аналітики "Service" додаються до формули за допомогою відповідних змінних. Два значення перемножуються, і результат — це вартість конкретної послуги або товару. Функція [[Функція TEXT|TEXT()]] форматує значення як зручний для читання рядок. | |||
== Важливо == | |||
Наприклад: | |||
*Формули мають бути записані в одному рядку й не можуть бути розбиті натисканням Enter. Якщо потрібно вставити перенесення рядка, використовуйте послідовність "\n". | |||
:*Без перенесення рядка | |||
:<div style="display: block; padding: 1em; margin: 0 0 10px; font-size: 13px; line-height: 1.65; color: black; word-wrap: break-word; background-color: #f9f9f9; border: 1px solid #ddd; border-radius: 4px;"><nowiki> | |||
%%%IF({{Datatag.Service calculation.Service}}=""; ""; {{Datatag.Service calculation.Service}} + " - " + {{Datatag.Service calculation.Quantity}} + " " + {{Datatag.Service calculation."Unit"}} + " (" + {{Datatag.Service calculation.Comment}} + ")" )%%% | |||
</nowiki> | |||
</div> | |||
:*З перенесенням рядка | |||
:<div style="display: block; padding: 1em; margin: 0 0 10px; font-size: 13px; line-height: 1.65; color: black; word-wrap: break-word; background-color: #f9f9f9; border: 1px solid #ddd; border-radius: 4px;"><nowiki>%%%IF({{Datatag.Service calculation.Service}}=""; ""; {{Datatag.Service calculation.Service}} + " - " + {{atatag.Service calculation.Quantity}} + " " + {{{Datatag.Service calculation."Unit"}} + "</nowiki><span style="color:red;">\n</span> <nowiki>(" + {{Datatag.Service calculation.Comment}} + ")" )%%%</nowiki></div> | |||
*Змінні у формулі не можна форматувати (наприклад, жирним або курсивом). | |||
*Якщо ви хочете, щоб результат формули відображався жирним, застосуйте форматування до всієї формули, включно з процентними символами. | |||
== Функції == | == Функції == | ||
Усі функції, доступні у формулах шаблонів документів: | |||
*[[# | *[[#The SUM function| SUM()]] | ||
*[[# | *[[#The PLURALFORM Function| PLURALFORM()]] | ||
*[[# | *[[#The NUMBERASWORDS function|NUMBERASWORDS()]] | ||
*[[# | *[[#The FRACTIONALPART function|FRACTIONALPART()]] | ||
== Функція SUM == | == Функція SUM == | ||
'''SUM()''' — це функція, яка | '''SUM()''' — це функція, яка підсумовує всі значення, отримані при обчисленні формули. Вона застосовується до кожного елемента множильної змінної. | ||
Наприклад, у вас є аналітика | Наприклад, у вас є аналітика "Service", і ви хочете розрахувати загальну вартість усіх послуг у документі. Використовуйте таку функцію: | ||
<nowiki>SUM({{DataTag.Service.Cost}})</nowiki> | |||
<nowiki>SUM({{ | Щоб отримати загальну вартість наданих послуг, потрібно помножити вартість послуги на кількість її замовлень. Ось формула, яку слід використовувати в документі: | ||
<nowiki>SUM({{DataTag.Service.Cost}}*{{DataTag.Service.Quantity}}))</nowiki> | |||
Зауважте, що в SUM() може міститися будь-яка формула, складена з функцій. | |||
== Функція PLURALFORM == | |||
Використовується для додавання суфікса до слова або заміні самого слова, якщо це неправильна форма іменника, залежно від числа, вказаного перед ним у шаблоні документа. | |||
== Функція | |||
Використовується для | |||
Формат: | Формат: | ||
PLURALFORM (number; "text1"; "text2";) | |||
Залежно від обчисленого значення number функція вибирає один із двох параметрів. Параметри повинні бути вказані в суворому порядку згідно з алгоритмом. | |||
Наприклад, потрібно відмінювати слово "dollar". Дотримуйтесь алгоритму: | |||
Спочатку напишіть потрібне слово з числом 1: | |||
*1 dollar | |||
Це означає, що першим параметром у функції має бути слово "dollar" замість "text1". | |||
Потім напишіть слово з числом 2: | |||
*2 dollars | |||
Це означає, що другим параметром у функції має бути слово "dollars" замість "text2". | |||
Нарешті, можна вказати таку функцію PLURALFORM() у документі: <div style="display: block; padding: 1em; margin: 0 0 10px; font-size: 13px; line-height: 1.65; color: black; word-wrap: break-word; background-color: #f9f9f9; border: 1px solid #ddd; border-radius: 4px;"><nowiki>PLURALFORM(SUM({{Datatag.Service.Cost}}*{{Datatag.Service.Quantity}}); "dollar"; "dollars")</nowiki></div> | |||
<div style="display: block; padding: 1em; margin: 0 0 10px; font-size: 13px; line-height: 1.65; color: black; word-wrap: break-word; background-color: #f9f9f9; border: 1px solid #ddd; border-radius: 4px;"><nowiki> | |||
== Функція NUMBERASWORDS == | |||
Це функція, яка повертає число словами. Записується лише ціла частина числа. | |||
Формат: | Формат: | ||
NUMBERASWORDS( | NUMBERASWORDS(number; Output; "language") | ||
Де: | |||
*'''number''' — число або формула | |||
*'''Output''' — визначає, як буде відображено числівник (від 0 до 6) | |||
*'''language''' — рядок, що вказує мову виводу. Якщо порожній (""), використовується мова користувача, який генерує документ. | |||
'''Мови''' та їхні '''Output''' режими: | |||
*Англійська ("en") | |||
**0-3 — за замовчуванням (кількісний числівник) | |||
* | **4-6 — за замовчуванням з капіталізацією | ||
**3 — | |||
**4 | |||
*Німецька ("de") | |||
**0 — за замовчуванням (нейтрально за родом) | |||
**1 — запис у жіночому роді | |||
**2 — запис у чоловічому роді | |||
**3 — запис у середньому роді | |||
**4 — з капіталізацією, жіночий рід | |||
**5 — з капіталізацією, чоловічий рід | |||
**6 — з капіталізацією, середній рід | |||
*Французька ("fr") | |||
**0 — за замовчуванням (кількісний числівник) | |||
**1 — запис у жіночому роді | |||
**2 — запис у чоловічому роді | |||
**4 — з капіталізацією, жіночий рід | |||
**5 — з капіталізацією, чоловічий рід | |||
Наприклад, щоб відобразити число словами в документі, використайте таку функцію: | |||
<nowiki>NUMBERASWORDS(SUM({{DataTag.Service.Cost}}*{{DataTag.Service.Quantity}}); 2; "en")</nowiki> | |||
== Функція FRACTIONALPART == | == Функція FRACTIONALPART == | ||
Ця функція відображає дробову частину числа. Ви можете вказати кількість цифр після десяткової крапки, які потрібно показати. | |||
Формат: | Формат: | ||
<nowiki>FRACTIONALPART(number; NumberOfDigitsAfterDecimal)</nowiki> | |||
Наприклад, щоб вивести кількість центів для вартості послуги в документі, використовуйте таку функцію: | |||
* | <nowiki>FRACTIONALPART(SUM({{DataTag.Service.Cost}}*{{DataTag.Service.Quantity}}); 2)</nowiki> | ||
Ця функція відображає дві цифри після десяткової крапки: | |||
*176.03 — функція повертає 3. | |||
*15.15 — функція повертає 15. | |||
*16.156 — функція округлює перші два десяткові знаки до 16. | |||
== Перейти == | == Перейти == | ||
*[[Шаблони документів]] | *[[Шаблони документів]] | ||
*[[ | *[[Функції]] | ||
*[[Опис можливостей]] | |||
Поточна версія на 01:46, 1 грудня 2025
Функції можна використовувати при автоматичному форматуванні документів за допомогою шаблонів. Функції спрощують спосіб відображення даних у ваших документах. Наприклад, ви можете використовувати формули, щоб автоматично відображати числа словами або обчислювати вартість замовлення.
Формули
Щоб додати формулу до документа, використовуйте такий синтаксис: %%%FORMULA%%%.
ФОРМУЛА — це вираз для обчислення значення поля, так само як у обчислюваному полі.
Приклад:
У наведеному вище прикладі дані з аналітики "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() у документі:
Функція 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.