Funciones integradas

Studio tiene funciones integradas que puede usar en sus scripts. Algunas de las funciones integradas se encuentran disponibles en la lista de autocompletar que aparece cuando escribe en la ventana Snippet editor. Hay otras funciones integradas que no están disponibles en esta lista, pero que puedes usarlas. La información detallada sobre todas las funciones integradas disponibles está disponible en la segunda mitad de esta página.

Esta página también ofrece listas de las funciones integradas agrupadas en categorías. Esto hace que sea más fácil localizar una función cuando sabe el tipo de datos con los que estás trabajando y lo que le gustaría obtener, pero no el nombre de la función. Puede ver listas de funciones que le permiten:

También hay una lista con otras funciones que no encajan en ninguna categoría.

Puede obtener más información sobre el uso de funciones en Studio, incluida la creación de sus propias funciones personalizadas, en la página de ayuda de las Funciones.

Esta página no brinda información sobre las funciones integradas para su uso con RestProxy, el servicio que puede usar para conectar sus scripts a las API RESTful. Estas funciones se abordan en la página de ayuda de RestProxy.

Pruébelo

Descargue el script de Ejemplos de Funciones e impórtelo a Studio. Los ejemplos de esta página de ayuda se encuentran en las acciones Snippet del script de ejemplo. Puede abrir la Snippet Editor ventana y ejecutar el depurador para ver cómo funciona cada ejemplo.

Funciones que se pueden usar con fechas y horas

Utilice las siguientes funciones con fechas y horas en sus scripts.

Una Fecha de automatización OLE es una fecha escrita como número de punto flotante. El lado izquierdo del punto decimal es el número de días desde la medianoche del 30 de diciembre de 1899. El lado derecho del punto decimal es la hora de ese día dividida por 24. Por ejemplo, las 6:00 a. m. del 31 de diciembre de 1899 son 1,25.

Función

Descripción

asdate() Convierte el contenido de una variable en una cadena de fecha/hora utilizando el formato de fecha especificado.
asdatedow() Devuelve el día de la semana como valor ordinal de 0 a 6 donde 0 es domingo.
asdatetime() Convierte el valor de la variable en una cadena de fecha/hora utilizando el formato de fecha/hora especificado.
asgmt() y asutc() Convierte el contenido de una variable en una cadena de fecha/hora convertida a GMT o UTC.
asisodatetime()

Convierte el valor de una variable a un formato de fecha/hora ISO 8601: aaaa-MM-ddTHH:mm:ss.SSSXXX.

astime() Convierte el contenido de una variable en un valor de tiempo.
dateadd(date, value) Devuelve una nueva fecha con base en date más value.
datebuild(year, month, day) Devuelve una cadena de fecha/hora que usa el Año, Mes y Díaespecificados.
datediff(unit,date1, date2) Devuelve la diferencia entre dos fechas.
datefmt(format) Convierte el contenido de una variable en una cadena de fecha/hora utilizando el format especificado.
datepart(unit)

 

Devuelve una parte de una fecha u hora según el unit especificado.
datetimebuild(year, month, day, hour, minute, second) Devuelve una cadena de fecha/hora basada en el Year, Month, Day, Hour, Minute, Second especificado.
dow() Devuelve el día actual de la semana como valor ordinal de 0 a 6 donde 0 es domingo.

Funciones a usar con números

Utilice las siguientes funciones con variables que contengan valores numéricos. Otras funciones que puede utilizar con números son las funciones para cálculos matemáticos.

Función

Descripción

