Funciones integradas

La información de esta página de ayuda se aplica tanto a Studio como a Desktop Studio.

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

Esta página también proporciona listas de las funciones integradas agrupadas por 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 Funciones.

Esta página no proporciona información sobre las funciones integradas para usar con restproxy, el servicio que puede utilizar para conectar sus Scripts a las API de RESTful. Estas funciones se describen en la página de ayuda de RestProxy.

Inténtelo

Descargue el script de ejemplos de Función y impórtelo en Studio. Los ejemplos de esta página de ayuda están disponibles en acciones de Snippet en el script de ejemplo. Puede abrir la Snippet editor ventana y ejecutar el depurador para ver cómo funciona cada ejemplo.

Funciones para usar con fechas y horas

Utilice las siguientes funciones con fechas y horas en sus Scripts. Studio brinda soporte las 24 horas, no durante 12 horas. Considere esto al trabajar con el tiempo en los scripts.

Un OLE Automation Date Ícono de un cuadrado con un punto de flecha que va desde el centro hasta la esquina superior derecha. es una fecha escrita como un 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 un 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.
currentUnixTimestamp()

Devuelve la hora actual como un sello de tiempo de Unix. Solo para usarse con getRESTProxy().

dateadd(date, value) Devuelve una nueva fecha basada en date más value.
``` datebuild(year, month, day) ``` Devuelve una cadena de fecha/hora usando el Year, Month y Day especificados.
datediff(unit,date1, date2) Devuelve la diferencia entre DOs fechas.
datefmt(format) Convierte el contenido de date 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 de la semana de la fecha especificada como un valor de 0 a 6, donde 0 es Domingo.

now()

Devuelve la hora actual en la unidad de negocioClosed High-level organizational grouping used to manage technical support, billing, and global settings for your NiCE CXone system..

Funciones para usar con Números

Use las siguientes funciones con variables que contienen 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

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

floor(valor

Devuelve el número entero más grande menor de o igual al value especificado.

format(format) Devuelve una cadena con los caracteres numérico con 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 para 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. Estas funciones no están disponibles en la lista de autocompletado que aparece al usar una acción de SNIPPET, pero funcionan si las 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 que cero.

``` sin(value) ```

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

sinh(valor)

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 entera 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 basada en date más value.

datefmt(format)

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

format(format) Devuelve una cadena con los caracteres numérico con el formato que usa el format especificado.
hash(output, code set)

Devuelve un hash del valor de entrada.

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 repeticiones de old por new.
split(delimiter) Convierte el contenido de un Variable en una cadena delimitada por barras verticales que puede tratarse como una matriz. Reemplaza el delimiter existente especificado con 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 una matriz u objeto.
index(indexValue) Devuelve el elemento de la matriz 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érico (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 una matriz.

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 de la matriz 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 desde start hasta start+length.
substr(start, end) Devuelve los caracteres desde start hasta end.

Funciones a usar con arreglos

Las siguientes funciones operan con arreglos.

Función

Descripción

count()

Devuelve el número de elementos en una matriz u objeto.

index(indexValue)

Devuelve el elemento de la matriz 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 una matriz.

split(delimiter)

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

Otros

Función

Descripción

char(code)

Devuelve un carácter a partir del valor de code ASCII, lo que permite que un script agregue caracteres especiales a una cadena de forma programática.

copy(objectName)

Crea una copia de los datos que contiene el objeto de datos dinámicos 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 números. Evalúa compare, luego devuelve trueval o falseval dependiendo de los resultados de la evaluación.

iifs(compare, trueval, falseval)

Inline-if de cadena. Evalúa compare y, luego, devuelve trueval o falseval según los resultados de la evaluación.

isnull()

Determina si un objeto de datos dinámicos o una 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)

Permite que el valor de una variable se use en el screen popClosed A pop-up window with information about the contact that appears on an agent's screen after an event such as connecting to a contact., si la ACD habilidadClosed Used to automate delivery of interactions based on agent skills, abilities, and knowledge. actual tiene habilitada la opción Use Screen Pops.

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)

Agrega el contenido de la primera variable a una segunda variable. Agrega el string al final del contenido existente dentro de la variable. Esta función solo funciona dentro de un Snippet o una ASSIGN acción.

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)

Los resultados de este 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 de cadena: Convierte el contenido de la variable en una cadena de fecha y hora.

