Операторы, методы и функции

Оглавление 

Арифметические операторы

Логические операторы

Операторы равенства и неравенства

Операторы сравнения

Тернарный оператор

Методы и функции для работы с мультипликтором 

Методы и функции для работы с датами

Методы и функции для работы с числовыми переменными

Методы, функции для работы с текстовыми переменными 


Арифметические операторы

Арифметические операторы используются в формуле для выполнения арифметических операций, таких как сложение, вычитание, умножение, деление и нахождения остатка от деления. Эти операции могут быть унарными  (участвует одна переменная) и  бинарными  (участвуют 2 и более переменные).

Унарные операции полезны, если необходимо сделать из отрицательной переменной положительную и наоборот, или для сохранения значения введенной переменной. Формула для получения значения переменной +IDx и −IDx для получения обратного значения переменной.

Бинарные операции позволяют выполнять привычные математические вычисления с операторами +, −, ∗ и /.

В арифметических операциях используются как целые числа, так и числа с плавающей запятой (дробное число).

Оператор

ПримерПояснение
+
Сложение
ID1Унарная операция, сохраняющая значение выбранной переменной
ID1 + ID2Бинарная операция нахождения суммы двух переменных
-
Вычитание-ID1Унарная операция, делающая из положительного значения отрицательное, и наоборот
ID1 - ID2Бинарная операция нахождения разности двух переменных
*
УмножениеID1 * ID2Бинарная операция нахождения произведения двух переменных
/
ДелениеDI1 / ID2Бинарная операция деления двух переменных
%
Остаток от деленияID1 % ID2Бинарная операция нахождения остатка от деления
💡    С помощью скобок можно задать приоритет в вычислениях или построить сложное выражение, например: 
((ID1 + ID2) * (ID3 - ID4)) / ID5

⚠️ В арифметических операциях не принимает участие переменные типа Изображение или Дата .

Логические операторы

Логические операторы используются только для условий и ответов на вопрос и позволяют составить логическое выражение для определения истинности (true) или ложности (false) высказываний. 

 В Системе логические операторы могут быть использованы только по отношению к ответам на вопросы, потому что требуют проверки true (ответ выбран пользователем) и f alse (ответ не был выбран пользователем).

Оператор
Пример
Пояснение
!
Унарный оператор логического отрицания
!ID1
Результат будет истинным, если не выбран вариант ответа с идентификатором ID1
&
Бинарное логическое И
ID1 & ID2
Результат будет истинным, если выбраны оба ответа ответа: ID1 и ID2
|
Бинарное логическое ИЛИ
ID1 | ID2
Результат будет истинным, если выбран ответ ID1 или ID2, либо выбраны оба ответа
||
Бинарное исключающее ИЛИ
ID1 || ID2
Результат будет истинным, если выбран только ID1 или только ID2, но не оба

Рассмотрим более сложный пример.  
Например, необходимо, чтобы условие контролировалось, если выбраны сразу два ответа: ID1 и ID2, или если не выбран ответ 5 (ID5). Формула будет выглядеть следующим образом:

(ID1 & ID2) | !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

Тернарный оператор

Условный оператор ? :, известный как тернарный условный оператор, вычисляет логическое выражение и возвращает результат вычисления одного из двух выражений в зависимости от того, чему равно значение логического выражения: true или false.

Записывается оператор следующим образом:

Условие ? Следствие : Альтернатива

Условие - само условие, которое проверяется,
Следствие - действие, если условие выполняется,
Альтернатива - действие, если условие не выполняется.

Например, в зависимости от ответа на вопрос "Учитывается ли НДС при расчете?" должен выставиться % НДС: 20 или 0. ID1 - идентификатор ответа "Да, учитывается":

ID1 ? 20 : 0

Если 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/falseID1 = 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()Даты получения в формате ISOID1 = 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

Другие полезные статьи по теме

Что такое формула?