Функції в шаблонах документів: відмінності між версіями

Матеріал з Planfix
Перейти до: навігація, пошук
Немає опису редагування
Немає опису редагування
Рядок 25: Рядок 25:
*[[#Функція SUM|SUM()]]
*[[#Функція SUM|SUM()]]
*[[#Функция МНОЖЕСТВЕННОЕЧИСЛО|МНОЖИННЕЧИСЛО()]]
*[[#Функция МНОЖЕСТВЕННОЕЧИСЛО|МНОЖИННЕЧИСЛО()]]
*[[#Функция ЧИСЛОПРОПИСЬЮ|ЧИСЛОПРОПИСОМ()]]
*[[#Функция ЧИСЛОПРОПИСЬЮ|NUMBERASWORDS()]]
*[[#Функція FRACTIONALPART|FRACTIONALPART()]]
*[[#Функція FRACTIONALPART|FRACTIONALPART()]]


Рядок 82: Рядок 82:




== Функція ЧИСЛОПРОПИСОМ ==
== Функція NUMBERASWORDS ==
Функція, результатом якої буде число прописом. Для пропису береться тільки ціла частина числа.
Функція, результатом якої буде число прописом. Для пропису береться тільки ціла частина числа.




Формат:
Формат:
ЧИСЛОПРОПИСОМ(число; СпосібВиводу; "мова")
NUMBERASWORDS(число; СпосібВиводу; "мова")




Рядок 108: Рядок 108:


Наприклад, щоб відобразити в документі число прописом в чоловічому роді, використовуйте таку функцію:
Наприклад, щоб відобразити в документі число прописом в чоловічому роді, використовуйте таку функцію:
<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>ЧИСЛОПРОПИСОМ(СУМА({{Аналітика.Послуга.Вартість}}*{{Аналітика.Послуга.Кількість}}); 2; "ru")</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(SUM({{Аналітика.Послуга.Вартість}}*{{Аналітика.Послуга.Кількість}}); 2; "ru")</nowiki></div>





Версія за 13:35, 29 вересня 2023

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


Формули

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


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

Приклад:

%%%ТЕКСТ({{Аналітика.Послуга.Кількість}}*{{Аналітика.Послуга.Вартість}};".2f")%%%


У прикладі вище інформація з аналітики «Послуга» за допомогою відповідних змінних потрапляє в формулу. Значення перемножуються, і обчислюється значення загальної суми конкретної послуги або товару. А за допомогою функції ТЕКСТ() отримане значення форматується в зручний для читання вид у вигляді рядка тексту.


Функції

У формулі шаблону документів можна використовувати всі стандартні функції Planfix. При цьому є 4 функції, які працюють тільки в шаблонах документів Word і текстових блоках:


Функція SUM

SUM() — це функція, яка сумує всі значення, отримані при обчисленні формули. Вона застосовується для кожного елемента множинної змінної.

Наприклад, у вас є аналітика «Послуга», і ви хочете в документі порахувати повну вартість всіх послуг. Для цього в документі вкажіть функцію:

SUM({{Аналітика.Послуга.Вартість}})


Щоб отримати повну вартість наданих послуг, які можуть надаватися кілька разів, необхідно вартість помножити на кількість, потім все сумувати. В результаті в документі вкажіть таку формулу:

SUM({{Аналітика.Послуга.Вартість}}*{{Аналітика.Послуга.Кількість}})


Зверніть увагу, функція SUM() може містити всередині себе будь-яку формулу, що складається з функцій.


Функція МНОЖИННЕЧИСЛО

Використовується для відмінювання закінчення слова в залежності від числа, яке вказано перед ним в шаблоні документа.


Формат:

МНОЖИННЕЧИСЛО(число; "текст1"; "текст2"; "текст3")


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

Наприклад, вам потрібно просклонювати слово «гривня». Дійте за наступним алгоритмом.

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

  • 1 гривня
  • 21 гривня

Значить першим параметром в функції замість "текст1" треба вказати слово «гривня».


Потім просклоняйте те ж слово з числами 2 і 123:

  • 2 гривні
  • 123 гривні

Значить другим параметром в функції замість "текст2" треба вказати слово «гривні».


Потім просклоняйте потрібне слово з числами 25 і 111:

  • 25 гривень
  • 111 гривень

Значить третім параметром в функції замість "текст3" буде слово «гривень».


В результаті в документі можна вказати таку функцію МНОЖИННЕЧИСЛО():

МНОЖИННЕЧИСЛО(СУМА({{Аналітика.Послуга.Вартість}}*{{Аналітика.Послуга.Кількість}}); "гривня"; "гривні"; "гривень")


Функція NUMBERASWORDS

Функція, результатом якої буде число прописом. Для пропису береться тільки ціла частина числа.


Формат: NUMBERASWORDS(число; СпосібВиводу; "мова")


Де:

  • число — число або формула
  • СпосібВиводу:
    • 0 — звичайний вивід
    • 1 — прописом в жіночому роді
    • 2 — прописом в чоловічому роді
    • 3 — прописом в середньому роді
    • 4 — прописом з великої літери в жіночому роді
    • 5 — прописом з великої літери в чоловічому роді
    • 6 — прописом з великої літери в середньому роді
  • мова
    • ""(порожньо) — використовується мова користувача, який формує документ
    • "ru" — російська
    • "en" — англійська
    • "uk" — українська


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

NUMBERASWORDS(SUM({{Аналітика.Послуга.Вартість}}*{{Аналітика.Послуга.Кількість}}); 2; "ru")


Функція FRACTIONALPART

Відображає дробову частину числа з вказаною кількістю знаків після коми.


Формат: FRACTIONALPART (число; КількістьЗнаківПісляКоми)


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

FRACTIONALPART(SUM({{Аналітика.Послуга.Вартість}}*{{Аналітика.Послуга.Кількість}}); 2)


Функція відобразить 2 знаки після коми:

  • 176,03 — функція відобразить 3.
  • 15,15 — функція відобразить 15.
  • 16,156 — функція відрахує два знаки після коми, округлить отримане число і виведе 16.


Додатково


Перейти