Cuando se usa con una expresión numérica: convierte el contenido de la variable en una fecha y hora de automatización de OLE analizando el contenido de la cadena. El contenido de la cadena debe coincidir con uno de los Windows formatos de fecha estándar 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 07/03/2023, los resultados SOn:

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

asdatedow()

Devuelve el día de la semana como un valor ordinal de 0 a 6, donde 0 es Domingo.Esto lo hace convirtiendo el contenido de la variable en una fecha y hora de automatización OLEClosed A way to write dates as a floating point integer. Indicates the number of days since December 30, 1899. mediante el análisis del contenido de la cadena y, luego, devuelve el día de la semana como un valor ordinal entre 0 y 6, donde 0 es Domingo. El contenido de la cadena debe coincidir con uno de los Windows formatos de fecha 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" }
}

Los resultados de este 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 con una cadena: Convierte los contenidos de la variable a una cadena de fecha y hora.

Cuando se usa con un valor numérico: Convierte el contenido de la variable en una fecha y hora de automatización OLE mediante el análisis del contenido de la cadena. El contenido de la cadena debe coincidir con uno de los Windows formatos estándar de fecha y hora, como MM/dd/yyyy HH:mm:ss.

Si pasa una fecha sin hora, la función agrega una hora.El valor predeterminado es 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()}"
		

Los resultados de este 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()

Convierte el contenido de una variable en una cadena de fecha/hora convertida a GMT o UTC. 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 se usa como una expresión de cadena: Las funciones convierten el valor en una fecha/hora de automatización OLEClosed State that allows an agent to complete work requirements after finishing an interaction. traducida a GMT o UTC. La variable debe contener una representación de cadena válida de una fecha/hora. La hora de la fuente se basa en la zona horaria de la unidad de negocioClosed High-level organizational grouping used to manage technical support, billing, and global settings for your NiCE CXone system. o en la zona horaria establecida con el Timezone acción.

Cuando se usa como una expresión NUMÉRICA: Las funciones convierten el valor en una cadena de fecha/hora traducida a GMT o UTC. Por ejemplo: "Mon, 03 Oct 2026 13:35:14 GMT".

Al utilizar estas funciones, el formato de la hora contenido en la variable no puede incluir ninguno de los siguientes elementos:

  • Un desplazamiento de UTC.
  • Un carácter Z, como 2026-03-04 18:54:39.000Z. La inclusión de una Z indica que la hora tiene un desplazamiento de cero con respecto a GMT/UTC.

Incluir cualquiera de estos elementos provoca un error cuando asgmt() o asutc() intenta convertir zonas horarias, porque se considera que la zona horaria original es diferente de la zona horaria de la unidad de negocio. Además, para evitar el error al usar el formato de fecha/hora ISO 8601, incluya una acción Timezone antes de la acción Snippet y configúrela para usar la Zona horaria de su unidad de negocio. Esto establece la zona horaria a nivel de script, de modo 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()}"

Los resultados del ejemplo dependen del valor de now cuando se ejecuta la función. Por ejemplo, si las funciones se ejecutan a las 19:14:36 del 4 de Abril de 2026, los resultados SOn:

  • Resultados como cadena: 04/01/2026 19:41:36
  • Resultados como número: 46113.820555555554

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 a la API REST, los sellos de tiempo ISO que tienen un desplazamiento de UTC especificado y que aparecen en la respuesta se convierten a la hora de la montaña (MT). Si no se especifica un desplazamiento, el sello de tiempo no se convierte.

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()}"

Los resultados de este 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 el contenido de una variable a JSON o XML. Luego, asigna la cadena de texto en formato JSON o XML a una nueva variable. El siguiente ejemplo utiliza un objeto de datos dinámicos, pero puede usar estas funciones con objetos devueltos de una Llamada a la API o con los objetos de las acciones del agente virtualClosed A software application that handles customer interactions in place of a live human agent. (VOICEBOT EXCHANGE o TEXTBOT EXCHANGE).

La función asjson() convierte todo lo que está en el objeto como una cadena con comillas dobles alrededor, incluidos los valores numéricos o BooleanClosed A data type that has two possible values: true and false.. Puede tener esto en cuenta en su script si necesita un valor numérico o booleano con el formato adecuado en su JSON. Una solución es usar la replace() función. 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 inyectar cadenas de marcador que se reemplazan manualmente después de convertir el objeto 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: Use the asjson() function in a Snippet actionand store the resulting JSON in a string variable. Use the string variable in the properties of other Studio actions when you need to pass the JSON data. This approach avoids the possibility of validation errors when saving the script.

