Функции сценариев
Каталог функций
Не все функции доступны в каждом Продукте. |
Ниже приведен полный список функций системы по всем Продуктам. |
Математические функции
Функция | Параметры | Описание |
---|---|---|
abs |
num |
Абсолютное значение числа |
acos |
num |
Арккосинус числа |
asin |
num |
Арксинус числа |
atan |
num |
Арктангенс числа |
atan2 |
num, num |
Арктангенс частного двух чисел |
ceil |
num |
Ближайшее сверху целое число |
cos |
num |
Косинус числа |
cosh |
num |
Гиперболический косинус числа |
erf |
num |
Функция ошибки (интеграл вероятности) |
erfc |
num |
Дополнительная функция ошибок |
exp |
num |
Экспонента числа |
floor |
num |
Ближайшее снизу целое число |
lg |
num |
Десятичный логарифм числа |
ln |
num |
Натуральный логарифм числа |
log |
num, num |
Логарифм одного числа по основанию другого |
log10 |
num |
Десятичный логарифм числа |
log2 |
num |
Двоичный логарифм числа |
max |
num, num |
Максимальное из двух чисел |
min |
num, num |
Минимальное из двух чисел |
pow |
num, num |
Результат возведения одного числа в степень другого |
random |
Случайное десятичное число от 0 до 1 |
|
random |
int |
Случайное целое число от 0 до указанного целого числа |
random |
int, int |
Случайное целое число в диапазоне между двумя целыми числами |
round |
num |
Результат округления числа до целого |
sin |
num |
Синус числа |
sinh |
num |
Гиперболический синус числа |
sqr |
num |
Квадрат числа |
sqrt |
num |
Квадратный корень числа |
tan |
num |
Тангенс числа |
tanh |
num |
Гиперболический тангенс числа |
trunc |
num |
Результат отбрасывания дробной части числа |
Строковые функции
Функция | Параметры | Описание |
---|---|---|
concat |
str,str |
Возвращает результат сцепления двух строк. |
equal |
str,str |
Результат сравнения двух строк: 0 или 1 |
indexof |
str,str,int |
Возвращает индекс позиции первого вхождения подстроки (п2) в строку (п1), начиная с указанной позиции (п3). Возвращает 0, если вхождений не обнаружено. |
left |
str,int |
Возвращает левую часть строки не более чем указанной длины. |
len |
str |
Возвращает длину строки в символах. |
lower |
str |
Возвращает строку в нижнем регистре. |
modify_json |
str,json,json |
Возвращает измененную json-структуру. Подробнее в Функция modify json |
newid |
Возвращает сгенерированный UUID-идентификатор. |
|
regexreplace |
str,str,str |
Возвращает результат замены с помощью регулярного выражения. п1 - значение, п2 - паттерн, п3 - замена. |
regexreplaceg |
str,str,str |
Возвращает результат замены с помощью регулярного выражения с опцией global. п1 - значение, п2 - паттерн, п3 - замена. |
remove |
str,int |
Возвращает строку после удаления из нее подстроки с указанной позиции (п2) до конца. |
remove |
str,int,int |
Возвращает строку после удаления из нее подстроки с указанной позиции (п2) указанной длины (п3). |
replace |
str,str,str |
Возвращает результат замены в строке (п1) вхождения (п2) на значение (п3). |
reverse |
str |
Возвращает перевернутую строку. |
right |
str,int |
Возвращает правую часть строки не более чем указанной длины. |
rstr |
str,str |
Возвращает индекс позиции последнего вхождения подстроки (п2) в строку (п1). Возвращает 0, если вхождений не обнаружено. |
str |
str,str |
Возвращает индекс позиции первого вхождения подстроки (п2) в строку (п1). Возвращает 0, если вхождений не обнаружено. |
substr |
str,int |
Возвращает подстроку с указанной позиции (п2) до конца. |
substr |
str,int,int |
Возвращает подстроку с указанной позиции (п2) не более чем указанной длины (п3). |
trim |
str |
Возвращает строку, избавленную от пустых символов в начале и в конце (пробел, табуляция и т.д.). |
trimend |
str |
Возвращает строку, избавленную от пустых символов в конце (пробел, табуляция и т.д.). |
trimstart |
str |
Возвращает строку, избавленную от пустых символов в начале (пробел, табуляция и т.д.). |
upper |
str |
Возвращает строку в верхнем регистре. |
Функции по работе с датами/временем
Функция | Параметры | Описание |
---|---|---|
date |
Возвращает текущую дату в локальном часовом поясе сервера без указания часового пояса. Формат YYYY-MM-DD. |
|
date |
dt |
Возвращает дату из указанной даты/времени. |
dateadd |
atom,int,dt |
Возвращает дату после добавления указанного количества (п2) указанных единиц времени (п1) к указанной дате/времени (п3). Параметр указывается в виде атома (не строки), например, Возможные виды единиц по убыванию: yy, yyyy, q, qq, m, mm, ww, wk, d, dd, h, hh, mi, n, s, ss, ms |
datediff |
atom,dt,dt |
Возвращает число указанных единиц времени между двумя датами. Параметр указывается в виде атома (не строки), например, Возможные виды единиц по убыванию: yy, yyyy, q, qq, m, mm, ww, wk, d, dd, h, hh, mi, n, s, ss, ms |
dateformat |
str, dt |
Возвращает строку с представление даты (п2) по указанному формату (п1). Например, yyyy-MM-dd. Возможные значения форматирующей строки: yyyy, yy, MM, d, dd, h, HH, MMM, mm, ss, ffff, fff, ff, f, zzz. |
datetime |
int,int,int |
Возвращает дату/время на основе переданных п1 - года, п2 - месяца, п3 - дня. |
datetime |
int,int,int,int,int |
Возвращает дату/время на основе переданных п1 - года, п2 - месяца, п3 - дня, п4 - часа, п5 - минуты. |
datetime |
int,int,int,int,int,int |
Возвращает дату/время на основе переданных п1 - года, п2 - месяца, п3 - дня, п4 - часа, п5 - минуты, п6 - секунды. |
datetime |
int,int,int,int,int,int,int |
Возвращает дату/время на основе переданных п1 - года, п2 - месяца, п3 - дня, п4 - часа, п5 - минуты, п6 - секунды, п7 - миллисекунды. |
datetime |
str |
Возвращает дату/время, сформированную по строке. Строка может содержать различные представления даты/времени, в том числе и RFC3339. |
datetimelocal |
dt |
Возвращает дату/время приведенную к локальному часовому поясу сервера. Числовые значения даты/времени не изменяются, однако абсолютная точка времени может быть сдвинута после изменения тайм-зоны на локальную. |
datetimeutc |
dt |
Возвращает дату/время приведенную к UTC. Числовые значения даты/времени не изменяются, однако абсолютная точка времени может быть сдвинута после изменения тайм-зоны на нулевую. |
day |
dt |
Возвращает текущий день (1-31) указанной даты/времени. |
dayofweek |
dt |
Возвращает номер дня недели (1-7) для указанной даты/времени. |
dayofyear |
dt |
Возвращает номер дня в году для указанной даты/времени. |
hour |
dt |
Возвращает текущий час (0-23) указанной даты/времени. |
isleapyear |
int |
Возвращает true, если указанная дата/время представляет високосный год. |
localtoutc |
dt |
Возвращает UTC дату/время для указанной даты/времени, рассматриваемой в локальном часовом поясе сервера. |
millisecond |
dt |
Возвращает текущую миллисекунду (0-999) указанной даты/времени. |
minute |
dt |
Возвращает текущую минуту (0-59) указанной даты/времени. |
month |
dt |
Возвращает текущий месяц (1-12) указанной даты/времени. |
now |
Возвращает текущую дату и время в локальном часовом поясе сервера в формате RFC3339. Например, 2019-10-06T16:43:30.46+03:00. |
|
nowgregsecond |
Возвращает количество секунд по грегорианскому календарю, с 0 года н.э. |
|
nowtick |
Возвращает число, представляющее абсолютное значение в миллисекундах с 01.01.1970 года до текущего времени сервера. |
|
nowutc |
Возвращает текущую дату и время в UTC в формате RFC3339. |
|
second |
dt |
Возвращает текущую секунду (0-59) указанной даты/времени. |
ticktolocal |
int |
Возвращает дату в локальном часовом поясе сервера по абсолютному значению tick. |
ticktoutc |
int |
Возвращает дату в UTC по абсолютному значению tick. |
time |
Возвращает текущее время в локальном часовом поясе сервера без указания часового пояса. Формат HH:mm:ss.fff. |
|
time |
dt |
Возвращает время из указанной даты/времени. |
utctolocal |
dt |
Возвращает локальную дату/время для указанной даты/времени, рассматриваемой как UTC. |
valid_date |
dt |
Возвращает true, если указанная строка содержит корректную дату/время, иначе false. |
weekofyear |
dt |
Возвращает номер недели в году для указанной даты/времени. |
year |
dt |
Возвращает текущий год указанной даты/времени. |
Функции преобразования
Функция | Параметры | Описание |
---|---|---|
base64decode |
str |
Возвращает строку, полученную в результате распаковки из Base-64 представления. |
base64encode |
str |
Возвращает строку, полученную в результате упаковки в Base64 представление. |
char |
str |
Возвращает строку с одним символом по его числовому коду. |
dechex |
int |
Возвращает строку с HEX-представлением числа. |
escape |
str |
Возвращает строку, полученную в результате преобразования к escape-последовательности. Применяется для вставки в JSON. |
hexdec |
str |
Возвращает число на основе его HEX-представления. |
htmldecode |
str |
Возвращает строку, раскодированную c помощью Unicode Hex Character Code |
htmlencode |
str |
Возвращает строку, закодированную c помощью Unicode Hex Character Code. |
ifelse |
bool,any,any |
Если значение первого параметра true, то возвращает п2, иначе возвращает п3. |
num |
str |
Преобразует строку к числу. При неудаче завершается с ошибкой. |
numval |
str |
Преобразует строку к числу, отрезая с конца неподходящие символы. В пределе возвращает 0. |
str |
int |
Преобразует числовое значение к строке. |
translit |
str |
Возвращает результат транслитерации строки. |
unescape |
str |
Возвращает строку, полученную в результате распаковки из escape-последовательности. Применяется для очистки после JSON. |
urldecode |
str |
Возвращает строку, раскодированную с помощью UrlEncode. |
urlencode |
str |
Возвращает строку, закодированную с помощью UrlEncode. |
Хеш-суммы
Функция | Параметры | Описание |
---|---|---|
adler32 |
any |
Хеш от любого значения по алгоритму Adler-32. |
adler32 |
num,any |
Новое значение хеша от предыдущего значения, скомбинированного с новой порцией. п1 - предыдущее значение хеша, п2 - новая порция данных. По алгоритму Adler-32. |
crc32 |
any |
Хеш от любого значения по алгоритму CRC32 (IEEE 802.3). |
crc32 |
num,any |
Новое значение хеша от предыдущего значения, скомбинированного с новой порцией. п1 - предыдущее значение хеша, п2 - новая порция данных. По алгоритму CRC32 (IEEE 802.3). |
md5 |
str |
Хеш от строки по алгоритму MD5. |
phash2 |
any |
Хеш-сумму от любого значения по внутреннему алгоритму. |
Функции по работе с файловыми путями
Функция | Параметры | Описание |
---|---|---|
filedir |
str |
Возвращает название каталога. Для пути к файлу - это имя каталога, для пути к каталогу - это название родительского каталога. |
fileext |
str |
Возвращает расширение файла, выделенное из указанного пути. |
filename |
str |
Возвращает имя файла, выделенное из указанного пути. |
gs_domain |
Возвращает :GLOBALSHARE_DOMAIN_DATA - префикс категории сетевого межсайтового каталога текущего домена. |
|
gs_public |
Возвращает :GLOBALSHARE_PUBLIC - префикс категории сетевого межсайтового каталога общего назначения. |
|
gs_script |
Возвращает :GLOBALSHARE_SCRIPT_DATA - префикс категории сетевого межсайтового каталога текущего сценария (по коду). |
|
makepath |
str,str |
Возвращает путь, сформированный в результате сцепки двух частей. |
makepath |
str,str,str |
Возвращает путь, сформированный в результате сцепки трех частей. |
pathtype |
str |
Возвращает тип пути (префикс категории из указанного пути). |
relpath |
str |
Возвращает относительный путь (указанный путь без префикса категории). |
ss_domain |
Возвращает :SITESHARE_DOMAIN_DATA - префикс категории сетевого внутрисайтового каталога текущего домена. |
|
ss_public |
Возвращает :SITESHARE_PUBLIC - префикс категории сетевого внутрисайтового каталога общего назначения. |
|
ss_script |
Возвращает :SITESHARE_SCRIPT_DATA - префикс категории сетевого внутрисайтового каталога текущего сценария (по коду). |
|
syn_domain |
Возвращает :SYNC_DOMAIN_DATA префикс категории синхронизирующегося каталога данных домена. |
|
syn_media |
Возвращает :SYNC_COMMON - префикс категории синхронизирующегося каталога общего назначения. |
|
syn_script |
Возвращает :SYNC_SCRIPT_DATA префикс категории синхронизирующегося каталога данных текущего сценария (по коду). |
|
syn_script_media |
Возвращает :SYNC_SCRIPT_STATIC префикс категории синхронизирующегося каталога статических файлов сценария (по коду). |
|
temp |
Возвращает :TEMP - префикс временного локального каталога сценария. |
Служебные функции
Функция | Параметры | Описание |
---|---|---|
getscriptref |
Возвращает строку с идентификатором текущего обработчика сценариев. По этому идентификатору обработчику могут отправлять сообщения другие обработчики сценариев, например, с помощью компонента Взаимодействие сценариев. |
|
startparam |
int |
Возвращает значение входного параметра с указанным индексом. Сценарии могут принимать до 20 входных параметров. |
Функции Доступа
Функция | Параметры | Описание |
---|---|---|
check_variable |
str |
Возвращает true, если переменная c указанным именем существует и содержит значение. |
get_variable_id |
str |
Возвращает строку с идентификатором переменной по её имени. |
get_variable_orig |
str |
Возвращает значение переменной по её имени, причем, если значение строковое, то оно возвращается в исходной кодировке без преобразования. |
get_variable_value |
str |
Возвращает значение переменной по её имени. |
var |
str |
Возвращает значение переменной по её имени. |
Функции конфигурации
Функция | Параметры | Описание |
---|---|---|
wsurl |
Возвращает URL ближайшего доступного сервера с логической ролью ws. В формате proto://ip-address:port. |
Константы
Функция | Параметры | Описание |
---|---|---|
e |
Возвращает число e (2.718281828459045). |
|
phi |
Возвращает число phi (1.618033988749895). |
|
pi |
Возвращает число pi (3.141592653589793). |
Символы
Функция | Параметры | Описание |
---|---|---|
dblquot |
Возвращает строку с символом двойной кавычки. |
|
endline |
Возвращает строку с символом конца строки. |
|
quot |
Возвращает строку с символом кавычки. |
|
tab |
Возвращает строку с символом табуляции. |
Функции сценариев IVR
Функция | Примечание | Описание |
---|---|---|
calledext |
только для вызовов, поступивших в IVR |
Возвращает строку с расширением КАФ, по которому звонок поступил в IVR. |
callednum |
только для вызовов, поступивших в IVR |
Возвращает строку с набранным абонентом номером. |
callid |
Возвращает строку со значением заголовка CallId плеча b2b - ivr текущего разговора |
|
huntid |
только для сценариев |
Возвращает строку с идентификатором сущности hunt-группы, на которую направлен вызов. |
huntobjid |
только для сценариев |
Возвращает текущий статус блокировки объекта в очереди (0 - не заблокирован, 1 - заблокирован). |
queueblocked |
только для сценария |
Возвращает строку с идентификатором текущего абонента очереди hunt-группы. |
queueblocked(int) |
только для сценария |
Выставляет текущий статус блокировки объекта в очереди (0 - снять блокировку, 1 - установить). Возвращает успешность блокировки ("success" - успешно, "error" - неудача). Объект не может быть заблокирован, если уже находится в обработке. |
queuepositionreal |
только для сценария |
Возвращает текущую позицию в очереди с учётом queueblocked (считая их). |
ivrparam(str) |
только для вызовов, поступивших в IVR. |
Возвращает значение указанного параметра из заголовка X-R-Ivr, который формируется ролью b2b. Например, |
q_displayname |
только для сценария |
Возвращает displayname абонента, ожидающего коммутации с вызываемым оператором |
q_domain |
только для сценария |
Возвращает domain абонента, ожидающего коммутации с вызываемым оператором |
q_username |
только для сценария |
Возвращает username абонента, ожидающего коммутации с вызываемым оператором |
queueestimatedsec |
только для сценария |
Предполагаемое время ожидания в очереди |
queueestimatedsecreal |
только для сценария |
Фактическое время ожидания в очереди |
queueposition |
только для сценария |
Возвращает текущую позицию в очереди. |
queuepriority |
только для сценария |
Возвращает текущее числовое значение приоритета в очереди. |
queuepriority(int) |
только для сценария |
Устанавливает новое числовое значение приоритета в очереди, автоматически производится перемещение. |
queuerescount |
только для сценария |
Возвращает количество операторов в hunt-группе. |
queuerescount(str) |
только для сценария |
Возвращает количество операторов в hunt-группе, находящихся в указанном в переменной str состоянии. Возможные варианты:
|
queuestate |
только для сценария |
Возвращает строку с названием состояния ожидания в очереди. |
r_number |
только для сценария |
Возвращает строку с номером оператора |
remotenum |
Возвращает строку с номером абонента, сформированным в результате применения правил представления. |
Переменные
В этом блоке находятся все объявленные в сценарии переменные.
В Выражения сценариев они добавляется в [ и ]
Например, переменная ABC
в Выражение (и шаблоны) будет добавлена как [ABC]
Дополнительная информация
Функция modify json
modify_json(п1 str,п2 json,п3json)
Применяет поисковый запрос (п1) к значению (п2), обнаруженный элемент подвергает модификации согласно опциям (п3) и возвращает общий результат.
Пример:
modify_json( "\"chat\"/0/\"msgs\"", "{\"chat\":[{\"msgs\":[{\"txt\":\"abc\"}]}]}", "{\"action\":\"append\",\"value\":{\"txt\":\"zcv\"}}" )
Опции представлены в виде json-объекта с обязательным ключом action. Возможные варианты:
-
append - для массива. Добавляет новый элемент в конец. В опциях значение элемента по ключу value.
-
prepend - для массива. Добавляет новый элемент в начало. В опциях значение элемента по ключу value
-
insert - для массива. Добавляет новый элемент в указанную позицию. В опциях значение элемента по ключу value, позиция по ключу index.
-
replace - для массива. Заменяет элемент в указанной позиции на новый. В опциях значение нового элемента по ключу value, позиция по ключу index.
-
replace_auto - для массива. Заменяет все элементы массива на указанное значение. В опциях значение по ключу value.
-
delete - для массива. Удаляет элемент из указанной позиции. В опциях значение позиции по ключу index.
-
keystore - для объекта. Сохраняет элемент по указанному ключу, в зависимости от наличия ключа добавляет или изменяет значение. В опциях значение элемента по ключу value, значение ключа по ключу key.
-
keyreplace - для объекта. Заменяет элемент по указанному ключу, а если ключ отсутствует, то оставляет без изменений. В опциях значение элемента по ключу value, значение ключа по ключу key.
-
keyinsert - для объекта. Сохраняет элемент по указанному ключу, если он отсутствует, а иначе завершается с ошибкой. В опциях значение элемента по ключу value, значение ключа по ключу key.
-
keydelete - для объекта. Удаляет элемент по указанному ключу. В опциях значение ключа по ключу key.
Примеры.
Исходная переменная x
{ "name": "Андрей Васильев", "id": "1377340472378151" }
Пример 1. Keyinsert
Добавлено в json ключа "channel" со значением "test".
modify_json( "", [x], "{\"action\":\"keyinsert\", \"key\":\"channel\", \"value\":\"\\\"test\\\"\"}" )
Результат
{
"channel":"test",
"name":"Андрей Васильев",
"id":"1377340472378151"
}
Если Key channel существует до выполнения modify_json, то результат будет Ошибка |
Пример 2. Keyreplace
Заменена значения у поля name.
modify_json( "", [x], "{\"action\":\"keyreplace\", \"key\":\"name\", \"value\":\"\\\"test\\\"\"}" )
Результат
{ "name":"test", "id":"1377340472378151" }