Выражения — различия между версиями
Elena (обсуждение | вклад) |
|||
(не показаны 32 промежуточные версии 3 участников) | |||
Строка 1: | Строка 1: | ||
+ | <code>[[Техническая документация]] / [[Call-центр]] или [[Администрирование]] / [[Сценарии]] / [[Выражения]]</code> | ||
+ | |||
+ | __TOC__ | ||
+ | |||
'''Выражение''' — это заданная создателем сценария последовательность арифметических или строковых действий, оперирующая с константами и переменными и функциями от них. Выражение используется для подстановки в качестве аргумента в значение объектов сценария. Значением выражения могут являться строка и число. Для явного указания строки заключайте текст в кавычки. В противном случае, сначала будут вычислены все арифметические комбинации, доступные для расчета. В приведенных примерах 7 и 8 результат будет разный, то есть началом результирующей строки примера 7 будет являться символ «5», а примера 8 – символы «23». | '''Выражение''' — это заданная создателем сценария последовательность арифметических или строковых действий, оперирующая с константами и переменными и функциями от них. Выражение используется для подстановки в качестве аргумента в значение объектов сценария. Значением выражения могут являться строка и число. Для явного указания строки заключайте текст в кавычки. В противном случае, сначала будут вычислены все арифметические комбинации, доступные для расчета. В приведенных примерах 7 и 8 результат будет разный, то есть началом результирующей строки примера 7 будет являться символ «5», а примера 8 – символы «23». | ||
Примеры числовых выражений: | Примеры числовых выражений: | ||
− | |||
* [переменная_число_1] + 1 | * [переменная_число_1] + 1 | ||
− | |||
* 2 ^ [переменная_число_2] * ( Log10 ( [переменная_число_3] ) + 2 ) | * 2 ^ [переменная_число_2] * ( Log10 ( [переменная_число_3] ) + 2 ) | ||
− | |||
* Sin ( Len ( [переменная_строка_1] ) ) | * Sin ( Len ( [переменная_строка_1] ) ) | ||
− | |||
Примеры строковых выражений: | Примеры строковых выражений: | ||
− | |||
* [переменная_строка_1] + [переменная_строка_2] | * [переменная_строка_1] + [переменная_строка_2] | ||
− | |||
* Кусок текста + [ переменная_строка_1] | * Кусок текста + [ переменная_строка_1] | ||
− | |||
* "Кусок текста" + [переменная_строка_1] | * "Кусок текста" + [переменная_строка_1] | ||
− | |||
* 2 + 3 + [переменная_строка_1] | * 2 + 3 + [переменная_строка_1] | ||
− | |||
* "2" + "3" + [переменная_строка_1] | * "2" + "3" + [переменная_строка_1] | ||
− | |||
* SubStr ( [переменная_строка], 1, Length ( [переменная_строка] ) - 1 ) | * SubStr ( [переменная_строка], 1, Length ( [переменная_строка] ) - 1 ) | ||
− | + | * If ( num([a]) > 5, 'больше', 'меньше') | |
Для задания выражения служит соответствующая вкладка окна [[Аргументы]]. Выражения вычисляются в сценариях и результат вычисления подставляется в качестве аргумента текущего выполняемого объекта (свойства объекта) сценария. | Для задания выражения служит соответствующая вкладка окна [[Аргументы]]. Выражения вычисляются в сценариях и результат вычисления подставляется в качестве аргумента текущего выполняемого объекта (свойства объекта) сценария. | ||
Строка 31: | Строка 25: | ||
+ | ==Общие== | ||
Операции и подстановочные функции, доступные для использования в составе выражений: | Операции и подстановочные функции, доступные для использования в составе выражений: | ||
+ | |||
{|cellpadding="10" cellspacing="0" border="1" | {|cellpadding="10" cellspacing="0" border="1" | ||
Строка 38: | Строка 34: | ||
!Тип возвращ. значения | !Тип возвращ. значения | ||
!Описание | !Описание | ||
− | |- | + | |- |
− | |+ | + | |''+'' |
|s1 + s2 | |s1 + s2 | ||
x1 + x2 | x1 + x2 | ||
Строка 50: | Строка 46: | ||
|Если один из операндов функции является строкой, то возвращаемым значением будет строка, склеенная из двух частей. Если все операнды являются числами, результатом будет число. | |Если один из операндов функции является строкой, то возвращаемым значением будет строка, склеенная из двух частей. Если все операнды являются числами, результатом будет число. | ||
|- | |- | ||
− | |- | + | |''-'' |
|x1 - x2 | |x1 - x2 | ||
|число | |число | ||
Строка 91: | Строка 87: | ||
|Соединяет числа или строки (в строковом представлении). | |Соединяет числа или строки (в строковом представлении). | ||
Примеры: 2.16 & 3 => 2.163; "2" & 5 => "25"; 2 & -3 => "2-3" | Примеры: 2.16 & 3 => 2.163; "2" & 5 => "25"; 2 & -3 => "2-3" | ||
+ | |- | ||
+ | |Upper() | ||
+ | |Upper(x) | ||
+ | |строка | ||
+ | |Преобразовывает строку в верхний регистр | ||
+ | |- | ||
+ | |Lower() | ||
+ | |Lower(x) | ||
+ | |строка | ||
+ | |Преобразовывает строку в нижний регистр | ||
|} | |} | ||
− | |||
− | |||
− | |||
+ | ==Математические== | ||
Функции для работы со строковыми и числовыми значениями, доступные для использования в составе выражений: | Функции для работы со строковыми и числовыми значениями, доступные для использования в составе выражений: | ||
− | + | {|cellpadding="10" cellspacing="0" border="1" | |
− | + | !Функция | |
− | + | !Параметры | |
− | Функция | + | !Тип возвращ. значения |
− | + | !Описание | |
− | + | |- | |
− | + | |Abs (x) | |
− | + | |x - число | |
− | Abs (x) | + | |Число |
− | + | |Абсолютная величина числа X. | |
− | + | |- | |
− | + | |Ceil (x) | |
− | + | |x - число | |
− | + | |Число | |
− | + | |Округляет число до целого в большую сторону. | |
− | + | |- | |
− | + | |Floor (x) | |
− | + | |x - число | |
− | + | |Число | |
− | + | |Округляет число до целого в меньшую сторону. | |
− | + | |- | |
− | + | |Cos (x) | |
− | + | |x - число | |
− | + | |Число | |
− | + | |Косинус угла, определяемого параметром X в радианах. | |
− | + | |- | |
− | + | |Exp (x) | |
− | + | |x - число | |
− | + | |Число | |
− | + | |Экспонента числа X. | |
− | + | |- | |
− | + | |Lg (x), | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | Exp (x) | + | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | Lg (x), | + | |
− | + | ||
Log10 (x) | Log10 (x) | ||
− | + | |x - число | |
− | + | |Число | |
− | + | |Десятичный логарифм числа X. | |
− | + | |- | |
− | Ln (x) | + | |Ln (x) |
− | + | |x - число | |
− | + | |Число | |
− | + | |Натуральный логарифм числа X. | |
− | + | |- | |
− | Log (x, y) | + | |Log (x, y) |
− | + | |x - число | |
− | + | ||
y - число | y - число | ||
− | + | |Число | |
− | + | |Логарифм числа Y по основанию X. | |
− | + | ||
Если в функцию передается один параметр - возвращается его натуральный логарифм. | Если в функцию передается один параметр - возвращается его натуральный логарифм. | ||
− | + | |- | |
− | Max (x, y) | + | |Max (x, y) |
− | + | |x - число | |
− | + | ||
y - число | y - число | ||
− | + | |Число | |
− | + | |Максимум из двух чисел X и Y. | |
− | + | |- | |
− | Min (x, y) | + | |Min (x, y) |
− | + | |x - число | |
+ | y - число | ||
+ | |Число | ||
+ | |Минимум из двух чисел X и Y. | ||
+ | |- | ||
+ | |Random (x) | ||
+ | |x - число | ||
+ | |Число | ||
+ | |Случайное целое число из отрезка [0, x-1]. | ||
+ | |- | ||
+ | |Round (x) | ||
+ | |x - число | ||
+ | |Число | ||
+ | |Ближайшее целое значение числа X. | ||
+ | |- | ||
+ | |Sin (x) | ||
+ | |x - число | ||
+ | |Число | ||
+ | |Синус угла, определяемого параметром X в радианах. | ||
+ | |- | ||
+ | |Sqr (x) | ||
+ | |x - число | ||
+ | |Число | ||
+ | |Квадрат числа X. | ||
+ | |- | ||
+ | |Sqrt (x) | ||
+ | |x - число | ||
+ | |Число | ||
+ | |Квадратный корень числа X. | ||
+ | |- | ||
+ | |Tan (x) | ||
+ | |x - число | ||
+ | |Число | ||
+ | |Тангенс угла, определяемого параметром X в радианах. | ||
+ | |} | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
+ | ==Строковые== | ||
+ | |||
+ | {|cellpadding="10" cellspacing="0" border="1" | ||
+ | !Функция | ||
+ | !Параметры | ||
+ | !Тип возвращ. значения | ||
+ | !Описание | ||
+ | |- | ||
+ | |IndexOf (s1, s2) | ||
+ | |s1 - строка, s2 - строка | ||
+ | |Число | ||
+ | |Ищет подстроку S2 в строке S1 и возвращает номер позиции. Отсчет ведется с 0 символа. В случае, если подстрока не найдена, возвращается -1. | ||
+ | |- | ||
+ | |Len (s) | ||
+ | |s - строка | ||
+ | |Число | ||
+ | |Длина строки S в символах. | ||
+ | |- | ||
+ | |NewId () | ||
+ | | | ||
+ | |Строка | ||
+ | |Возвращает строковое представление вновь сгенеренного GUID-идентификатора. Например 12A5A37E-B97A-45F7-86F1-87C88DA66CBA | ||
+ | |- | ||
+ | |RegexReplace (s, s1, s2) | ||
+ | |s, s1, s2 - строка | ||
+ | |строка | ||
+ | |Возвращает строку, образованную из строки S путем замены всех встречающихся подстрок S1 на основе регулярных выражений на подстроки S2. | ||
+ | :Пример: | ||
+ | :RegexReplace('Имеет место быть', '[\S]+','Заменило') | ||
+ | |- | ||
+ | |Remove (s, idx, len) | ||
+ | |s - строка, | ||
idx - число, | idx - число, | ||
− | |||
len - число | len - число | ||
− | + | |Строка | |
− | + | |Возвращает строку, полученную удалением из строки S символов в количестве LEN, начиная с позиции IDX. Отсчет ведется с 0 символа. | |
− | + | |- | |
− | Replace (s, s1, s2) | + | |Replace (s, s1, s2) |
− | + | |s - строка, | |
− | + | ||
s1 - строка, | s1 - строка, | ||
− | |||
s2 - строка | s2 - строка | ||
− | + | |Строка | |
− | + | |Возвращает строку, образованную замещением в строке S всех встречающихся подстрок S1 на подстроки S2. | |
− | + | |- | |
− | + | |Substr (s, idx, len) | |
− | + | |s - строка, | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | Substr (s, idx, len) | + | |
− | + | ||
− | + | ||
idx - число, | idx - число, | ||
− | |||
len - число | len - число | ||
− | + | |Строка | |
− | + | |Возвращает вырезанную из строки S подстроку длиной LEN, начиная с позиции IDX. Отсчет ведется с 0 символа. | |
− | + | |- | |
− | + | |Trim (s) | |
− | + | |s - строка | |
− | + | |Строка | |
− | + | |Возвращает строку, в которой исключены начальные и конечные пробельные символы. | |
− | + | |- | |
− | Trim (s) | + | |TrimEnd (s) |
− | + | |s - строка | |
− | + | |Строка | |
− | + | |Возвращает строку, в которой исключены конечные пробельные символы. | |
− | + | |- | |
− | TrimEnd (s) | + | |TrimStart (s) |
− | + | |s - строка | |
− | + | |Строка | |
− | + | |Возвращает строку, в которой исключены начальные пробельные символы. | |
− | + | |} | |
− | TrimStart (s) | + | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | |||
− | |||
− | |||
+ | ==Дата/время== | ||
Функции для работы со значениями Дата/время, доступные для использования в составе выражений. | Функции для работы со значениями Дата/время, доступные для использования в составе выражений. | ||
− | |||
В качестве параметра функций, ожидающих значения Дата/время, может быть передано значение типа Дата/время, либо строковое в установленном формате. Стандартным форматом представления даты в строке является формат «dd.MM.yyyy HH:mm:ss», либо любой другой, установленный в системе или упомянутый в конфигурационном файле серверного приложения. | В качестве параметра функций, ожидающих значения Дата/время, может быть передано значение типа Дата/время, либо строковое в установленном формате. Стандартным форматом представления даты в строке является формат «dd.MM.yyyy HH:mm:ss», либо любой другой, установленный в системе или упомянутый в конфигурационном файле серверного приложения. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
+ | {|cellpadding="10" cellspacing="0" border="1" | ||
+ | !Функция | ||
+ | !Параметры | ||
+ | !Тип возвращ. значения | ||
+ | !Описание | ||
+ | |- | ||
+ | |Date (d) | ||
+ | |d - дата/время или строка | ||
+ | |Дата/время | ||
+ | |Возвращает дату, сформированную на основе параметра (начало дня - время дня нулевое). | ||
+ | |- | ||
+ | |DateTime ( Y[, M[, D[, H[, m[, s[, ms]]]]]] ) | ||
+ | |Y, M, D, H, m, s, ms - числа | ||
+ | |Дата/время | ||
+ | |Возвращает дату/время, сформированную на основе переданных параметров, которые могут быть не указаны. Соответственно: год, месяц, день, час, минута, секунда, миллисекунда. | ||
+ | |- | ||
+ | |DateTime (s) | ||
+ | |s - строка | ||
+ | |Дата/время | ||
+ | |Принудительное преобразование строки к формату Дата/время. | ||
+ | |- | ||
+ | |DateFormat (s, d) | ||
+ | |s - строка | ||
d - дата/время | d - дата/время | ||
− | + | |Строка | |
− | + | |Осуществляет преобразование даты к строке с указанным стандартным форматом. Описание форматов и специальных символов можно найти на странице | |
− | + | ||
http://msdn.microsoft.com/en-us/library/system.globalization.datetimeformatinfo.aspx | http://msdn.microsoft.com/en-us/library/system.globalization.datetimeformatinfo.aspx | ||
− | + | |- | |
− | DateDiff (s, d1, d2) | + | |DateDiff (s, d1, d2) |
− | + | |s - строка | |
− | + | ||
d1 - дата/время | d1 - дата/время | ||
− | |||
d2 - дата/время | d2 - дата/время | ||
− | + | |Число | |
− | + | |Возвращает временной интервал между двумя указанными датами, выраженный в указанных с помощью параметра s единицах: | |
+ | * Год - yy, yyyy | ||
+ | * Квартал - qq, q | ||
+ | * Месяц - mm, m | ||
+ | * День в году - dy, y | ||
+ | * День - dd, d | ||
+ | * Неделя - wk, ww | ||
+ | * Час - hh | ||
+ | * Минута - mi, n | ||
+ | * Секунда - ss, s | ||
+ | * Миллисекунда - ms | ||
+ | |- | ||
+ | |Day (d) | ||
+ | |d - дата/время или строка | ||
+ | |Число | ||
+ | |День. | ||
+ | |- | ||
+ | |DayOfWeek (d) | ||
+ | |d - дата/время или строка | ||
+ | |Число | ||
+ | |День недели, которому соответствует дата-параметр (1-7). | ||
+ | |- | ||
+ | |DayOfYear (d) | ||
+ | |d - дата/время или строка | ||
+ | |Число | ||
+ | |Порядковый номер дня в году. | ||
+ | |- | ||
+ | |Hour (d) | ||
+ | |d - дата/время или строка | ||
+ | |Число | ||
+ | |Час. | ||
+ | |- | ||
+ | |Millisecond (d) | ||
+ | |d - дата/время или строка | ||
+ | |Число | ||
+ | |Миллисекунда. | ||
+ | |- | ||
+ | |Minute (d) | ||
+ | |d - дата/время или строка | ||
+ | |Число | ||
+ | |Минута. | ||
+ | |- | ||
+ | |Month (d) | ||
+ | |d - дата/время или строка | ||
+ | |Число | ||
+ | |Месяц. | ||
+ | |- | ||
+ | |NowTick () | ||
+ | | | ||
+ | |Число | ||
+ | |Возвращает текущий тик системы (количество миллисекунд с момента запуска операционной системы). | ||
+ | |- | ||
+ | |Second (d) | ||
+ | |d - дата/время или строка | ||
+ | |Число | ||
+ | |Секунда. | ||
+ | |- | ||
+ | |Year (d) | ||
+ | |d - дата/время или строка | ||
+ | |Число | ||
+ | |Год. | ||
+ | |} | ||
− | |||
− | + | ==Преобразования== | |
− | + | {|cellpadding="10" cellspacing="0" border="1" | |
+ | !Функция | ||
+ | !Параметры | ||
+ | !Тип возвращ. значения | ||
+ | !Описание | ||
+ | |- | ||
+ | |Base64Decode | ||
+ | |s - строка | ||
+ | |Строка | ||
+ | |Декодирует указанную строку в base64, используя текущую кодировку ANSI. | ||
+ | |- | ||
+ | |Base64Encode | ||
+ | |s - строка | ||
+ | |Строка | ||
+ | |Кодирует указанную строку в base64, используя текущую кодировку ANSI. | ||
+ | |- | ||
+ | |Base64DecodeUtf8 | ||
+ | |s - строка | ||
+ | |Строка | ||
+ | |Декодирует указанную строку из base64, используя кодировку UTF-8. | ||
+ | |- | ||
+ | |Base64DecodeUtf8 | ||
+ | |s - строка | ||
+ | |Строка | ||
+ | |Декодирует указанную строку из base64, используя кодировку UTF-8. | ||
+ | |- | ||
+ | |Char (x) | ||
+ | |x - число | ||
+ | |Строка | ||
+ | |Возвращает ANSI-символ, соответствующий коду X (0 - 255). | ||
+ | |- | ||
+ | |DecHex (x) | ||
+ | |x - число | ||
+ | |Строка | ||
+ | |Возвращает строку с HEX-представлением числа. | ||
+ | |- | ||
+ | |Eval (s) | ||
+ | |s - строка | ||
+ | |Число, строка | ||
+ | |Осуществляет расчет вложенного выражения, содержащегося в строке-параметре. Таким образом, давая возможность динамически задавать выражения вне сценария. | ||
+ | Примеры: Eval ( "1 + 3" ) => 4; Eval ( "Привет" ) => ошибка; Eval ( " 'Привет' ") => "Привет"; Eval ( [cтр.переменная_1] ) => результат выполнения выражения, заданного в переменной; Eval ( " [стр.переменная_1] " ) => возвращает содержимое переменной. | ||
+ | |- | ||
+ | |GuidToInt (s) | ||
+ | |s - строка | ||
+ | |Число | ||
+ | |Формирует доволно уникальное целое число на основе передаваемой строки, содержащей представление GUID-идентификатора. | ||
+ | |- | ||
+ | |HexDec (s) | ||
+ | |s - строка | ||
+ | |Число | ||
+ | |Преобразует строку к числу, рассматривая ее как HEX-представление. | ||
+ | |- | ||
+ | |HexStr (s) | ||
+ | |s - строка | ||
+ | |Строка | ||
+ | |Преобразует строку s в строку, рассматривая ее как HEX-представление. | ||
+ | |- | ||
+ | |If (x, a, b) | ||
+ | |x - логическое выражение или число | ||
+ | a, b - число или строка | ||
+ | |Число, строка | ||
+ | |Выводит результат в зависимости от логического выражения. | ||
+ | Если x - не ноль (true), то возвращается a. Если x - ноль (false), возвращается b. В логическом выражении можно использовать операторы ==, >, <, >=, <=, &&, ||. | ||
+ | :Примеры: | ||
+ | :If ( num([a]) > 5, 'a больше 5', 'a меньше 5') | ||
+ | :If ( num([a])&&num([b]), substr([callerid], 6, 5), 1) | ||
+ | |- | ||
+ | |MD5 (s) | ||
+ | |s - строка | ||
+ | |Строка | ||
+ | |Возвращает MD5 код из строки s. | ||
+ | |- | ||
+ | |Num (s) | ||
+ | |s - строка | ||
+ | |Число | ||
+ | |Принудительное преобразование строки к числу. Если строка не является корректным числом, возвращает 0. | ||
+ | |- | ||
+ | |Numval (s) | ||
+ | |s - строка | ||
+ | |Число | ||
+ | |Принудительное преобразование строки к числу. Если строка не является корректным числом, возвращает число, преобразованное из максимального количества начальных символов строки-параметра, соответствующих корректному представлению. | ||
+ | |- | ||
+ | |Str (x) | ||
+ | |x - число | ||
+ | |Строка | ||
+ | |Принудительное преобразование числа к строке. | ||
+ | |- | ||
+ | |StrHex(s) | ||
+ | |s - строка | ||
+ | |Строка | ||
+ | |Производит HEX-преобразование из строки s. | ||
+ | |- | ||
+ | |<div id="Translit"></div>Translit (s) | ||
+ | |s - строка | ||
+ | |Строка | ||
+ | |Транслитерация строки в латинские символы. | ||
+ | |- | ||
+ | |UrlDecode (s) | ||
+ | |s - строка | ||
+ | |Строка | ||
+ | |Декодирует указанную строку из UrlEncode, рассматривая ее как закодированную с помощью текущей кодировки ANSI. | ||
+ | |- | ||
+ | |UrlEncode (s) | ||
+ | |s - строка | ||
+ | |Строка | ||
+ | |Кодирует указанную строку в UrlEncode, используя текущую кодировку ANSI. | ||
+ | |- | ||
+ | |UrlDecodeUtf8 (s) | ||
+ | |s - строка | ||
+ | |Строка | ||
+ | |Декодирует указанную строку из UrlEncode, рассматривая ее как закодированную с помощью UTF-8. | ||
+ | |- | ||
+ | |UrlEncodeUtf8 (s) | ||
+ | |s - строка | ||
+ | |Строка | ||
+ | |Кодирует указанную строку в UrlEncode, используя кодировку UTF-8. | ||
+ | |} | ||
− | |||
− | + | ==Сценарные== | |
+ | {|cellpadding="10" cellspacing="0" border="1" | ||
+ | !Функция | ||
+ | !Параметры | ||
+ | !Тип возвращ. значения | ||
+ | !Описание | ||
+ | |- | ||
+ | |ScriptFunc (s) | ||
+ | |s - строка | ||
+ | |Строка или число | ||
+ | |Возвращает значение функции из списка, указанной в параметре s. Следует указывать полное название функции. | ||
+ | :Пример: | ||
+ | :ScriptFunc('Текущий час') | ||
+ | :ScriptFunc('Номер линии') | ||
+ | |} | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
+ | ==Спецсимволы== | ||
Специальные символы, доступные для использования в составе выражений: | Специальные символы, доступные для использования в составе выражений: | ||
− | + | {|cellpadding="10" cellspacing="0" border="1" | |
− | + | !Спецсимвол | |
− | Спецсимвол | + | !Параметры |
− | + | !Тип возвращ. значения | |
− | + | !Описание | |
− | + | |- | |
− | + | |EndLine (), | |
− | EndLine (), | + | |
− | + | ||
EndLine | EndLine | ||
− | + | |нет | |
− | + | |Строка | |
− | + | |Возвращает символ конца строки. | |
− | + | |- | |
− | Tab (), | + | |Tab (), |
− | + | ||
Tab | Tab | ||
− | + | |нет | |
− | + | |Строка | |
− | + | |Возвращает символ табуляции. | |
− | + | |- | |
− | Quot (), | + | |Quot (), |
− | + | ||
Quot | Quot | ||
− | + | |нет | |
− | + | |Строка | |
− | + | |Возвращает символ одинарной кавычки. | |
− | + | |- | |
− | DblQuot (), | + | |DblQuot (), |
− | + | ||
DblQuot | DblQuot | ||
− | + | |нет | |
− | + | |Строка | |
− | + | |Возвращает символ двойной кавычки. | |
− | + | |} | |
− | |||
− | |||
− | |||
+ | ==Константы== | ||
Константы, доступные для использования в составе выражений: | Константы, доступные для использования в составе выражений: | ||
− | + | {|cellpadding="10" cellspacing="0" border="1" | |
+ | !Константа | ||
+ | !Тип возвращ. значения | ||
+ | !Описание | ||
+ | |- | ||
+ | |Pi | ||
+ | |Число | ||
+ | |Число «Пи». 3,1415926... | ||
+ | |- | ||
+ | |Fi | ||
+ | |Число | ||
+ | |Число «Фи». 1,6180339... | ||
+ | |- | ||
+ | |E | ||
+ | |Число | ||
+ | |Число «E». 2,74182818... | ||
+ | |} | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | В качестве типов параметров (число и строка) указаны ожидаемые типы, в которые будет производится преобразование. Однако параметрами могут являться переменные другого типа, если они удовлетворяют [[Правило включения типов|правилу включения типов]]. | |
− | |||
− | |||
− | |||
− | + | Функции без параметров можно указывать в выражении как с пустыми круглыми скобками в конце, так и без них. |
Текущая версия на 08:10, 29 декабря 2016
Техническая документация / Call-центр или Администрирование / Сценарии / Выражения
Содержание
Выражение — это заданная создателем сценария последовательность арифметических или строковых действий, оперирующая с константами и переменными и функциями от них. Выражение используется для подстановки в качестве аргумента в значение объектов сценария. Значением выражения могут являться строка и число. Для явного указания строки заключайте текст в кавычки. В противном случае, сначала будут вычислены все арифметические комбинации, доступные для расчета. В приведенных примерах 7 и 8 результат будет разный, то есть началом результирующей строки примера 7 будет являться символ «5», а примера 8 – символы «23».
Примеры числовых выражений:
- [переменная_число_1] + 1
- 2 ^ [переменная_число_2] * ( Log10 ( [переменная_число_3] ) + 2 )
- Sin ( Len ( [переменная_строка_1] ) )
Примеры строковых выражений:
- [переменная_строка_1] + [переменная_строка_2]
- Кусок текста + [ переменная_строка_1]
- "Кусок текста" + [переменная_строка_1]
- 2 + 3 + [переменная_строка_1]
- "2" + "3" + [переменная_строка_1]
- SubStr ( [переменная_строка], 1, Length ( [переменная_строка] ) - 1 )
- If ( num([a]) > 5, 'больше', 'меньше')
Для задания выражения служит соответствующая вкладка окна Аргументы. Выражения вычисляются в сценариях и результат вычисления подставляется в качестве аргумента текущего выполняемого объекта (свойства объекта) сценария.
Общие
Операции и подстановочные функции, доступные для использования в составе выражений:
Операция | Параметры | Тип возвращ. значения | Описание |
---|---|---|---|
+ | s1 + s2
x1 + x2 s + x x + s |
строка
число строка строка |
Если один из операндов функции является строкой, то возвращаемым значением будет строка, склеенная из двух частей. Если все операнды являются числами, результатом будет число. |
- | x1 - x2 | число | Вычитает из числа X1 число X2. |
* | x1 * x2 | число | Перемножает числа X1 и X2. |
/ | x1 / x2 | число | Делит число X1 на число X2. |
^ | x1 ^ x2 | число | Возводит число X1 в степень X2. |
( ) | Выставление приоритета любой арифметической операции. | ||
% | x1 % x2 | число | Возвращает действительный остаток от деления. |
& | x1 & x2
s1 & s2 x & s s & x |
число
строка строка строка |
Соединяет числа или строки (в строковом представлении).
Примеры: 2.16 & 3 => 2.163; "2" & 5 => "25"; 2 & -3 => "2-3" |
Upper() | Upper(x) | строка | Преобразовывает строку в верхний регистр |
Lower() | Lower(x) | строка | Преобразовывает строку в нижний регистр |
Математические
Функции для работы со строковыми и числовыми значениями, доступные для использования в составе выражений:
Функция | Параметры | Тип возвращ. значения | Описание |
---|---|---|---|
Abs (x) | x - число | Число | Абсолютная величина числа X. |
Ceil (x) | x - число | Число | Округляет число до целого в большую сторону. |
Floor (x) | x - число | Число | Округляет число до целого в меньшую сторону. |
Cos (x) | x - число | Число | Косинус угла, определяемого параметром X в радианах. |
Exp (x) | x - число | Число | Экспонента числа X. |
Lg (x),
Log10 (x) |
x - число | Число | Десятичный логарифм числа X. |
Ln (x) | x - число | Число | Натуральный логарифм числа X. |
Log (x, y) | x - число
y - число |
Число | Логарифм числа Y по основанию X.
Если в функцию передается один параметр - возвращается его натуральный логарифм. |
Max (x, y) | x - число
y - число |
Число | Максимум из двух чисел X и Y. |
Min (x, y) | x - число
y - число |
Число | Минимум из двух чисел X и Y. |
Random (x) | x - число | Число | Случайное целое число из отрезка [0, x-1]. |
Round (x) | x - число | Число | Ближайшее целое значение числа X. |
Sin (x) | x - число | Число | Синус угла, определяемого параметром X в радианах. |
Sqr (x) | x - число | Число | Квадрат числа X. |
Sqrt (x) | x - число | Число | Квадратный корень числа X. |
Tan (x) | x - число | Число | Тангенс угла, определяемого параметром X в радианах. |
Строковые
Функция | Параметры | Тип возвращ. значения | Описание |
---|---|---|---|
IndexOf (s1, s2) | s1 - строка, s2 - строка | Число | Ищет подстроку S2 в строке S1 и возвращает номер позиции. Отсчет ведется с 0 символа. В случае, если подстрока не найдена, возвращается -1. |
Len (s) | s - строка | Число | Длина строки S в символах. |
NewId () | Строка | Возвращает строковое представление вновь сгенеренного GUID-идентификатора. Например 12A5A37E-B97A-45F7-86F1-87C88DA66CBA | |
RegexReplace (s, s1, s2) | s, s1, s2 - строка | строка | Возвращает строку, образованную из строки S путем замены всех встречающихся подстрок S1 на основе регулярных выражений на подстроки S2.
|
Remove (s, idx, len) | s - строка,
idx - число, len - число |
Строка | Возвращает строку, полученную удалением из строки S символов в количестве LEN, начиная с позиции IDX. Отсчет ведется с 0 символа. |
Replace (s, s1, s2) | s - строка,
s1 - строка, s2 - строка |
Строка | Возвращает строку, образованную замещением в строке S всех встречающихся подстрок S1 на подстроки S2. |
Substr (s, idx, len) | s - строка,
idx - число, len - число |
Строка | Возвращает вырезанную из строки S подстроку длиной LEN, начиная с позиции IDX. Отсчет ведется с 0 символа. |
Trim (s) | s - строка | Строка | Возвращает строку, в которой исключены начальные и конечные пробельные символы. |
TrimEnd (s) | s - строка | Строка | Возвращает строку, в которой исключены конечные пробельные символы. |
TrimStart (s) | s - строка | Строка | Возвращает строку, в которой исключены начальные пробельные символы. |
Дата/время
Функции для работы со значениями Дата/время, доступные для использования в составе выражений. В качестве параметра функций, ожидающих значения Дата/время, может быть передано значение типа Дата/время, либо строковое в установленном формате. Стандартным форматом представления даты в строке является формат «dd.MM.yyyy HH:mm:ss», либо любой другой, установленный в системе или упомянутый в конфигурационном файле серверного приложения.
Функция | Параметры | Тип возвращ. значения | Описание |
---|---|---|---|
Date (d) | d - дата/время или строка | Дата/время | Возвращает дату, сформированную на основе параметра (начало дня - время дня нулевое). |
DateTime ( Y[, M[, D[, H[, m[, s[, ms]]]]]] ) | Y, M, D, H, m, s, ms - числа | Дата/время | Возвращает дату/время, сформированную на основе переданных параметров, которые могут быть не указаны. Соответственно: год, месяц, день, час, минута, секунда, миллисекунда. |
DateTime (s) | s - строка | Дата/время | Принудительное преобразование строки к формату Дата/время. |
DateFormat (s, d) | s - строка
d - дата/время |
Строка | Осуществляет преобразование даты к строке с указанным стандартным форматом. Описание форматов и специальных символов можно найти на странице
http://msdn.microsoft.com/en-us/library/system.globalization.datetimeformatinfo.aspx |
DateDiff (s, d1, d2) | s - строка
d1 - дата/время d2 - дата/время |
Число | Возвращает временной интервал между двумя указанными датами, выраженный в указанных с помощью параметра s единицах:
|
Day (d) | d - дата/время или строка | Число | День. |
DayOfWeek (d) | d - дата/время или строка | Число | День недели, которому соответствует дата-параметр (1-7). |
DayOfYear (d) | d - дата/время или строка | Число | Порядковый номер дня в году. |
Hour (d) | d - дата/время или строка | Число | Час. |
Millisecond (d) | d - дата/время или строка | Число | Миллисекунда. |
Minute (d) | d - дата/время или строка | Число | Минута. |
Month (d) | d - дата/время или строка | Число | Месяц. |
NowTick () | Число | Возвращает текущий тик системы (количество миллисекунд с момента запуска операционной системы). | |
Second (d) | d - дата/время или строка | Число | Секунда. |
Year (d) | d - дата/время или строка | Число | Год. |
Преобразования
Функция | Параметры | Тип возвращ. значения | Описание |
---|---|---|---|
Base64Decode | s - строка | Строка | Декодирует указанную строку в base64, используя текущую кодировку ANSI. |
Base64Encode | s - строка | Строка | Кодирует указанную строку в base64, используя текущую кодировку ANSI. |
Base64DecodeUtf8 | s - строка | Строка | Декодирует указанную строку из base64, используя кодировку UTF-8. |
Base64DecodeUtf8 | s - строка | Строка | Декодирует указанную строку из base64, используя кодировку UTF-8. |
Char (x) | x - число | Строка | Возвращает ANSI-символ, соответствующий коду X (0 - 255). |
DecHex (x) | x - число | Строка | Возвращает строку с HEX-представлением числа. |
Eval (s) | s - строка | Число, строка | Осуществляет расчет вложенного выражения, содержащегося в строке-параметре. Таким образом, давая возможность динамически задавать выражения вне сценария.
Примеры: Eval ( "1 + 3" ) => 4; Eval ( "Привет" ) => ошибка; Eval ( " 'Привет' ") => "Привет"; Eval ( [cтр.переменная_1] ) => результат выполнения выражения, заданного в переменной; Eval ( " [стр.переменная_1] " ) => возвращает содержимое переменной. |
GuidToInt (s) | s - строка | Число | Формирует доволно уникальное целое число на основе передаваемой строки, содержащей представление GUID-идентификатора. |
HexDec (s) | s - строка | Число | Преобразует строку к числу, рассматривая ее как HEX-представление. |
HexStr (s) | s - строка | Строка | Преобразует строку s в строку, рассматривая ее как HEX-представление. |
If (x, a, b) | x - логическое выражение или число
a, b - число или строка |
Число, строка | Выводит результат в зависимости от логического выражения.
Если x - не ноль (true), то возвращается a. Если x - ноль (false), возвращается b. В логическом выражении можно использовать операторы ==, >, <, >=, <=, &&, ||.
|
MD5 (s) | s - строка | Строка | Возвращает MD5 код из строки s. |
Num (s) | s - строка | Число | Принудительное преобразование строки к числу. Если строка не является корректным числом, возвращает 0. |
Numval (s) | s - строка | Число | Принудительное преобразование строки к числу. Если строка не является корректным числом, возвращает число, преобразованное из максимального количества начальных символов строки-параметра, соответствующих корректному представлению. |
Str (x) | x - число | Строка | Принудительное преобразование числа к строке. |
StrHex(s) | s - строка | Строка | Производит HEX-преобразование из строки s. |
Translit (s) | s - строка | Строка | Транслитерация строки в латинские символы. |
UrlDecode (s) | s - строка | Строка | Декодирует указанную строку из UrlEncode, рассматривая ее как закодированную с помощью текущей кодировки ANSI. |
UrlEncode (s) | s - строка | Строка | Кодирует указанную строку в UrlEncode, используя текущую кодировку ANSI. |
UrlDecodeUtf8 (s) | s - строка | Строка | Декодирует указанную строку из UrlEncode, рассматривая ее как закодированную с помощью UTF-8. |
UrlEncodeUtf8 (s) | s - строка | Строка | Кодирует указанную строку в UrlEncode, используя кодировку UTF-8. |
Сценарные
Функция | Параметры | Тип возвращ. значения | Описание |
---|---|---|---|
ScriptFunc (s) | s - строка | Строка или число | Возвращает значение функции из списка, указанной в параметре s. Следует указывать полное название функции.
|
Спецсимволы
Специальные символы, доступные для использования в составе выражений:
Спецсимвол | Параметры | Тип возвращ. значения | Описание |
---|---|---|---|
EndLine (),
EndLine |
нет | Строка | Возвращает символ конца строки. |
Tab (),
Tab |
нет | Строка | Возвращает символ табуляции. |
Quot (),
Quot |
нет | Строка | Возвращает символ одинарной кавычки. |
DblQuot (),
DblQuot |
нет | Строка | Возвращает символ двойной кавычки. |
Константы
Константы, доступные для использования в составе выражений:
Константа | Тип возвращ. значения | Описание |
---|---|---|
Pi | Число | Число «Пи». 3,1415926... |
Fi | Число | Число «Фи». 1,6180339... |
E | Число | Число «E». 2,74182818... |
В качестве типов параметров (число и строка) указаны ожидаемые типы, в которые будет производится преобразование. Однако параметрами могут являться переменные другого типа, если они удовлетворяют правилу включения типов.
Функции без параметров можно указывать в выражении как с пустыми круглыми скобками в конце, так и без них.