Los 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 utiliza con una cadena valor: Convierte el contenido de la variable en una automatización OLEClosed A way to write dates as a floating point integer. Indicates the number of days since December 30, 1899. de fecha y hora.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()}" 

Los resultados de este ejemplo dependen de la hora local al momento de probar la función. 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)}"		

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)

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

La función floor devuelve el número entero más grande menor de o igual al value especificado.

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

ASSIGN newValue2 = ceil(value)

Los resultados de este ejemplo SOn:

  • newValue1 = 102
  • newValue2 = 103

contains(value)

Devuelve un valor de 1 (verdadero) si la Evalúa una variable para el value especificado. Variable contiene un value especificado. Si la Variable es una matriz, se revisan todos los elementos para verificar 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

Los resultados del ejemplo SOn:

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

char(code)

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

Tenga cuidado con esta función. char(0) hasta char(7) están reservados para uso interno y pueden provocar que los Scripts funcionen incorrectamente.

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)}"

Los 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 de datos dinámicos 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 usar 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 la asignación de una referencia. Realiza una copia profunda al convertir el objeto en una representación textual y, después, de nuevo en un objeto. Si el objeto con el que usted 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 la cantidad de elementos dentro de una matriz. size() solo funciona con matrices. count() funciona con matrices en objetos.

Si el valor no es una matriz pero no está vacío, se devuelve el valor 1 (true). Si el valor está vacío, se devuelve 0 (false).

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)

Los resultados del ejemplo SOn:

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

currentUnixTimestamp()

Devuelve la hora actual como un sello de tiempo de Unix. Solo para usarse con getRESTProxy(). Este sello de tiempo mide el tiempo como el número de segundos sin contar los segundos bisiestos que han transcurrido desde las 00:00:00 UTC del 1 de Enero de 1970. Los segundos bisiestos SOn ajustes ocasionales de un segundo que se realizan al tiempo Universal Coordinado (UTC) para tener en cuenta la diferencia entre el tiempo solar observado y el tiempo medido por los relojes atómicos.

ASSIGN myDateTime = "{now}"
ASSIGN restProxy = GetRESTProxy()
ASSIGN currentUnixTimestamp = restProxy.CurrentUnixTimestamp()

Los resultados del ejemplo dependen del momento en que se ejecute el ejemplo. Si lo ejecuta a las 15:58:29 del 31 de Marzo de 2026, el valor de currentUnixTimestamp es 1774972709. En el ejemplo, la variable myDateTime proporciona la fecha y hora actuales para que usted las compare con el sello de tiempo de Unix.

dateadd(unit, date, value)

Devuelve una nueva fecha basada en date más value.. Se devuelve la nueva fecha como una fecha/hora de automatización OLEClosed A way to write dates as a floating point integer. Indicates the number of days since December 30, 1899.. La interpretación de value está determinada por 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. This makes it a variable de fecha y hora.

Las opciones posibles para unit SOn: año, mes, semana, día, hora, minuto, y segundo.

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 usar esta función en una cadena, incluya asdatetime(), como se muestra en el ejemplo a continuación.

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()}"

Los resultados del ejemplo SOn los siguientes, usando el 3 de Marzo de 2023 en el formato 3/3/2023 10:42:44 AM como el 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 usando el Year, Month y Day especificados.

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

Cuando se usa como una expresión NUMÉRICA: Devuelve una fecha/hora como una cadena de fecha-hora de automatización OLEClosed A way to write dates as a floating point integer. Indicates the number of days since December 30, 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)

Los 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.El parámetro date1 especifica la primera fecha, unit especifica la parte de la fecha que se va a comparar, y date2 especifica la fecha que se va a comparar con el valor de date1. Si date2 es mayor que el valor dentro de la variable, los resultados SOn positivos.

Las opciones posibles para unit SOn: semana, día, hora, minuto, y segundo.

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/2022 6:00 AM y date2 es 10/16/2022 6:00 PM, el resultado para unit day 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)

Los resultados del ejemplo SOn:

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

Puede usar datediff() para determinar si una semana es par o impar. Esto resulta útil si las horas de operación de su organización cambian cada dos semanas, o si está abierta cada DOs Sábados.