ceil(value

R evuelve el número entero más pequeño que sea mayor o igual al value especificado.

floor(value

R evuelve el número entero mayor que sea menor o igual al value especificado.

format(format) Devuelve una cadena con los caracteres numéricos en el formato que usa el format especificado.
isdigit() Evalúa el contenido de una variable para determinar si el primer carácter es numérico (0-9).
isnumeric() Evalúa el contenido de una variable para determinar si todos los carácteres son alfabéticos (A-Z o a-z).
max(value1, value2) y min(value1, value2) Devuelve el mayor o menor de dos valores especificados.
random() Devuelve un número entero aleatorio no negativo.
round(value) Redondea el value especificado al entero más cercano.

Funciones a usar con letras

Utilice las siguientes funciones con variables que contengan letras:

Función

Descripción

isalpha() Evalúa el contenido de una variable para determinar si todos los carácteres son alfabéticos (A-Z o a-z).
isletter()

Evalúa el contenido de una variable para determinar si el primer carácter es alfabético (A-Z o a-z).

islower() y isupper() Evalúa el contenido de una variable para determinar si el primer carácter es una letra minúscula (a-z) o una letra mayúscula (A-Z).
lower() y upper()

Convierte en minúsculas (a-z) o mayúsculas (A-Z) todos los caracteres de letras del valor.

Funciones para realizar cálculos

Utilice estas funciones para realizar cálculos matemáticos. No están disponibles estas funciones en la lista de autocompletar que se despliega cuando se utiliza una acción SNIPPET, pero funcionan si se les ingresa manualmente.

Función

Descripción

abs(value)

Devuelve el valor absoluto del value especificado.

acos(value)

Devuelve el ángulo en radianes cuyo coseno es el value especificado.

asin(value)

Devuelve el ángulo en radianes cuyo seno es el valor especificado value.

atan(value)

Devuelve el ángulo en radianes cuya tangente es el valor especificado value.

atan2(x, y)

Devuelve el ángulo en radianes cuya tangente es el cociente de los dos números especificados (x, y).

cos(value)

Devuelve el coseno del value especificado. El value debe estar en radianes.

cosh(value)

Devuelve el coseno hiperbólico del value especificado. El value debe estar en radianes.

exp(value)

Devuelve el número elevado a la potencia que se especifica en value.

ln(value)

Devuelve el logarítmo natural (base e) del value. El value se especifica como un número en base 10.

log10(value)

Devuelve el logaritmo en base 10 del value especificado.

log2(value, base)

Devuelve el logaritmo en base 2 del value especificado. El value se especifica como un número en base 10.

logn(value, base)

Devuelve el logaritmo del value especificado en la base especificada. Ambos parámetros se especifican como números 10 base.

round(value)

Redondea el value especificado al entero más cercano.

sgn(value)

Devuelve un valor que indica el signo del value especificado. Devuelve -1 si value es menor que cero, 0 si value es igual a cero y 1 si value es mayor a cero.

sin(value)

Devuelve el cseno del value especificado. El value debe estar en radianes.

sinh(value)

Devuelve el seno hiperbólico del value especificado. El value debe estar en radianes.

sqrt(value)

Devuelve la raíz cuadrada del value especificado.

tan(value)

Devuelve la tangente del value especificado. El value debe estar en radianes.

tanh(value)

Devuelve la tangente hiperbólico del value especificado. El value debe estar en radianes.

trunc(value)

Calcula la parte integral del value especificado. trunc() redondea value al entero más cercano hacia cero.

Funciones para modificar los valores

Utilice las siguientes funciones cuando desee cambiar algo sobre el valor de una variable al asignar el valor a una variable diferente.

Además de las funciones de esta tabla, muchas de las funciones para fechas y horas le permiten modificar valores. Por ejemplo, puede convertir un valor de fecha a un formato de fecha diferente.

Función

Descripción

append(text) Agrega el contenido de la primera variable a una segunda variable.
asjson() y asxml() Convierte el contenido de una variable a JSON o XML.
dateadd(date, value)

Devuelve una nueva fecha con base en date más value.

datefmt(format)

Convierte el contenido de una variable en una cadena de fecha/hora utilizando el format especificado.

format(format) Devuelve una cadena con los caracteres numéricos en el formato que usa el format especificado.
lower() y upper()

Convierte en minúsculas (a-z) o mayúsculas (A-Z) todos los caracteres de letras del valor.

replace(old, new) Reemplaza todas las instancias de old con new.
split(delimiter) Convierte el contenido de una variable en una cadena delimitada por barras verticales que puede tratarse como un arreglo. Reemplaza el delimiter existente especificado por un carácter de barra vertical.
trim() , ltrim() y rtrim() Devuelve una cadena sin caracteres de espacio. Se pueden eliminar todos los espacios, o sólo los caracteres de espacio al inicio o al final.
urlencode() y urldecode() Codifica o decodifica una URL según el estándar de Internet para la codificación de URL .

Funciones para determinar qué hay en un valor

Utilice estas funciones para ver qué contiene una variable:

Función

Descripción

contains(value) Evalúa una variable para el value especificado.
count() Devuelve el número de elementos en un arreglo u objeto.
index(indexValue) Devuelve el elemento del arreglo del contenido de la variable de acuerdo con el indexValue especificado.
indexof(text) Devuelve la posición del carácter del text que se especifica en el contenido de una variable.
isalpha () Evalúa el contenido de una variable para determinar si todos los carácteres son alfabéticos (A-Z o a-z).
isdigit() Evalúa el contenido de una variable para determinar si el primer carácter es numérico (0-9).
isletter()

Evalúa el contenido de una variable para determinar si todos los carácteres son alfabéticos (A-Z o a-z).

isnumeric()

Evalúa el contenido de una variable para determinar si todos los caracteres son numéricos (0-9).

isupper() y islower() Evalúa el contenido de una variable para determinar si el primer carácter es una letra minúscula (a-z) o una letra mayúscula (A-Z).
length() Devuelve el número de caracteres del valor de la variable.
left() y right() Devuelve los caracteres situados más a la izquierda o a la derecha del contenido de la variable, si los caracteres son números. El número de caracteres devueltos se basa en el count especificado.
size()

Devuelve el número de elementos en un arreglo.

Funciones para extraer parte de un valor

Utilice estas funciones cuando desee extraer parte de un valor de una variable para utilizarlo con una variable diferente:

Función

Descripción

datepart(unit)

Devuelve una parte de una fecha u hora según el unit especificado.

index(indexValue) Devuelve el elemento del arreglo del contenido de la variable de acuerdo con el indexValue especificado.
left(count) y right(count) Devuelve los caracteres situados más a la izquierda o a la derecha del contenido de la variable, si los caracteres son números. El número de caracteres devueltos se basa en el count especificado.
mid(start, length) Devuelve los caracteres de start a start+length.
substr(start, end) Devuelve los caracteres de start a end.

Funciones a usar con arreglos

Las siguientes funciones operan con arreglos.

Función

Descripción

count()

Devuelve el número de elementos en un arreglo u objeto.

index(indexValue)

Devuelve el elemento del arreglo del contenido de la variable de acuerdo con el indexValue especificado.

indexof(text)

Devuelve la posición del carácter del text que se especifica en el contenido de una variable.

size()

Devuelve el número de elementos en un arreglo.

split(delimiter)

Convierte el contenido de una variable en una cadena delimitada por barras verticales que puede tratarse como un arreglo. Reemplaza el delimiter existente especificado por un carácter de barra vertical.

Otro

Función

Descripción

char(code)

Devuelve un carácter del valor del código ASCII code, que permite a un script agregar de forma programática caracteres especiales a una cadena.

copy(objectName)

Crea una copia de los datos que contiene el objeto dinámico de datos objectName. Se separa la copia del original, para que se puede cambiar un valor en una versión y no afectar el mismo valor en la otra versión.

iif(compare, trueval, falseval)

Inline-If para los números. Evalúa compare, luego devuelve trueval o falseval dependiendo de los resultados de la evaluación.

iifs(compare, trueval, falseval)

Cadena en línea-if. Evalúa compare, luego devuelve trueval o falseval dependiendo de los resultados de la evaluación.

isnull()

Determina si un objeto dinámico de datos o la propiedad de un objeto es nulo (indefinido o 0).

savetodb(1or0) Le permite guardar en la base de datos el valor de una variable.
screenpop()

Devuelve un valor que indica si está configurado en la variable el indicador ScreenPop.

setscreenpop(1or0)

Le permite utilizar el valor de una variable en la pantalla emergenteCerrado Puede configurar una ventana emergente con información sobre el contacto. Aparece en la pantalla de un agente después de un determinado evento, generalmente cuando el agente se conecta a un contacto., si la ACD habilidadCerrado Se utiliza para automatizar la entrega de interacciones basadas en las habilidades, capacidades y conocimientos de los agentes actual tiene habilitado Usar ventanas emergentes.

setscreenpop() no es una función verdadera. Es una propiedad de las variables en Studio que puede configurar cuando trabaje con pantallas emergentesCerrado Puede configurar una ventana emergente con información sobre el contacto. Aparece en la pantalla de un agente después de un determinado evento, generalmente cuando el agente se conecta a un contacto.. Puede aplicarlo a variables cuando trabaje en snippets. También puede configurarla cuando utilice la acción Assign para crear variables.

Agregue setscreenpop() a una variable con 1 como argumento para que se pase el valor de la variable a la pantalla emergente.

ASSIGN val1 = "name"
ASSIGN popthis = val1.setscreenpop(1)

 

Todas las funciones disponibles

Esta sección brinda información detallada sobre el uso de cada función integrada. A menos que se especifique lo contrario, puede llamar a estas funciones en cualquier lugar donde usaría una variable o expresión.

abs(value)

Devuelve el valor absoluto del value especificado.

ASSIGN abVal = "{abs(-42)}"

El resultado del ejemplo es abVal = 42

acos(value)

Devuelve el ángulo en radianes cuyo coseno es el value especificado.

ASSIGN angleRad3 = "{acos(cosNum)}"

El resultado del ejemplo es angleRad3 = 0.394791119699762

append(string)

Añade el string al final de los contenidos actuales en la variable. Esta función sólo opera dentro de una acción Snippet o ASSIGN.

IF TEST = 1
{
  ASSIGN originalString = "My name"
  ASSIGN originalString2 = "Whose pajamas are these? "
  ASSIGN appendWithEscape = $"They're the cat's pajamas."			
}
originalString.append(" is Inigo Montoya.")
originalString2.append(AppendWithEscape)

El resultados del ejemplo son:

  • originalString = My name is Inigo Montoya.
  • originalString2 = Whose pajamas are these? They're the cat's pajamas.

asdate()

Convierte el contenido de una variable en una cadena de fecha/hora utilizando el formato de fecha especificado.

Cuando se usa con una expresión en una cadena: Convierte el contenido de la variable en una cadena de fecha/hora.

Cuando se usa como expresión numérica: Convierte el contenido de la variable en una fecha y hora de automatización OLE al analizar el contenido de la cadena. Los contenidos de la cadena deben coincidir con uno de los formatos de fecha estándar de Windows como mm/dd/yyyy.

IF TEST = 1
{
  ASSIGN myDate = "{date}"
}

//This example converts a date string into its OLE numeric equivalent
ASSIGN numericDate = myDate.asdate()

//This example converts an OLE numeric date to its string equivalent
ASSIGN stringDate = "{numericDate.asdate()}" 

Los resultados de este ejemplo dependen de la fecha local actual de cuando se ejecuta la función. Si la fecha local actual es 03/07/2023. los resultados son:

  • numericDate = 45110
  • stringDate = 07/03/2023

asdatedow()

Convierte el contenido de la variable a una fecha/hora de automatización OLE mediante el análisis sintáctico de los contenidos de las cadenas y, a continuación, devuelve el día de la semana como valor ordinal de 0 a 6 donde 0 es domingo. El contenido de la cadena debe coincidir con uno de los formatos de fecha Ventanas estándar como MM/dd/yyyy.

IF TEST = 1
{
  ASSIGN MyDate = "07/03/2023"
}
ASSIGN MyDow = MyDate.asdatedow()
SWITCH MyDow
{
  CASE 0   { ASSIGN newToday = "Sunday" }
  CASE 1   { ASSIGN newToday = "Monday" }
  CASE 2   { ASSIGN newToday = "Tuesday" }
  CASE 3   { ASSIGN newToday = "Wednesday" }
  CASE 4   { ASSIGN newToday = "Thursday" }
  CASE 5   { ASSIGN newToday = "Friday" }
  CASE 6   { ASSIGN newToday = "Saturday" }
}

El resultados del ejemplo son

  • myDow = 1
  • newToday = Monday

asdatetime()

Convierte el valor de la variable en una cadena de fecha/hora utilizando el formato de fecha/hora especificado.

Cuando se usa como cadena: Convierte el contenido de la variable en una cadena de fecha/hora.

Cuando se usa como valor númerico: Convierte el contenido de la variable en una fecha y hora de automatización OLE al analizar el contenido de la cadena. El contenido de la cadena debe coincidir con uno de los formatos de fecha-hora estándar de Windows como MM/dd/yyyy HH:mm:ss.

Si pasa una fecha sin hora, la función agrega una hora. El valor predeterminado es las 12:00 a. m.

IF TEST = 1
{
  ASSIGN MyDateTime = "{now}"
  ASSIGN anotherDateTime = "04/03/23 11:34:09 PM"
}
ASSIGN numericDateTime = myDateTime.asdatetime()
ASSIGN numericDateTime2 = anotherDateTime.asdatetime()

ASSIGN stringDateTime = "{numericDateTime.asdatetime()}"
ASSIGN stringDateTime2 = "{numericDateTime2.asdatetime()}"
		

El resultados del ejemplo son:

  • numericDateTime = 45110.3720486111 (cuando la fecha/hora local actual es 7/3/2023 8:55:45 a. m.)
  • numericDateTime2 = 45019.9820486111
  • stringDateTime = 7/3/2023 8:55:45 AM
  • stringDateTime2 = 4/3/2023 11:34:09 PM

asgmt() y asutc()

La función asgmt() convierte la hora a GMT y la función asutc() convierte la hora a UTC. El formato de la fecha depende del contenido original de la variable.

Cuando haya una expresión de cadena: Las funciones convierten el valor a una fecha/hora de automatización OLE traducida a GMT o UTC. La variable debe contener una representación de cadena válida de una fecha/hora. La hora fuente se basa en la zona horaria unidad de negocioCerrado Agrupación organizativa de alto nivel utilizado para administrar el soporte técnico, facturación y configuración global para su CXone entornotenant o la zona horaria definida a través de la Timezone acción .

Cuando se usa con una expresión numérica: Las funciones convierten el valor en una cadena de fecha/hora traducida a GMT o UTC. Por ejemplo: "Lun, 03 oct 2023 13:35:14 GMT”.

Al utilizar estas funciones, el formato de la hora contenida en la variable tampoco puede incluir:

  • Un desplazamiento de UTC.
  • Carácter A Z, como 2023-03-04 18:54:39.000Z. Incluir una Z indica que la hora no tiene diferencia horaria respecto a GMT/UTC.

Incluir cualquiera de estos provoca un error cuando asgmt() o asutc() intenta convertir las zonas horarias porque la zona horaria original se ve diferente de la zona horaria de la unidad de negocios. Además, para evitar el error al utilizar el formato de fecha/hora ISO 8601, incluya una acción Timezone antes de la Snippet acción y configúrela para que utilice la zona horaria de su unidad de negocio. Esto define la zona horaria en el nivel del script para que el script y su unidad de negocio tengan la misma zona horaria.

IF TEST = 1
{
  ASSIGN MyDateTime = #"{now}" 
}

ASSIGN GMTDateTimeNumeric = MyDateTime.asgmt()
ASSIGN GMTDateTimeString = "{GMTDateTimeNumeric.asdatetime()}"

ASSIGN UTCDateTimeNumeric = MyDateTime.asutc()
ASSIGN UTCDateTimeString = "{UTCDateTimeNumeric.asdatetime()}"

asin(value)

Devuelve el ángulo en radianes cuyo seno es el valor especificado value.

ASSIGN angleRad4 = "{asin(sinNum)}"

El resultado del ejemplo es angleRad4 = 0.394791119699762

asisodatetime()

Convierte el valor de una variable a un formato de fecha/hora ISO 8601: aaaa-MM-ddTHH:mm:ss.SSSXXX. La salida de esta función es siempre el formato de fecha/hora ISO.

En las llamadas de REST API, los sellos de hora ISO que tienen una compensación respecto de la UTC especificada y que aparecen en la respuesta, se convierten a la Hora de la Montaña (MT). De no especificarse una compensación, no se convierte el sello de hora.

IF TEST = 1
{
	ASSIGN myDateTime = "{now}"
	ASSIGN anotherDateTime = "04/03/23 11:34:09 PM"
}
ASSIGN numericDateTime = myDateTime.asisodatetime()
ASSIGN numericDateTime2 = anotherDateTime.asisodatetime()
ASSIGN stringDateTime = "{numericDateTime.asisodatetime()}"
ASSIGN stringDateTime2 = "{numericDateTime2.asisodatetime()}"

El resultados del ejemplo son:

  • numericDateTime = 2023-07-03T09:43:06.000Z (cuando la fecha/hora local actual es 7/3/2023 9:43:06 AM)
  • numericDateTime2 = 2023-04-03T23:34:09.000Z
  • stringDateTime = 2023-07-03T05:43:06.000Z
  • stringDateTime2 = 2023-04-03T19:34:09.000Z

asjson() y asxml()

Convierte un objeto JSON o XML en una cadena y lo asigna a una nueva variable. El siguiente ejemplo utiliza un objeto dinámico de datos, pero puede usar estas funciones con objetos devueltos por una llamada API o los objetos de acciones del bot de agente virtualCerrado Una aplicación de software que maneja las interacciones del cliente en lugar de un agente humano en vivo.).

La función asjson() convierte todo el contenido del objeto como una cadena entre comillas dobles, incluidos los valores numéricos o booleanosCerrado Un tipo de datos que tiene dos valores posibles: verdadero y falso.. Puede tener en cuenta esto en su script si necesita un valor numérico o booleano con el formato adecuado en su JSON. Una solución es utilizar la función replace(). Le permite reemplazar las comillas dobles en el valor de la cadena por null.

DYNAMIC object1
ASSIGN object1.value1 = "this"
ASSIGN object1.value2 = "that"
DYNAMIC object2				
ASSIGN object2.value1 = "first"
ASSIGN object2.value1 = "last"			

ASSIGN objectjson = "{object1.asjson()}"
ASSIGN objectxml = "{object2.asxml()}"		

Otra solución es para inyectar cadenas de caracteres de los marcadores de posición que se reemplazan manualmente después de convertir el objetivo dinámico en una cadena de JSON.

ASSIGN integerValue = 1234
ASSIGN trueValue = true
ASSIGN falseValue = false
DYNAMIC object
ASSIGN object.myIntegerValue = "INTEGERVALUE_PLACEHOLDER"
IF trueValue = true
  {
	ASSIGN object.myTrueValue = "TRUE_PLACEHOLDER"
  }
ELSE
  {
	ASSIGN object.myTrueValue = "FALSE_PLACEHOLDER"
  }
IF falseValue = true
  {
	ASSIGN object.myFalseValue = "TRUE_PLACEHOLDER"
  }
ELSE
  {
	ASSIGN object.myFalseValue = "FALSE_PLACEHOLDER"
  }
ASSIGN objectJSON = "{object.asjson()}"

ASSIGN objectJSON = objectJSON.replace("{char(34)}TRUE_PLACEHOLDER{char(34)}","true").replace("{char(34)}FALSE_PLACEHOLDER{char(34)}","false")
ASSIGN objectJSON = objectJSON.replace("{char(34)}INTEGERVALUE_PLACEHOLDER{char(34)}",integerValue)

Práctica recomendada: Utilice la función asjson() en una Snippet accióny almacenar el JSON resultante en una variable de cadena. Utilice la variable de cadena en las propiedades de otras Studio acciones cuando necesite pasar los datos JSON. Este enfoque evita la posibilidad de errores de validación al guardar el script.

El resultados del ejemplo son:

  • objectjson={"value1":"this","value2":"that"}

  • objectxml=<?xml version="1.0" encoding="utf-16" standalone="yes"?><DynamicDataObject><value1>first</value1><value2>last</value2></DynamicDataObject>

astime()

Convierte el contenido de una variable en un valor de tiempo.

Cuando se usa con un valor de cadena: Convierte el contenido de la variable en una fecha y hora de automatización OLECerrado Estado que permite a un agente completar los requisitos laborales después de finalizar una interacción. Por ejemplo, 0.353506944447872.

Cuando se usa con un valor numérico: Convierte el contenido de la variable en una cadena de tiempo. La variable debe contener un valor de tiempo de automatización OLE. Por ejemplo, 8:29:03 a. m.

IF TEST = 1
{
  ASSIGN myTime = "{time}"
}

//This example converts a time string into its OLE numeric equivalent
ASSIGN numericTime = myTime.astime()

//This example converts a OLE numeric time to its string equivalent
ASSIGN stringTime = "{numericTime.astime()}" 

Al probar la función, los resultados de este ejemplo dependen de la hora local. Si el valor de time es 8:37:42 AM, los resultados son:

  • numericTime = 0.359513888892252
  • stringTime = 8:37:42 AM

atan(value)

Devuelve el ángulo en radianes cuya tangente es el valor especificado value.

ASSIGN angleRad = "{atan(0.4166666666666667)}"		

El resultado del ejemplo es angleRad=0.394791119699762

atan2(value)

Devuelve el ángulo en radianes cuya tangente es el cociente de los dos números especificados (x, y).

ASSIGN angleRad2 = "{atan2(5,12)}"

El resultado del ejemplo es angleRad2=0.394791119699761

ceil(value) y floor(value)

ceil devuelve el número entero más pequeño que sea mayor o igual al value especificado.

floor devuelve el número entero mayor que sea menor o igual al value especificado.

IF TEST = 1
{
  ASSIGN value = 102.589
}
ASSIGN newValue1 = floor(value)

ASSIGN newValue2 = ceil(value)

El resultados del ejemplo son:

  • newValue1 es 102.
  • newValue1 es 103.

contains(value)

Devuelve un valor de 1 (verdadero) si la variable contiene un value especificado. Si la variable es un arreglo, se revisan todos los elementos por el value exacto.

contains() no distingue entre mayúsculas y minúsculas.

IF TEST = 1
{
  ASSIGN varString1 = "abc!123"
  ASSIGN varString2 = "8001234567|8881234567|8771234567"
  ASSIGN dnis = 8881234567
  ASSIGN dnis2 = 8887654321
}
ASSIGN stringFoundRes1 = varString1.contains('!') // true
ASSIGN stringFoundRes2 = varString1.contains('D') // false 

ASSIGN DNISFoundRes1 = varString2.contains(dnis) // true
ASSIGN DNISFoundRes2 = varString2.contains(dnis2) // false

El resultados del ejemplo son:

  • stringFoundRes1 es 1 (verdadero).
  • stringFoundRes2 es 0 (falso).
  • DNISFoundRes1 es 1 (verdadero).
  • DNISFoundRes2 es 0 (falso).

char(code)

Devuelve un carácter del valor del código ASCII code, que permite a un script agregar de forma programática caracteres especiales a una cadena. Por ejemplo, puede agregar retornos de carro, tabulaciones y caracteres de línea nueva.

Sea cuidadoso con esta función. char(0) a char(7) están reservados para uso interno y pueden provocar que no funcionen correctamente los scripts.

IF TEST = 1
{
  ASSIGN textToSpeech = "John Doe"
  ASSIGN varWithCommas = "one,two,three,four"
}

ASSIGN character1 = "{char(34)}"
ASSIGN character2 = "{char(44)}"
ASSIGN character3 = "{char(39)}"

ASSIGN marqueeMessage = "Marquee {char(10) char(13)} Message on {char(10) char(13)} different lines."

ASSIGN promptListWithDoubleQuotes = "{char(34)}Prompts\File with space.wav{char(34)} {char(34)}{textToSpeech}{char(34)}"

ASSIGN varWithReplacedCommas = "{varWithCommas.replace(char(44),' ')}"

ASSIGN character4 = "{char(123)}"
ASSIGN character5 = "{char(125)}"
ASSIGN cssWithReplacedBrackets = "a {char(123)}text-decoration: none;{char(125)}"

El resultados del ejemplo son:

  • marqueeMessage = "Marquee

    Message on

    different lines."

  • promptListWithDoubleQuotes = "Prompts\File with space.wav" "John Doe"
  • varWithReplacedCommas = one two three four
  • cssWithReplacedBrackets = a {text-decoration: none;}

copy(objectName)

Crea una copia de los datos que contiene el objeto dinámico de datos objectName. Se separa la copia del original, para que se puede cambiar un valor en una versión y no afectar el mismo valor en la otra versión. Obtenga más información sobre cómo copiar objetos dinámicos.

Puede utilizar la función copy() con subpropiedades: Por ejemplo: currentContact.who = copy(beowulfCharacteristics.name).

DYNAMIC firstObject
DYNAMIC secondObject

secondObject = copy(firstObject)

La función copy() utiliza más recursos del sistema que asignar una referencia. Realiza una copia profunda al convertir el objeto en una representación textual y luego nuevamente en un objeto. Si el objeto con el que está trabajando contiene una gran cantidad de datos, este proceso podría afectar el funcionamiento del script.

cos(value)

Devuelve el coseno del value especificado. El value debe estar en radianes.

ASSIGN angleRad = 0.394791119699762 //in radians
ASSIGN cosNum = "{cos(angleRad)}"		

El resultado del ejemplo es cosNum=0.923076923076923

cosh(value)

Devuelve el coseno hiperbólico del value especificado. El value debe estar en radianes.

 ASSIGN hCosine = "{cosh(angleRad)}"

El resultado del ejemplo es hCosine=1.07894746856059

count() y size()

Devuelve el número de elementos en un arreglo. size() funciona únicamente con arreglos. count() funciona con arreglos en los objetos.

Si el valor no es una arreglo, pero no está vacío, se devuelve el valor 1 (verdadero). Si está vacío el valor, se devuelve 0 (falso).

IF TEST = 1
{
  ASSIGN example1 = "Beowulf|Grendel|Hrothgar|Wyrm|Breca|Scyld|Hrethel"
  ASSIGN example2 = "8015551234"
  ASSIGN example3 = ""
  DYNAMIC example4 
  ASSIGN example4[1].name = "Beowulf"
  ASSIGN example4[2].name = "Grendel"
}
ASSIGN ex1Size = example1.size()
ASSIGN ex2Size = example2.size()
ASSIGN ex3Size = example3.size()

ASSIGN ex1Count = example1.count()
ASSIGN ex2Count = example2.count()
ASSIGN ex3Count = example3.count()

ASSIGN ex4Count = count(example4)

El resultados del ejemplo son:

  • exSize y ex1Count son 7.
  • ex2Size y ex2Count son 1.
  • ex3Size y ex3Count son 0.
  • ex4Count es 2.

dateadd(unit, date, value)

Devuelve una nueva fecha con base en date más value.. Se devuelve la nueva fecha como una fecha/hora de automatización OLECerrado Una forma de escribir fechas como un entero de coma flotante. Indica el número de días transcurridos desde el 30 de diciembre de 1899.. La interpretación de value la determina unit. Si value es negativo, value se resta de date.

La mejor práctica es pasar una variable válida de fecha/hora, como se muestra en el ejemplo a continuación, donde el valor de myDateTime tiene un signo de número (# ) enfrente. Esto lo hace una variable de fecha/hora.

Las opciones posibles para la unidad son: year, month, week, day, hour, minute y second.

unit distingue entre mayúsculas y minúsculas. Encerrar unit entre comillas simples o dobles, o pasar una variable que contenga unit. Si se pasa una variable, no la incluya entre comillas ni llaves.

Para utilizar esta función en una cadena, incluya asdatetime(), según se muestra en el siguiente ejemplo.

IF TEST = 1
{
  ASSIGN myDateTime = #"{now}"
}
//These are examples of adding to a datetime variable:

ASSIGN newDateYearNumeric = dateadd('year', myDateTime, 1) //add a single year
ASSIGN newDateYearString = "{newDateYearNumeric.asdatetime()}"

ASSIGN newDateMonthNumeric = dateadd('month', myDateTime, 1) //add a single month
ASSIGN newDateMonthString = "{newDateMonthNumeric.asdatetime()}"

ASSIGN newDateWeekNumeric = dateadd('week', myDateTime, 1) //add a single week
ASSIGN newDateWeekString = "{newDateWeekNumeric.asdatetime()}"

ASSIGN NewDateDayNumeric = dateadd('day', MyDateTime, 1) //add a single day
ASSIGN NewDateDayString = "{NewDateDayNumeric.asdatetime}"

ASSIGN newDateHourNumeric = dateadd('hour', myDateTime, 1) //add a single hour
ASSIGN newDateHourString = "{newDateHourNumeric.asdatetime()}"

ASSIGN NewDateMinuteNumeric = dateadd('minute', myDateTime, 1) //add a single minute
ASSIGN NewDateMinuteString = "{NewDateMinuteNumeric.asdatetime()}"

ASSIGN newDateSecondNumeric = dateadd('second', myDateTime, 1) //add a single second
ASSIGN newDateSecondString = "{newDateSecondNumeric.asdatetime()}"

//This is an example of subtracting from a date:
ASSIGN oldDateMonthNumeric = dateadd('month', myDateTime, -2) //remove 2 months
ASSIGN oldDateMonthString = "{0ldDateMonthNumeric.asdatetime()}"

El resultados del ejemplo son de la siguiente manera, utilizando el 3 de marzo de 2023 en el formato 3/3/2023 10:42:44 AM como valor de now:

newDateYearString = 3/3/2024 10:42:44 AM

newDateMonthString = 4/3/2023 10:42:44 AM

newDateWeekString = 3/10/2023 10:42:44 AM

newDateDayString = 3/4/2023 10:42:44 AM

newDateHourString = 3/3/2023 11:42:44 AM

newDateMinuteString = 3/3/2023 10:43:44 AM

newDateSecondString = 3/3/2023 10:42:45 AM

datebuild(year, month, day)

Devuelve una cadena de fecha/hora utilizando los Year, Month y Day brindados.

Cuando se usa en una cadena: Devuelve una fecha numérica con el formato estándar de fecha/hora que incluye la hora. La hora predeterminada es medianoche. Si desea que la fecha utilice los nombres de meses y días, utilice las funciones asdate() o asdatetime(), según se muestra en el siguiente ejemplo.

Cuando se usa en una expresión numérica: Devuelve una fecha como cadena de fecha-hora de automatización OLECerrado Una forma de escribir fechas como un entero de coma flotante. Indica el número de días transcurridos desde el 30 de diciembre de 1899..

IF TEST = 1
{
  ASSIGN month = "1"
  ASSIGN day = "24"
  ASSIGN year = "1936"
}

ASSIGN stringDate1 = "{datebuild(Year,Month,Day).asdate}"
ASSIGN stringDate2 = "{datebuild(Year,Month,Day)}"

ASSIGN numericDate = datebuild(Year,Month,Day)

El resultados del ejemplo son:

  • stringDate1 = 1/24/1936
  • stringDate2 = 1/24/1936 12:00:00 AM
  • numericDate = 13173

datediff(unit, date2)

Devuelve la diferencia entre dos fechas, date1 y date2.

La unit especifica la parte de la fecha por comparar y date2 especifica la fecha por comparar con el valor de la variable. Si date2 es mayor que el valor en la variable, los resultados serán positivos.

Las opciones posibles para la unidad son: week, day, hour, minute y second.

unit distingue entre mayúsculas y minúsculas. Encerrar unit entre comillas simples o dobles, o pasar una variable que contenga unit. Si se pasa una variable, no la incluya entre comillas ni llaves.

Si es fraccionaria la diferencia, el valor devuelto será también fraccionario. Por ejemplo, si la variable contiene la fecha y hora 10/15/2023 6:00 AM y date2 es 10/16/2023 6:00 PM, el resultado para el unit día es 1.5.

IF TEST = 1
{
  ASSIGN myDateTime = #"{now}"
  ASSIGN myBirthday = #"4/24/1936 10:42 PM"
}
ASSIGN weekDiff = datediff("week", myBirthday, myDateTime)
ASSIGN dayDiff = datediff("day", myBirthday, myDateTime)
ASSIGN hourDiff = datediff("hour", myBirthday, myDateTime)
ASSIGN minuteDiff = datediff("minute", myBirthday, myDateTime)
ASSIGN secondDiff = datediff("second", myBirthday, myDateTime)

El resultados del ejemplo son:

  • dayDiff = 1584.9546875
  • hourDiff = 38038.9125
  • minuteDiff = 2282334.75
  • secondDiff = 136940085
  • weekDiff = -368.850553902116

datefmt(date, format)

Deja salir a date utilizando la cadena de caracteres con el formato especificado. El valor de date debe ser uno de los siguientes:

Cuando defina la salida format, use los especificadores de formato para definir cómo desea que se vean la fecha y hora.

ASSIGN currentTime = now
ASSIGN formCurrentTime1 ="{datefmt(currentTime, 'yyyy-MM-dd HH:mm:ss')}"
ASSIGN formCurrentTime2 ="{datefmt(currentTime, 'MM/dd/yyyy hh:mm:ss')}"
ASSIGN formCurrentTime3 ="{datefmt(currentTime, 'HHmmssyyyyMMdd')}"
ASSIGN formCurrentTime4 ="{datefmt(currentTime, 'HH:mm:ss')}"

El resultados del ejemplo son

  • formCurrentTime1 = 2023-06-30 14:03:17
  • formCurrentTime2 = 06/30/2023 02:03:17
  • formCurrentTime3 = 14031720230630
  • formCurrentTime4 = 14:03:17

La función datefmt() también permite extraer parte de la fecha de un valor de fecha/hora existente. Para hacer esto, use esta sintaxis:

ASSIGN <var> = "{<date var>.datefmt('<format>')}"

Por ejemplo:

ASSIGN myDate = #"{now}"
ASSIGN myYear2 = "{myDate.datefmt('yyyy')}"

El resultado del ejemplo es miAño2 = 2023

datepart(unit)

Devuelve una parte de una fecha u hora. Devuelve una parte de una fecha u hora según el unit especificado. La variable debe contener un tipo de fecha/hora o una cadena con el formato adecuado de fecha/hora o número de automatización OLECerrado Una forma de escribir fechas como un entero de coma flotante. Indica el número de días transcurridos desde el 30 de diciembre de 1899.. unit especifica la porción de la fecha que se devolverá. Se debe llamar esta función con una variable de fecha/hora. No funcionará si se transfiere un valor de fecha/hora a la función.

Las opciones posibles para la unidad son: year, month, day, hour, minute, second y dow.

unit distingue entre mayúsculas y minúsculas. Encerrar unit entre comillas simples o dobles, o pasar una variable que contenga unit. Si se pasa una variable, no la incluya entre comillas ni llaves.

Si no se puede concluir la función debido a una entrada incorrecta o inesperada, la salida predeterminada es el 30 de diciembre de 1899.

Cuando se usa en una cadena:

Devuelve la representación de cadena de caracteres de la parte especificada de date:

  • Month devuelve la abreviatura del mes en tres caracteres.
  • Year devuelve el año completo en cuatro dígitos.
  • Hour devuelve la hora en formato de 24 horas.
  • Dow representa el Día de la Semana y devuelve el valor completo. representación de cadena no abreviada del nombre del día de la semana. Por ejemplo, el jueves.

Todos los valores numéricos, salvo el año, se prefijan con un 0 sI hay menos de dos dígitos.

Cuando se usa en una expresión numérica:

Devuelve la representación numérica de la parte especificada date:

  • Year devuelve el año completo en cuatro dígitos.
  • Hour devuelve la hora en formato de 24 horas.
  • Dow representa el día de la semana y devuelve el valor ordinal (0-6) del día de la semana, donde el domingo es 0, el lunes es 1, y así sucesivamente.
IF TEST = 1
{
  ASSIGN myDateTime = now
}
ASSIGN myYear = myDateTime.datepart('year')
ASSIGN myHour = myDateTime.datepart('hour')				
ASSIGN myMinute = myDateTime.datepart('minute')
ASSIGN mySecond = myDateTime.datepart('second')
				
ASSIGN stringMyDay = "{myDateTime.datepart('day')}"
ASSIGN numericMyDay = myDateTime.datepart('day')
				
ASSIGN stringMyMonth = "{myDateTime.datepart('month')}"
ASSIGN numericMyMonth = myDateTime.datepart('month')
							
ASSIGN stringMyDow = "{myDateTime.datepart('dow')}"
ASSIGN numericMyDow = myDateTime.datepart('dow')

El resultados del ejemplo son:

  • myYear = 2023
  • myHour = 13
  • myMinute = 51
  • mySecond = 3
  • stringMyDay = 30
  • numericMyDOW = 5
  • stringMyDOW = Friday
  • numericMyMonth = 6
  • stringMyMonth = Jun

datetimebuild(year, month, day, hour, minute, second)

Devuelve un valor de fecha/hora. Si no se puede concluir la función debido a una entrada incorrecta o inesperada, la salida predeterminada es el 30 de diciembre de 1899.

Cuando se usa en una cadena: Devuelve una fecha/hora con el formato estándar de fecha/hora.

Cuando se utiliza como expresión numérica: Devuelve una fecha/hora de automatización OLECerrado Una forma de escribir fechas como un entero de coma flotante. Indica el número de días transcurridos desde el 30 de diciembre de 1899..

IF TEST = 1
{
  ASSIGN month = "1"
  ASSIGN day = "24"
  ASSIGN year = "1985"
  ASSIGN hour = "15"
  ASSIGN minute = "42"
  ASSIGN second = "13"
}
ASSIGN stringDate = "{datetimebuild(year,month,day,hour,minute,second)}"
ASSIGN numericDate = datetimebuild(year,month,day,hour,minute,second)

El resultados del ejemplo son:

  • numericDate = 31071.6543171296
  • stringDate = 1/24/1985 3:42:13 PM

dow()

Devuelve el día de la semana como valor ordinal de 0 a 6 donde 0 es domingo.

La variable debe contener un tipo de fecha/hora o una cadena con el formato adecuado de fecha/hora o número de automatización OLECerrado Una forma de escribir fechas como un entero de coma flotante. Indica el número de días transcurridos desde el 30 de diciembre de 1899.. Si no se puede concluir la función debido a una entrada incorrecta o inesperada, la salida predeterminada es el 30 de diciembre de 1899.

ASSIGN myNow = "{now}"
ASSIGN myDow = myNow.dow()

Los resultados de la función dependen del valor de now cuando se evalúa dow.

format(specifiers)

Devuelve una cadena en un formato que usa el specifiers especificado. La specifiers aplica únicamente al valor numérico contenido en la variable. Para pscifiers, utilice los siguientes especificadores de formato:

  • C o c: Moneda
  • E o e: Científico/exponencial
  • F o f: Punto-fijo
  • N o n: Número

  • P o p: Porcentaje
  • R o r: Redondeado
  • X o x: Hexadecimal
  • 0: Marcador de posición cero

Puede obtener más información sobre estos formatos numéricos para usarlos con esta función.

IF TEST = 1
{
  ASSIGN stringVal = "0013001.93912837"
  ASSIGN stringVal2 = 6002348902348890234.234432234
}
ASSIGN currencyResultBigC = "{stringVal.format('C3')}"
ASSIGN currencyResultLilC = "{stringVal.format('c')}"

ASSIGN scientificResult = "{stringVal.format('e')}"
ASSIGN scientificResult2 = "{stringVal.format('E2')}"

ASSIGN fixedPointResult = "{stringVal.format('F3')}"
ASSIGN fixedPointResult2 = "{stringVal.format('f')}"


ASSIGN numberResult = "{stringVal.format('N')}"
ASSIGN numberResult2 = "{stringVal.format('n4')}"

ASSIGN percentResult = "{stringVal.format('P')}"
ASSIGN percentResult2 = "{stringVal.format('P2')}"

ASSIGN roundTripResult = "{stringVal.format('R')}"

ASSIGN number1 = "1789789"
ASSIGN sectionSeparator1 = number1.format('###,###.##;0000.00;000.0000')

ASSIGN number2 = "0"
ASSIGN sectionSeparator2 = number2.format('0.00;0000.00;000.0000')

ASSIGN number3 = "-4321"
ASSIGN sectionSeparator3 = number3.format('0.00;0000.00;000.0000')

ASSIGN number6 = "2343.56"
ASSIGN digitPlaceholders1 = number6.format('###.###')

//Examples of the double ## and 00 placeholders

ASSIGN number4 = "456.47"
ASSIGN doubleZeroSpecifier = number4.format('00')

ASSIGN number7  = "456.47"
ASSIGN doubledigitSpecifier = number7.format('##')

//in the following example, notice the 0 in the hundredths place. 
//With the zero placeholder, it appears in the output. With the # placeholder
//it does not. 

ASSIGN number5 = "2343456.2043"
ASSIGN zeroPlaceholders = number5.format('000,000.00')

ASSIGN number8 = "2043456.2043"
ASSIGN digitPlaceholders2 = number8.format('###,###.##')

El resultados del ejemplo son:

  • currencyResultBigC = $13,001.939
  • currencyResultLilC = $13,001.94
  • fixedPointResult = 13001.939
  • fixedPointResult2 = 13001.94
  • numberResult = 13,001.94
  • numberResult2 = 13,001.9391
  • percentResult = 1,300,193.91%
  • percentResult2 = 1,300,193.91%
  • roundTripResult = 13001.93912837
  • scientificResult = 1.300194e+004
  • scientificResult2 = 1.30E+004

index(indexValue)

Devuelve el elemento del arreglo del contenido de la variable de acuerdo con el indexValue especificado. Esto es lo mismo que leer un arreglo usando corchetes. Por ejemplo, variable[3] es lo mismo que variable.index(3).

Los arreglos en Studio comienzan con 1, no con 0.

IF TEST = 1
{
  ASSIGN example1 = "Beowulf|Grendel|Hrothgar|Wyrm|Breca|Scyld|Hrethel"
  ASSIGN indexValue = 3
}
ASSIGN arrayPart1 = "{example1.index(indexValue)}"

indexof(string)

Devuelve la posición de los caracteres del string contenido en la variable. La primera posición es 1. Si la variable no contiene string, la función retorna el valor 0. Esta función es sensible a mayúsculas y minúsculas.

IF TEST = 1
{
  ASSIGN example1 = "Beowulf|Grendel|Hrothgar|Wyrm|Breca|Scyld|Hrethel"
  ASSIGN example2 = "The Epic Poem"
}
ASSIGN arrayLoc = example1.indexof('Breca')
ASSIGN characterLoc = example2.indexof('E')
ASSIGN invalidLoc = example2.indexof('e')

iif(compare, trueval, falseval)

Inline-If para los números. Evalúa compare, luego devuelve trueval o falseval dependiendo de los resultados de la evaluación.

Si compare no es cero (verdadero), se devuelve trueval.

Si compare es cero (falso), se devuelve falseval.

Tanto trueval como falseval deben ser valores numéricos o expresiones. Las cadenas no pueden utilizarse. Esta función es idéntica a la función iifs(), salvo que espera valores numéricos.

ASSIGN val1 = 4 > 5
ASSIGN val2 = 4  < 5

ASSIGN test1 = val1 > val2
ASSIGN test2 = val1 < val2

ASSIGN trueS = "you win"
ASSIGN falseS = "try again"

ASSIGN varFalse = "{iif(test1,trueS,falseS)}"

ASSIGN varTrue = "{iif(test2,trueS,falseS)}"

El resultados del ejemplo son:

  • varFalse = "try again"
  • varTrue = "you win"

iifs(compare, truestr, falsestr)

Cadena en línea-if. Evalúa compare, luego devuelve trueval o falseval dependiendo de los resultados de la evaluación.

Si compare no es cero (verdadero), se devuelve truestr.

Si compare es cero (falso), se devuelve falsestr.

La función es idéntica a iif(), salvo por el hecho que espera cadenas de caracteres.

ASSIGN val1 = "grapes" 
ASSIGN val2 = "grapey"

ASSIGN test1 = val1 >  val2
ASSIGN test2 = val1 <  val2

ASSIGN trueS = "you win"
ASSIGN falseS = "try again"

ASSIGN varFalse = "{iifs(test1,trueS,falseS)}"

ASSIGN varTrue = "{iifs(test2,trueS,falseS)}"

El resultados del ejemplo son :

  • varFalse = "try again"
  • varTrue = "you win"

isalpha()

La función isalpha() devuelve 1 (verdadero) si todos los caracteres dentro de la variable son letras del alfabeto (A-Z, a-z). Si ninguno de los caracteres es alfabético, la función devuelve 0. Una variable vacía o un valor que incluye caracteres especiales (como # o $) o números devuelven 0. Véase también: isletter().

IF TEST = 1
{
  ASSIGN varAlpha = "abcde"
  ASSIGN varNum = "12345"
}
ASSIGN alphaRes1 = varAlpha.isalpha() //true
ASSIGN alphaRes2 = varNum.isalpha() //false

isdigit()

La función isdigit() devuelve 1 (verdadero) si el primer carácter de la variable es un dígito numérico (0-9). De lo contrario, la función devuelve 0 (falso). Una variable vacía o un valor que inicia con un carácter especial devuelve 0. Véase también: isletter().

IF TEST = 1
{
  ASSIGN example1 = "12Monkeys"
  ASSIGN example2 = "Oceans11"
}
ASSIGN result1 = example1.isdigit() //This is True
ASSIGN result2 = example2.isdigit() //This is False

isletter()

La función isletter() devuelve 1 (verdadero) si el primer carácter de la variable es una letra del alfabeto (A-Z, a-z). De lo contrario, la función devuelve 0 (falso). Una variable vacía o un valor que inicia con un carácter especial devuelve 0. Véase también: isdigit().

IF TEST = 1
{
  ASSIGN example1 = "12Monkeys"
  ASSIGN example2 = "Oceans11"
}
ASSIGN result3 = example1.isletter() //This Is False
ASSIGN result4 = example2.isletter() //This Is True

isnumeric()

La función isnumeric()devuelve 1 (verdadero) si son números todos los caracteres dentro de la variable. Si cualquiera de los caracteres es no numérico, la función devuelve 0Una variable vacía o un valor que incluya caracteres especiales (como # o $) o números devuelve 0. Véase también: isdigit().

IF TEST = 1
{
  ASSIGN varAlpha = "abcde"
  ASSIGN varNum = "12345"
}
ASSIGN numRes1 = varNum.isnumeric() //true
ASSIGN numRes2 = varAlpha.isnumeric() //false

islower() y isupper()

La función isupper() devuelve 1 (verdadero) si el primer carácter de la variable es una letra mayúscula. De lo contrario, la función devuelve 0 (falso).

La función islower() devuelve 1 (verdadero) si el primer carácter de la variable es una letra minúscula. De lo contrario, la función devuelve 0 (falso).

IF TEST = 1
{
  ASSIGN example1 = "Beowulf"
  ASSIGN example2 = "monster fighter"
}
ASSIGN result1 = example1.isupper() //This is true
ASSIGN result2 = example2.isupper() //This is false
ASSIGN result3 = example1.islower() //This is false
ASSIGN result4 = example2.islower() //This is true

left(number) y right(number)

Devuelve los number caracteres situados más a la izquierda o a la derecha.

IF TEST = 1
{
  ASSIGN example1 = "Abc.456"
  ASSIGN locationVar = 4
}
ASSIGN stringLeftVariable = "{example1.left(locationVar - 1)}"
ASSIGN numericLeftVariable = example1.left(locationVar - 1)
ASSIGN stringRightVariable = "{example1.right(locationVar + 1)}"
ASSIGN numericRightVariable = example1.right(locationVar + 1)

El resultados del ejemplo son

  • numericLeftVariable = Gre
  • numericRightVariable = 34567
  • stringLeftVariable = Gre
  • stringRightVariable = 34567

length()

Devuelve el largo de la representación textual del valor de la variable. Por ejemplo, si el valor es un número como 1234.56, la longitud devuelta será 7. Los espacios y los caracteres especiales cuentan para la longitud.

IF TEST = 1
{
  ASSIGN example1 = "8015551234"
  ASSIGN example2 = 2357.984
  ASSIGN example3 = "Beowulf Herot"
}

ASSIGN ex1Len = example1.length()
ASSIGN ex2Len = example2.length()
ASSIGN ex3Len = example3.length()

El resultados del ejemplo son

  • ex1Len = 10
  • ex2Len = 8
  • ex3Len = 13

ln(value)

Devuelve el logarítmo natural (base e) del value. El value se especifica como un número en base 10.

ASSIGN natLog = "{ln(434)}"

El resultado del ejemplo es natLog=6.07304453410041

log10(value)

Devuelve el logaritmo en base 10 del value especificado.

ASSIGN log10Num = "{log10(434)}"

El resultado del ejemplo es log10Num=2.63748972951251

log2(value)

Devuelve el logaritmo en base 2 del value especificado. El value se especifica como un número en base 10.

ASSIGN log2Num = "{log2(434)}"

El resultado del ejemplo es log2Num=8.76155123244448

logn(value,base)

Devuelve el logaritmo del value especificado en la base especificada. Ambos parámetros se especifican como números 10 base.

ASSIGN lognNum = "{logn(434,5)}"

El resultado del ejemplo es lognNum=3.77339472817288

max(value1,value2) y min(value1,value2)

max() devuelve el mayor de los dos valores numéricos especificados.

min() devuelve el menor de los dos valores numéricos especificados.

Si transfiere valores de una cadena de caracteres, ambas funciones siempre devuelven un 0.

IF TEST = 1
{
  ASSIGN value1 = 10
  ASSIGN value2 = 12
}
ASSIGN resultMin = min(value1, value2)

ASSIGN resultMax = max(value1, value2)

El resultados del ejemplo son:

  • resultMin = 10
  • resultMax = 12

mid(start,length)

Devuelve los caracteres de start a start+length. La posición del primer carácter es 1. Si start+length excede la longitud del texto origen, se trunca automáticamente al final del texto origen.

Esta función es similar a substr(). Tanto mid() como substr() devuelven un subconjunto de caracteres. La diferencia es que con substr(), la función devuelve los caracteres entre los puntos inicial y final especificados. Con mid(), la función devuelve un número específico de caracteres, definidos por length, tras el start especificado.

IF TEST = 1
{
  ASSIGN phoneNum = "8015553549"
  ASSIGN fullName = "Hrothgar King"
}
ASSIGN localNumber = "{phoneNum.mid(4,7)}"

ASSIGN spaceLoc = fullName.indexof(' ')
ASSIGN fullNameLength = fullName.length
ASSIGN firstName = "{fullName.mid(1,SpaceLoc - 1)}"
ASSIGN lastName = "{fullName.mid(SpaceLoc + 1,fullNameLength - spaceLoc)}"

El resultados del ejemplo son:

  • firstName = Hrothgar
  • lastName = King
  • localNumber = 1234567

random(value)

Devuelve un número entero aleatorio no negativo mayor o igual a cero y menor que el valor máximo especificado

Si necesita un valor en el rango de uno a value, puede agregar 1 a la salida de la función random:

ASSIGN d20Result = random(20) + 1

IF TEST = 1
{
  ASSIGN value = 10
}
ASSIGN newValue1 = random(Value)
ASSIGN newValue2 = random(Value)
ASSIGN newValue3 = random(Value)
ASSIGN newValue4 = random(Value)

replace(old,new)

Reemplaza todas las instancias de old con new. Esta función funciona con todas las siguientes variaciones de formato:

  • ASSIGN result = "{value.replace(char,'-')}"
  • ASSIGN result = value.replace(char,'-')
  • ASSIGN result = value.replace('{char}','-')
  • ASSIGN result = value.replace("{char}",'-')
IF TEST = 1
{
	ASSIGN replaceTest1 = "$1234.56"
	ASSIGN replaceTest2 = "Beowulf%Grendel^Hrothgar*@Grendel\'s mom"
	ASSIGN replaceTest3 = "It   was   a   hard   battle."
	ASSIGN replaceTest4 = "Beowulf%Grendel^Hrothgar*@Grendel\'s mom"
}

//The first example will replace the dollar sign in an amount with nothing

ASSIGN replaceTest1 = "{replaceTest1.replace('$','')}"

//The second example we are just replacing random charcters and replacing
//them with a space.  The final result is a space between each name

ASSIGN replaceTest2 = "{replaceTest2.replace('%',' ')}"
ASSIGN replaceTest2 = "{replaceTest2.replace('^',' ')}"
ASSIGN replaceTest2 = "{replaceTest2.replace('*',' ')}"
ASSIGN replaceTest2 = "{replaceTest2.replace('@','')}"

ASSIGN replaceTest3 = "{replaceTest3.replace('  ',' ')}"
ASSIGN replaceTest3 = "{replaceTest3.replace('  ',' ')}"

//The following example is the second example, but broken out so 
//each step is preserved in a separate variable that you can see
//in the Debugger pane on the right. 

ASSIGN replaceTest4a = "{replaceTest4.replace('%',' ')}"
ASSIGN replaceTest4b = "{replaceTest4a.replace('^',' ')}"
ASSIGN replaceTest4c = "{replaceTest4b.replace('*',' ')}"
ASSIGN replaceTest4d = "{replaceTest4c.replace('@','')}"

El resultados del ejemplo son:

  • replaceTest1 = 1234.56
  • replaceTest2 = Beowulf Grendel Hrothgar Grendel\'s mom
  • replaceTest3 = It was a hard battle.
  • replaceTest4 = Beowulf%Grendel^Hrothgar*@Grendel\'s mom
  • replaceTest4a = Beowulf Grendel^Hrothgar*@Grendel\'s mom
  • replaceTest4b = Beowulf Grendel Hrothgar*@Grendel\'s mom
  • replaceTest4c = Beowulf Grendel Hrothgar @Grendel\'s mom
  • replaceTest4d = Beowulf Grendel Hrothgar Grendel\'s mom

round(value)

Devuelve el value redondeo al entero más cercano utilizando el estándar IEEE 754, sección 4 (también llamado el redondeo bancario).

IF TEST = 1
{
  ASSIGN numEx = 102.5689
}
ASSIGN newValue = round(numEx)

El resultado del ejemplo es numEx = 102.5689

savetodb(1or0)

savetodb() no es una función verdadera. Es una propiedad de las variables en Studio. Puede aplicarlo a variables cuando trabaje en snippets. También puede configurarlo cuando utilice la Assign action. Puede ingresar de dos formas a los datos almacenados:

Agregue savetodb() a una variable con 1 como argumento para que se guarde el valor de la variable en la base de datos.

ASSIGN variable='123123123'
variable.savetodb(1)

screenpop() and setscreenpop(1or0)

screenpop() y setscreenpop() no son verdaderas funciones. Son propiedades de las variables en Studio que usted puede configurar cuando trabaje con pantallas emergentesCerrado Puede configurar una ventana emergente con información sobre el contacto. Aparece en la pantalla de un agente después de un determinado evento, generalmente cuando el agente se conecta a un contacto.. Puede aplicarlas a las variables cuando trabaje con snippets. También puede configurarlas con la Assign acción.

Agregue setscreenpop() a una variable con 1 como argumento para que se pase el valor de la variable a la pantalla emergente.

Agregue screenpop() a una variable para verificar si está configurado el indicador ScreenPop. La propiedad devuelve 1 si es verdadero y 0 si es falso.

ASSIGN val1 = "name"
//ASSIGN popthis = val1.setscreenpop(1)
ASSIGN ispop = thispop.screenpop

sgn(value)

Devuelve un valor que indica el signo del value especificado. Devuelve -1 si value es menor que cero, 0 si value es igual a cero y 1 si value es mayor a cero.

ASSIGN signOfNum = "{sgn(89)}, {sgn(0.00)}, {sgn(-89)}"

El resultado del ejemplo es signOfNum = 1, 0, -1

sin(value)

Devuelve el cseno del value especificado. El value debe estar en radianes.

ASSIGN angleRad = 0.394791119699762
ASSIGN sinNum = "{sin(angleRad)}"

El resultado del ejemplo es sinNum = 0.384615384615385

sinh(value)

Devuelve el seno hiperbólico del value especificado. El value debe estar en radianes.

ASSIGN hSine = "{sinh(angleRad)}"

El resultado del ejemplo es hSine=0.405126696125173

split(delimiter)

Devuelve el contenido de la variable como una cadena delimitada por barras verticales adecuada para tratársele como arreglo. El delimiter se convierte en el símbolo de barra vertical ( | ).

Cuando se asignan los resultados a una nueva variable, la nueva variable se comporta como un arreglo y admite la sintaxis de indexador de arreglos, como en variable[index].

También se puede utilizar la división en un snippet para convertir una variable en un arreglo. Usarla de esta manera cambia el contenido de la variable.

IF TEST = 1
{
  ASSIGN varString = "one,two,three,four"
}
//Example One using split to assign result to a new variable

ASSIGN varArray = "{varString.split(',')}"

//Example Two using split to change the value of an existing variable to an array

VvarString.split(',')

El resultados del ejemplo son:

  • varArray = one|two|three|four
  • varString = one|two|three|four

sqrt(value)

Devuelve la raíz cuadrada del value especificado.

ASSIGN root = "{sqrt(25)}"

El resultado del ejemplo es root = 5

substr(start,end)

Devuelve los caracteres de start a end. La posición del primer carácter es 1. Si end excede la longitud del texto origen, se trunca automáticamente al final del texto origen.

Esta función es similar a mid(). Tanto mid() como substr() devuelven un subconjunto de caracteres. La diferencia es que con substr(), la función devuelve los caracteres entre los puntos inicial y final especificados. Con mid(), la función devuelve un número específico de caracteres, definidos por length, tras el start especificado.

IF TEST = 1
{
  ASSIGN enteredAmount = 15269
  ASSIGN phoneNum = "8015553437"

}
ASSIGN areaCode = "{phoneNum.substr(1,3)}"

ASSIGN amountLength = enteredAmount.length()
ASSIGN dollars = enteredAmount.substr(1,amountLength - 2)
ASSIGN cents = enteredAmount.substr(amountLength - 1,amountLength)
ASSIGN totalAmount = "${dollars}.{cents}"

El resultados del ejemplo son:

  • areaCode = 801
  • totalAmount = $152.69

tan(value)

Devuelve la tangente del value especificado. El value debe estar en radianes.

ASSIGN angleRad = 0.394791119699762
ASSIGN tanNum = "{tan(angleRad)}"

El resultado del ejemplo es tanNum = 0.416666666666667

tanh(value)

Devuelve la tangente hiperbólico del value especificado. El value debe estar en radianes.

ASSIGN angleRad = 0.394791119699762
ASSIGN hTan = "{tanh(angleRad)}"

El resultado del ejemplo es hTan = 0.375483244486081

trim(), ltrim() y rtrim()

La función trim() devuelve una cadena sin ningún carácter de espacio en blanco inicial o final. El espacio en blanco incluye espacios, tabuladores y saltos de línea.

La función ltrim() devuelve una cadena sin ningún carácter de espacio en blanco inicial.

La función ritrim() devuelve una cadena sin ningún carácter de espacio en blanco final.

IF TEST = 1
{
  ASSIGN varString = "      Beowulf      "
}
ASSIGN trimRes = varString.trim

ASSIGN lTrimRes = varString.ltrim

ASSIGN rTrimRes = varString.rtrim

El resultados del ejemplo son

  • trimRes = " Beowulf "
  • lTrimRes = "Beowulf      "
  • rTrimRes = "      Beowulf".

trunc(value)

Calcula la parte integral del value especificado. trunc() redondea value al entero más cercano hacia cero.

ASSIGN truncNum = "{trunc(945.6)}, {trunc(946.9)}"

El resultado del ejemplo es truncNum = 945, 946

upper() y lower()

La función upper() devuelve el contenido de la variable con todas las letras en mayúsculas.

La función lower() devuelve el contenido de la variable con todas las letras en minúsculas.

IF TEST = 1
{
  ASSIGN variable1 = "Beowulf is a monster fighter"
  ASSIGN variable2 = "BEOWULF IS A MONSTER FIGHTER"
}
ASSIGN variable1  = "{variable1.upper()}"

ASSIGN variable2  = "{variable2.lower()}"

urlencode() y urldecode()

La función urlencode() devuelve el contenido de la variable codificada utilizando el estándar de Internet para la codificación de URL. Por ejemplo, algunos de los datos que han de agregarse a una URL en las pantallas emergentesCerrado Estado que permite a un agente completar los requisitos laborales después de finalizar una interacción deben codificarse para que se envíen correctamente.

La función urldecode() devuelve el contenido de la variable descodificada a partir el estándar de Internet para la codificación de URL. En el siguiente ejemplo, urldecode() está decodificando la variable URL, lo que significa que URL y newURL tienen el mismo valor.

IF TEST = 1
{
  ASSIGN dnis= "5551234567"
  ASSIGN ani = "5550987654"
  ASSIGN waitTime = "2 02:39:42"
  ASSIGN callOriginationTime = "{datefmt(now, 'yyy-MM-dd HH:mm:ss')}"
}

ASSIGN URL = "?&sys_id=-1&sysparm_query=u_source_phone={DNIS}^u_caller_phone={ANI}^u_wait_time_string={waitTime}^opened_at={callOriginationTime}"
ASSIGN eURL = URL.urlencode()
ASSIGN popURL = "http://www.incontact.com{eURL}"

ASSIGN newURL = eURL.urldecode()