- Print
- DarkLight
- PDF
Операторы, методы и функции
Арифметические операторы
Арифметические операторы используются в формуле для выполнения арифметических операций, таких как сложение, вычитание, умножение, деление и нахождения остатка от деления. Эти операции могут быть унарными (участвует одна переменная) и бинарными (участвуют 2 и более переменные).
В арифметических операциях используются как целые числа, так и числа с плавающей запятой (дробное число).
Оператор | Пример | Пояснение | |
+ | Сложение | ID1 | Унарная операция, сохраняющая значение выбранной переменной |
ID1 + ID2 | Бинарная операция нахождения суммы двух переменных | ||
- | Вычитание | -ID1 | Унарная операция, делающая из положительного значения отрицательное, и наоборот |
ID1 - ID2 | Бинарная операция нахождения разности двух переменных | ||
* | Умножение | ID1 * ID2 | Бинарная операция нахождения произведения двух переменных |
/ | Деление | DI1 / ID2 | Бинарная операция деления двух переменных |
% | Остаток от деления | ID1 % ID2 | Бинарная операция нахождения остатка от деления |
((ID1 + ID2) * (ID3 - ID4)) / ID5
Логические операторы
Логические операторы используются только для условий и ответов на вопрос и позволяют составить логическое выражение для определения истинности (true) или ложности (false) высказываний.
Оператор | Пример | Пояснение | |
! | Унарный оператор логического отрицания | !ID1 | Результат будет истинным, если не выбран вариант ответа с идентификатором ID1 |
& | Бинарное логическое И | ID1 & ID2 | Результат будет истинным, если выбраны оба ответа ответа: ID1 и ID2 |
| | Бинарное логическое ИЛИ | ID1 | ID2 | Результат будет истинным, если выбран ответ ID1 или ID2, либо выбраны оба ответа |
|| | Бинарное исключающее ИЛИ | ID1 || ID2 | Результат будет истинным, если выбран только ID1 или только ID2, но не оба |
Рассмотрим более сложный пример.
Например, необходимо, чтобы условие контролировалось, если выбраны сразу два ответа: ID1 и ID2, или если не выбран ответ 5 (ID5). Формула будет выглядеть следующим образом:
Мы выполнили первое условие в скобках и через знак |(или) проставили отрицание ID5.
Операторы равенства и неравенства
Операторы позволяют сравнивать между собой переменные, возвращающее значение true, если они равны, и значение false, если они не равны.
Оператор | Примеры | Пояснение | |
== | Оператор равенства | ID1 == ID2 | Результат будет истинным, если значения функций ID1 и ID2 равны. |
ID1 == 1 | Результат будет истинным, если значение переменной ID1 равно значению 1 | ||
ID1 == "Hello, World!" | Результат будет истинным, если значение переменной ID1 равно "Hello, World!" | ||
ID1 == "" | Результат будет истинным, если переменная ID1 является пустой строкой | ||
ID1 == null | Результат будет истинным, если переменная ID1 не содержит символов | ||
Оператор | Примеры | Пояснение | |
!= | Оператор неравенства | ID1 != ID2 | Результат будет истинным, если значения переменных ID1 и ID2 не равны |
ID1 != 1 | Результат будет истинным, если значение переменной ID1 не равно числу 1 | ||
ID1 != "Hello, World!" | Результат будет истинным, если значение переменной ID1 не равно значению "Hello, World!" | ||
ID1 != "" | Результат будет истинным, если переменная ID1 не является пустой строкой | ||
ID1 != null | Результат будет истинным, если переменная ID1 содержит символы |
Операторы сравнения
Оператор | Пример | Пояснение | |
> | Больше чем | ID1 > ID2 | Результат будет истинным, если значение переменной ID1 больше значения переменной ID2 |
< | Меньше чем | ID1 < ID2 | Результат будет истинным, если значение переменной ID1 меньше значения переменной ID2 |
>= | Больше или равно | ID1 >= ID2 | Результат будет истинным, если значение переменной ID1 больше или равно значению переменной ID2 |
<= | Меньше или равно | ID1 <= ID2 | Результат будет истинным, если значение переменной ID1 больше или равно значению переменной ID2 |
Тернарный оператор
Тернарный условный оператор (?:) вычисляет логическое выражение и возвращает результат вычисления одного из двух выражений в зависимости от того, выполняется условие или нет.
Записывается оператор следующим образом:
Условие - само условие, которое проверяется,
Следствие - действие, если условие выполняется,
Альтернатива - действие, если условие не выполняется.
Например, в зависимости от ответа на вопрос "Учитывается ли НДС при расчете?" должен выставиться % НДС: 20 или 0. ID1 - идентификатор ответа "Да, учитывается":
Если ID1, то 20, иначе 0
Методы и функции для работы с мультипликатором
Мультипликатор создает так называемые реплики (копии).
Метод | Пример | Пояснение | |
.getCount | Подсчет количества реплик мультипликатора. Результатом будет являться число | формула : ID1.getCount() элемент схемы для вставки формулы: числовая переменная - ID1 – идентификатор мультипликатора | Количество репликатора мультипликатора ID1 |
формула : ID1.getCount() - ID1 – идентификатор 1-ого мультипликатора - ID2 – идентификатор 2-ого мультипликатора | Создание реплик у 2-ого мультипликатора с помощью 1-ого мультипликатора | ||
.getPosition() | Метод возращает индекс текущей реплики. Исчисление начинается с 0, но с помощью арифметических операций можно менять как начальное значение индекса, так и шаг | формула : ID1.getPosition() - ID1 – идентификатор мультипликатора | Каждая новая реплика с шагом в 1. Исчисление начинается с 0 Результат: 0, 1, 2, 3, 4 ... n |
формула : 1 + ID1.getPosition() - ID1 – идентификатор мультипликатора | Каждая новая реплика с шагом в 1. Исчисление начинается с 1 Результат: 1, 2, 3, 4, 5 ... n | ||
формула : 100 * ID1.getPosition() - ID1 – идентификатор мультипликатора | Каждая новая реплика с шагом в 100. Исчисление начинается с 0 Результат: 0, 100, 200, 300, 400 ... n | ||
Пример использования в вычисляемом мультипликаторе можно посмотреть в статье. | |||
.min() | Выбор минимального значения переменной в мультипликаторе. Результатом является минимальное значение | формула : ID1.min("ID5") - ID1 - идентификатор мультипликатора - ID5 - переменная в мультипликаторе | Наименьшее значение переменной ID5 в мультипликаторе ID1 |
.max() | Выбор максимального значения переменной в мультипликаторе. Результатом является максимальное значение | формула : ID1.max("ID5") - ID1 - идентификатор мультипликатора - ID5 - переменная в мультипликаторе | Наибольшее значение переменной ID5 в мультипликаторе ID1 |
.sum() | Подсчет суммы по переменной в мультипликаторе | формула : ID1.sum("ID5") - ID1 - идентификатор мультипликатора - ID5 - переменная в мультипликаторе | Сумма всех реплик переменной ID5 в мультипликаторе ID1 |
.product() | Вычисление произведения всех значений переменной в мультипликаторе | формула : ID1.product("ID5") - ID1 - мультипликатор идентификатора - ID5 - переменная в мультипликаторе | Произведение всех значений переменной ID5 в мультипликаторе ID1 |
.average() | Подсчет среднего значения по переменной в мультипликаторе. Результатом метода будет среднее значение | формула : ID1.average("ID5") - ID1 - идентификатор мультипликатора - ID5 - переменная в мультипликаторе | Среднее значение по переменной ID5 в мультипликаторе ID1 |
.containsString() .containsNumber() .containsBoolean() | Поиск наличия определенного значения в переменной мультипликатора. Результатом работы метода будет true/false | формула для текстового значения : ID1.containsString("ID5", "яблоко") формула для числового значения: ID1.containsNumber("ID5", 100) формула для логического значения : ID1.containsBoolean("ID5", true) - ID1 - идентификатор мультипликатора - ID5 - переменная в мультипликаторе - второе значение в скобках после запятой - искомое значение, по которому проходит проверка | Если в любой реплике переменной ID5 найдено второе значение, которое указано в скобках после запятой, то возвращается значение true, в противном случае - false |
Методы и функции для работы с датами
Метод | Описание | Входные данные — Результат |
.addDay(n) .addMonth(n) .addYear(n) | Добавление n-дней/месяцев/годов к дате | ID1 = 8.08.2022 (понедельник) ID1.addDay(2) — 10.08.2022 ID1.addMonth(2) — 08.10.2022 ID1.addYear(2) — 08.08.2024 |
.getMonthName() .getMonthShortName() | Получение полного наименования месяца Получение сокращенного наименования месяца | ID1 = 8.08.2022 (понедельник) ID1.getMonthName() — Август ID1.getMonthShortName() — Авг |
.getDayName() .getDayShortName() | Получение полного наименования дня недели Получение сокращенного наименования дня недели | ID1 = 8.08.2022 (понедельник) ID1.getDayName() — Понедельник ID1.getDayShortName() — Пн |
.getDayOfWeek() | Получение номера дня недели (исчисление начинается с 0) | ID1 = 8.08.2022 (понедельник) ID1.getDayOfWeek() — 0 |
.getFirstDateOfWeek() | Получение даты понедельника текущей недели | ID1 = 8.08.2022 (понедельник) ID1.getFirstDayOfWeek() — Пн 08 авг 2022 14:17:50 GMT+0300 (Москва, стандартное время) |
.isLeapYear() | Определение високосного года. Возвращает значение true/false | ID1 = 8.08.2022 (понедельник) ID1.isLeapYear() — false |
.getFirstDayOfMonth() .getLastDayOfMonth() | Получение номера для недели, с которого начинается/каким заканчивается месяц | ID1 = 8.08.2022 (понедельник) ID1.getFirstDayOfMonth() — 0 ID1.getLastDayOfMonth() — 3 |
.getFirstDateOfMonth() .getLastDateOfMonth() | Получение первой/последней даты месяца в формате «Чт, 30 июня 2022, 00:00:00 GMT+0300 (Москва, стандартное время)» | ID1 = 8.08.2022 (понедельник) ID1.getFirstDateOfMonth() — Пн 01 авг 2022 00:00:00 GMT+0300 (Москва, стандартное время) ID1.getLastDateOfMonth() — Ср, 31 авг. 2022 00:00:00 GMT+0300 (Москва, стандартное время) |
.getFirstDateOfQuarter() | Получение первой даты в квартале в формате "Пт 01 апреля 2022 00:00:00 GMT+0300 (Москва, стандартное время)" | ID1 = 8.08.2022 (понедельник) ID1.getFirstDateOfQuarter() — Пт, 01 июля 2022 00:00:00 GMT+0300 (Москва, стандартное время) |
.getFirstDateOfHalfYear() | Получение первой даты в полугодии в формате "Пт 01 апреля 2022 00:00:00 GMT+0300 (Москва, стандартное время)" | ID1 = 8.08.2022 (понедельник) ID1.getFirstDateOfHalfYear() — Пт, 01 июля 2022 00:00:00 GMT+0300 (Москва, стандартное время) |
.getDaysInMonth() | Получение количества дней в месяце | ID1 = 8.08.2022 (понедельник) ID1.getDaysInMonth() — 31 |
.toISOString() | Даты получения в формате ISO | ID1 = 8.08.2022 (понедельник) ID1.toISOString() — 2022-08-08T14:17:50.529+03:00 |
.truncMonth() .truncYear() | Урезание даты до начала месяца/года | ID1 = 26.11.2022 (суббота) ID1.truncMonth() — 01.11.2022 ID1.truncYear() — 01.01.2022 |
.diffDays() | Расчет разницы между датами. Результатом формулы будет количество число — количество дней | ID1 = 26.11.2022 (суббота) ID2 = 29.11.2022 (вторник) ID2.diffDays(ID1) — 3 Из даты ID2 будет отниматься дата ID1. Если ID2 меньше, то значение будет отрицательным |
.daysBetween() .hoursBetween() .minutesBetween() .secondsBetween() | Расчет разницы между датами. Результатом формул будет число — количество дней/часов/минут/секунд | ID1 = 26.11.2022 (суббота) ID2 = 29.11.2022 (вторник) ID2.daysBetween(ID1) = 3 ID2.hoursBetween(ID1) =72 ID2.minutesBetween(ID1) =4 323 ID2.secondsBetween(ID1) =259 425 Из первой даты будет отниматься вторая. Если первая дата меньше, то значение будет отрицательным |
.getYear() | Получение значения года. Результатом будет число, равное году | ID1 = 26.11.2022 (суббота) ID1.getYear() = 2022 |
.setYear() | Установка значения года | ID1 = 26.11.2022 (суббота) ID1.setYear(2025) = 26.11.2025 |
Date.today().truncDay() | Возвращает текущую дату | Date.today().truncDay() — текущая дата |
Методы и функции для работы с текстовыми переменными
Метод | Пример — Результат | |
.getLength() | Нахождение длины строки | ID1.getLength() ID1 = "Привет" Результат: 6 |
.charAt(index) | Вывод символа через указание индекса соответствующего символа (index) | ID1.charAt(0) ID1 = "Привет" Результат: "П" |
.substring(start, end) | Формула позволяет разбить введенное в переменную слово или значение на составные части (подстроки). Границы подстроки определяются начальным индексом (номером) символа start и конечным индексом end | ID1.substring(0,2) ID1 = "Привет" Результат: "Пр" |
.substring(start) | Формула позволяет разбить введенное в переменную слово или значение на составные части (подстроки). Подстрока формируется от начального индекса (номера) символа start и до конца строки | ID1.substring(1) ID1 = "Привет" Результат: "ривет" |
Format.фио() | Автоматический перевод полного ФИО в краткое ФИО с инициалами. В скобках метода можно задавать:
| Format.фио(ID1) ID1 = "Иванов Иван Иванович" Результат: "Иванов И.И." |
Format.фио(ID1, "ИОф") ID1 = "Иванов Иван Иванович" Результат: «Иван Иванович И.» | ||
Format.фио(ID1, "фИО") ID1 = " Иванов Иван Иванович" Результат: «И. Иван Иванович» | ||
Format.должностьПолностью() | Объединяет наименование профессии с наименованием структурного подразделения, изменяя окончания слов в соответствии с правилами составления словосочетаний. | Format.должностьПолностью(ID1, ID2) ID1 = "директор цеха", ID2 = "цех металлообработки" Результат: "директор цеха металлообработки" |
.contains() | Метод, осуществляющий проверку, содержит ли строка подстроку или нет. Результатом работы метода будет true/false | ID1.contains("_") ID1 = "Подписание договора будет осуществлено в ____ гг." Результат: true |
Методы и функции для работы с числовыми переменными
Метод | Пример | Пояснение | |
.round(n) | Округление чисел до n-знаков после запятой | ID1.round(3) | ID1 = 1,2785 Результат: 1,279 |