Si las horas de operación alternan entre abierto y cerrado, establezca el valor de la variable HOO en la instrucción IF al horario en que su oficina está abierta. Establezca el valor de HOO en la instrucción ELSE al horario en que su oficina está cerrada.

ASSIGN currentDateTime = #"{now}"
ASSIGN startingDateTime = #"6/04/2016 3:16:10 PM"
ASSIGN weekDiff = datediff("week", currentDateTime, startingDateTime)
ASSIGN numberOfWeek = ceil(weekDiff)

IF numberOfWeek % 2 = 0 {
HOO = 123
}
ELSE {
HOO = 124
}		

Los resultados del ejemplo dependen del valor de now cuando se ejecuta la función.

datefmt(date, format)

Convierte el contenido de date en una cadena de fecha/hora utilizando el format especificado. El valor de date debe ser uno de los siguientes:

Cuando defina la salida format, use el especificadores de formato para definir cómo desea que se vean la fecha y la hora, y la información que desea que contengan. Por ejemplo:

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

Los resultados del ejemplo SOn:

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

La datefmt() función también le 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 myYear2 = 2023.

datepart(unit)

Devuelve una parte de una fecha o 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 OLEClosed A way to write dates as a floating point integer. Indicates the number of days since December 30, 1899.. unit especifica la parte de la fecha que se debe 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 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 la función no puede completarse debido a una entrada incorrecta o inesperada, la salida predeterminada es el 30 de Diciembre de 1899.

Cuando se usa como una cadena de caracteres:

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

  • Mes devuelve la abreviatura de tres caracteres del mes.
  • Año devuelve el año completo de cuatro dígitos.
  • Hora devuelve la hora en formato de 24 horas.
  • Dow significa día de la semana y devuelve la representación de cadena completa y no abreviada del nombre del día de la semana. Por ejemplo, Jueves.

Todos los valores numéricos, excepto el año, tienen el prefijo 0 si tienen menos de DOs dígitos.

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

Devuelve la representación NUMÉRICA de la parte especificada date:

  • Año devuelve el año completo de cuatro dígitos.
  • Hora devuelve la hora en formato de 24 horas.
  • Dow significa día de la semana y devuelve el valor ordinal (0-6) para el día de la semana, donde Domingo es 0, 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')

Los resultados de este 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 una cadena de fecha/hora basada en el Year, Month, Day, Hour, Minute, Second especificado. Si la función no puede completarse debido a una entrada incorrecta o inesperada, la salida predeterminada es el 30 de Diciembre de 1899.

Cuando se usa como una expresión de cadena: Devuelve una fecha/hora formateada en formato de fecha/hora estándar.

Cuando se usa como expresión NUMÉRICA: Devuelve una fecha/hora de automatización OLEClosed A way to write dates as a floating point integer. Indicates the number of days since December 30, 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)

Los resultados del ejemplo SOn:

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

dow()

Devuelve el día de la semana de la fecha especificada como un valor 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 OLEClosed A way to write dates as a floating point integer. Indicates the number of days since December 30, 1899.. Si la función no puede completarse debido a una entrada incorrecta o inesperada, la salida predeterminada es el 30 de Diciembre de 1899.

ASSIGN myNow = "{July 7, 2025}"
ASSIGN myDow = myNow.dow()

La función devuelve 1 porque el 7 de Julio de 2025 fue Lunes.

format(specifiers)

Devuelve una cadena con los caracteres numérico con el formato que usa el format especificado.El specifiers se aplica únicamente a los valores numéricos contenidos dentro de la variable. Para specifiers, use los siguientes caracteres 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 usar 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('###,###.##')

Los 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

hash()

index(indexValue)

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

Matrices 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)}"

Los resultados del ejemplo SOn que arrayPart1 contiene Hrothgar.

indexof(string)

Devuelve la posición del carácter del text que se especifica en el contenido de una variable. La primera posición es 1. Si la variable no contiene string, la función retorna el valor 0. Esta función distingue 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('r')

Los resultados del ejemplo SOn:

  • 5

  • characterLoc es 5

  • invalidLoc es 0

iif(compare, trueval, falseval)

Inline-If para 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 o expresiones numéricos. No se pueden usar cadenas. Esta función es idéntica a la función iifs(), excepto 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)}"

Los resultados del ejemplo SOn:

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

iifs(compare, truestr, falsestr)

