Функции в шаблонах документов: различия между версиями
Artem (обсуждение | вклад) Нет описания правки |
Artem (обсуждение | вклад) Нет описания правки |
||
Строка 9: | Строка 9: | ||
== Формулы == | == Формулы == | ||
Для того, чтобы добавить формулу в документ, используйте следующий синтаксис: <nowiki> | Для того, чтобы добавить формулу в документ, используйте следующий синтаксис: '''<nowiki>%%%ФОРМУЛА%%%</nowiki>'''. | ||
Версия от 09:18, 28 апреля 2022
При автоматическом формировании документов по шаблонам могут применяться функции. Они упрощают отображение различных данных в документе, например: автоматический вывод суммы прописью, склонение окончания слов при подсчете денежных единиц или вычисление стоимости заказа с помощью формул.
Формулы
Для того, чтобы добавить формулу в документ, используйте следующий синтаксис: %%%ФОРМУЛА%%%.
ФОРМУЛА — это выражение для вычисления значения поля, такое же как и в вычисляемом поле.
Пример:
%%%ТЕКСТ({{Аналитика.Услуга.Количество}}*{{Аналитика.Услуга.Стоимость}};".2f")%%%
В примере выше информация из аналитики «Услуга» с помощью соответствующих переменных попадает в формулу. Значения перемножаются, и вычисляется значение общей суммы конкретной услуги или товара. А с помощью функции ТЕКСТ() полученное значение приводится в удобочитаемый вид в виде строки текста.
Функции
Перечень функций, которые можно использовать для формирования шаблонов документов:
Функция СУММА
СУММА() — это множащаяся переменная. Например, у вас есть аналитика «Услуга», и вы хотите в документе посчитать полную стоимость всех услуг. Для этого в документе укажите функцию:
Сумма({{Аналитика.Услуга.Стоимость}})
Для того, чтобы получить полную стоимость оказанных услуг, которые могут предоставляться несколько раз, необходимо стоимость умножить на количество, затем всё суммировать. В итоге в документе укажите такую формулу:
СУММА({{Аналитика.Услуга.Стоимость}}*{{Аналитика.Услуга.Количество}})
Обратите внимание, функция СУММА() может содержать внутри себя любую формулу, состоящую из функций.
Функция МНОЖЕСТВЕННОЕЧИСЛО
Используется для склонения окончания слова в зависимости от числа, которое указано перед ним в шаблоне документа.
Формат:
МНОЖЕСТВЕННОЕЧИСЛО(число; "текст1"; "текст2"; "текст3")
В зависимости от вычисленного значения числа функция подберет один из трёх параметров. Параметры необходимо указать в строгой последовательности, которая подбирается по алгоритму.
Например, вам необходимо просклонять слово «рубль». Действуйте по следующему алгоритму.
Сначала просклоняйте нужное слово с числами 1 и 21:
- 1 рубль
- 21 рубль
Значит первым параметром в функции вместо "текст1" надо указать слово «рубль».
Затем просклоняйте то же слово с числами 2 и 123:
- 2 рубля
- 123 рубля
Значит вторым параметром в функции вместо "текст2" надо указать слово «рубля».
Потом просклоняйте нужное слово с числами 25 и 111:
- 25 рублей
- 111 рублей
Значит третьим параметром в функции вместо "текст3" будет слово «рублей».
В итоге в документе можно указать такую функцию МНОЖЕСТВЕННОЕЧИСЛО():
Функция ЧИСЛОПРОПИСЬЮ
Отображает в документе число в виде текста.
Формат:
ЧИСЛОПРОПИСЬЮ(число; СпособВывода; "язык")
Где:
- число — целая часть числа
- СпособВывода:
- 0 — обычный вывод
- 1 — прописью в женском роде
- 2 — прописью в мужском роде
- 3 — прописью в среднем роде
- 4 — прописью с заглавной в женском роде
- 5 — прописью с заглавной в мужском роде
- 6 — прописью с заглавной в среднем роде
- язык
- ""(пусто) — используется язык пользователя, который формирует документ
- "ru" — русский
- "en" — английский
- "uk" — украинский
Например, чтобы отобразить в документе число прописью в мужском роде, используйте такую функцию:
Функция ДРОБНАЯЧАСТЬ
Отображает дробную часть числа с указанным количеством знаков после запятой.
Формат:
ДРОБНАЯЧАСТЬ(число; КоличествоЗнаковПослеЗапятой)
Например, чтобы вывести в документе значение копеек для суммы услуги, воспользуйтесь такой функцией:
Функция отобразит 2 знака после запятой:
- 176,03 — функция отобразит 3.
- 15,15 — функция отобразит 15.
- 16,156 — функция отсчитает два знака после запятой, округлит полученное число и выведет 16.