Inline-if de cadena. Evalúa compare y, luego, devuelve trueval o falseval según 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)}"

Los 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 no todos los caracteres SOn alfabéticos, la función devuelve 0. Una variable vacía o un valor que incluya caracteres especiales (como # o $) o números devuelve 0. Consulte 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 dentro 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 comienza con un carácter especial devuelve 0. Consulte 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 dentro 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 comienza con un carácter especial devuelve 0. Consulte 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 isnumeric()función devuelve 1 (verdadero) si todos los caracteres dentro de la Variable SOn números. Si alguno de los caracteres no es numérico, la función devuelve 0Una Variable vacía o un valor que incluye caracteres especiales (como # o $) o números devuelve 0. Ver 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
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

Los resultados del ejemplo SOn los siguientes:

  • result1 = example1.isupper() es verdadero porque el primer carácter de example1 es B, que es mayúscula.

  • result2 = example2.isupper() es falso porque el primer carácter de example2 es m, el cual no está en mayúscula.

  • result3 = example1.islower() es falso porque el primer carácter de example1 es B, que no está en minúsculas.

  • result4 = example2.islower() es verdadero porque el primer carácter de example2 es m, que es minúscula.

left(number) y right(number)

Devuelve los caracteres situados más a la izquierda o más a la derecha de number. Puede agregar - # o +# al argumento cuando llame a la función para cambiar el valor devuelto. Por ejemplo, si incluye -1, la función devuelve un valor menor en uno que el número de caracteres de la Variable especificada.

IF TEST = 1
{
  ASSIGN example1 = "Abcd456"
  ASSIGN locationVar = 4
}
ASSIGN leftVar = "{example1.left(locationVar)}"
ASSIGN rightVar = example1.right(locationVar)
	
ASSIGN leftVarMinus = example1.left(locationVar - 1)		
ASSIGN rightVarPlus = "{example1.right(locationVar + 1)}"

Los resultados del ejemplo SOn:

  • leftVar = Abcd
  • rightVar = d456
  • leftVarMinus = Abc
  • rightVarPlus = cd456

length()

Devuelve el número de caracteres del valor de la variable. Por ejemplo, si el valor es 1234.56, la longitud se devuelve como 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()

Los 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)

Los resultados de este ejemplo SOn:

  • resultMin = 10
  • resultMax = 12

mid(start,length)

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

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 de inicio y fin especificados. Con mid(), la función devuelve una cantidad específica de caracteres, definida por length, después de la start especificada.

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)}"

Los resultados de este ejemplo SOn:

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

Ahora()

Devuelve la hora actual en la unidad de negocioClosed High-level organizational grouping used to manage technical support, billing, and global settings for your NiCE CXone system.. Modificaciones a la hora de la unidad de negocio, como las realizadas mediante la Timezone acción, afectan el valor que devuelve esta función.

ASSIGN thisTime = now

thisTime contiene la hora actual en el momento en que se ejecuta la función.

random(value)

El número devuelto es mayor o igual que cero y menor que el valor máximo especificado. Si necesita un valor dentro del rango de uno a value, puede sumar 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)

Los resultados de este ejemplo SOn diferentes cada vez que se ejecuta la función.

replace(old,new)

Reemplaza todas las repeticiones de old por 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 panel on the right. 

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

Los 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)

Redondea el value especificado al entero más cercano. Esta función utiliza el Estándar IEEE 754, sección 4 (también llamado redondeo bancario).

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

El resultado del ejemplo es newValue = 103.

savetodb(1or0)

Le permite guardar en la base de datos el valor de una variable.Esta función guarda el valor de una Variable en la base de datos al final de la interacción. Tome en cuenta que puede cambiar el valor de una variable conforme se ejecuta un script. Varias acciones y procesos pueden modificar o borrar el valor de una variable. Si esto ocurre y desea guardar el valor desde un punto específico del script, es posible que deba crear una nueva variable, asignarle el valor deseado y usarla con savetodb().

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 utiliza Assign acción. Puede ingresar de DOs formas a los datos almacenados:

Agregue savetodb() a una variable con 1 como argumento para que el valor de la variable se guarde en la base de datos, como se muestra en el siguiente ejemplo:

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

Si utiliza savetodb() en un subíndice generado con un RUNSUB acción, debe declarar la variable como global. Esto asegura que persista la variable después de que el subscript devuelva el control al script que hace la llamada. Si no declara la variable como global, es una variable local, que solo existe en el subscript. savetodb() solo funciona con variables que existen en el script de llamada.

Declarar las variables en un subscript como globales es una forma de ingresar los valores de las variables en un subscript. Otra opción es usar GET /contacts/{contactId}/custom-data Un icono de un cuadrado con una flecha que apunta desde el centro hacia la esquina superior derecha. API.

screenpop() and setscreenpop(1or0)

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

setscreenpop(): Permite que el valor de una variable se use en el screen popClosed A pop-up window with information about the contact that appears on an agent's screen after an event such as connecting to a contact., si la ACD habilidadClosed Used to automate delivery of interactions based on agent skills, abilities, and knowledge. actual tiene habilitada la opción Use Screen Pops.

screenpop() y setscreenpop() no SOn funciones verdaderas. SOn propiedades de las variables en Studio que puede configurar cuando trabaja con screen popsClosed A pop-up window with information about the contact that appears on an agent's screen after an event such as connecting to a contact.. Puede aplicarlas a las variables cuando trabaje con snippets. También puede configurarlos con la acción Assign .

Agregue setscreenpop() a una variable con 1 como argumento para que el valor de la variable se transmita al screen pop. Esta función no opera con scripts digitales. Si desea utilizar screen pops con scripts digitales, use la acción POPURL action o la acción RUNAPPaction.

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

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

Agregue screenpop() a una variable para comprobar si el indicador de ScreenPop está configurado. 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 que 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)}"

Los resultados del ejemplo SOn 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)

Convierte el contenido de un Variable en una cadena delimitada por barras verticales que puede tratarse como una matriz. Reemplaza el delimiter existente especificado con un carácter de barra vertical. El delimiter se convierte al símbolo de barra vertical ( | ).

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

Split también se puede usar dentro de un Snippet para convertir una Variable en una matriz. 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(',')

Los resultados de este 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 desde start hasta end. La posición del primer carácter es 1. Si end excede la longitud del texto fuente, se trunca automáticamente al final del texto fuente.

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 de inicio y fin especificados. Con mid(), la función devuelve una cantidad específica de caracteres, definida por length, después de la start especificada.

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}"		

Los resultados de este 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 con todos los caracteres de espacio en blanco iniciales y finales eliminados. El espacio en blanco incluye espacios, tabulaciones y saltos de línea.

La función ltrim() devuelve una cadena con todos los caracteres de espacio en blanco iniciales eliminados.

La función ritrim() devuelve una cadena con todos los caracteres de espacio en blanco finales eliminados.

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

ASSIGN lTrimRes = varString.ltrim

ASSIGN rTrimRes = varString.rtrim

Los resultados del ejemplo SOn:

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

trunc(value)

Calcula la parte entera 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 convertidas a mayúsculas.

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

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

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

Los resultados de este ejemplo SOn:

variable3 = "BEOWULF IS A MONSTER FIGHTER"

variable4 = "beowulf is a monster fighter"

urlencode() y urldecode()

Codifica o decodifica una URL según el estándar de Internet para la codificación de URL . La función urlencode() devuelve el contenido de la variable codificado 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 emergentesClosed A pop-up window with information about the contact that appears on an agent's screen after an event such as connecting to a contact. deben codificarse para que se envíen correctamente.

La función urldecode() devuelve el contenido de la variable decodificada a partir del 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.nicecxone.com{eURL}"

ASSIGN newURL = eURL.urldecode()

Los resultados del ejemplo SOn:

  • URL = ?&sys_id=-1&sysparm_query=u_source_phone=5551234567^u_caller_phone=5550987654^u_wait_time_string=2 02:39:42^opened_at=2025-07-08 14:59:39

  • eURL = %3f%26sys_id%3d-1%26sysparm_query%3du_source_phone%3d%5eu_caller_phone%3d%5eu_wait_time_string%3d%5eopened_at%3d

  • popURL = http://www.nicecxone.com%3f%26sys_id%3d-1%26sysparm_query%3du_source_phone%3d5551234567%5eu_caller_phone%3d5550987654%5eu_wait_time_string%3d2+02%3a39%3a42%5eopened_at%3d2025-07-08+14%3a59%3a39

  • newURL = ?&sys_id=-1&sysparm_query=u_source_phone=5551234567^u_caller_phone=5550987654^u_wait_time_string=2 02:39:42^opened_at=2025-07-08 14:59:39