Declaraciones en ciclo

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

Las declaraciones en ciclo le permiten hacer que el script realice repetidamente una tarea o un conjunto de tareas hasta que se cumpla la condición final especificada. Esto es útil si tiene una serie de tareas que desea realizar en cada miembro de un conjunto.

Las palabras clave para estas declaraciones en ciclo son:

Las declaraciones de ciclo siempre requieren bloques de código condicional. Los bloques van encerrados entre llaves ( { } ). Puede incluir la siguiente declaración opcional en el bloque:

BREAK: Finaliza un conjunto de declaraciones en ciclo.

FOR Declaraciones

Descripción: Repite una declaración o una serie de declaraciones un número específico de veces.

Sintaxis: FOR <var> = <start> TO <end> <{ ... [BREAK] }>

Detalles: Un ciclo FOR repite el código entre llaves {...} una vez para cada valor de número entero en el rango de <start> a <end>. Las cláusulas <start> y <end> pueden ser expresiones o valores literales. Con cada iteración, se asigna el valor actual en el rango a una variable <var> que se nombra en la línea de encabezado del ciclo. Esto se llama variable iteradora.

La cláusula opcional BREAK aborta el ciclo. Después continúa el script, ejecutando el código después de la llave de cierre o pasando por la siguiente Studio acciónCerrado Realiza un proceso dentro de un estudio de secuencias de comandos, tales como la recogida de datos de clientes, reproducir un mensaje o la música, o la colocación de un contacto a un agente..

Se evalúa una vez el valor inicial de <start> y <end>, al comienzo del ciclo. Puede modificar el valor <end> en las declaraciones de código entre llaves {...}. También puede modificar el valor de <var> desde dentro del ciclo.

No es necesario que el valor de <start> sea menor que <end>. Si <end> es menor que <start>, el ciclo corre hacia abajo. Siempre ocurrirá al menos una iteración del ciclo. Este comportamiento es diferente al de otros lenguajes de programación. Los siguientes ejemplos ilustran este comportamiento.

En este ejemplo, <end> es mayor que <start>. El resultado es ph="123456789".

FOR i=1 TO 9
{
	ph = "{ph}{i}"
}

En este ejemplo, <start> es mayor que <end>. El resultado es ph="987654321".

FOR i=9 TO 1
{
	ph = "{ph}{i}"
}

Ejemplos de

IF TEST = 1
{
  ASSIGN Names = "Wes|Nate|Dan|Clay"
  ASSIGN EyeColors = "Blue|Blue|Brown|Brown"
  ASSIGN Signs = "Aquarius|Aries|Pisces|Leo"
  ASSIGN Foods = "Spagetti|Pizza|Sushi|Deep Fried Twinkies"
}

DYNAMIC Persons

ASSIGN PeopleCount = Names.size

FOR i = 1 TO PeopleCount
{
  ASSIGN Persons[i].Name = "{Names[i]}"
  ASSIGN Persons[i].Eyecolor = "{EyeColors[i]}"
  ASSIGN Persons[i].Sign = "{Signs[i]}"
  ASSIGN Persons[i].Food = "{Foods[i]}"
}
FOR i=1 TO 9
{
	a = "{a}{i}"
}
//Result: a="123456789"


FOR i=9 TO 1
{
	b = "{b}{i}"
}
//Result: b="987654321"

FOREACH Declaraciones

Descripción: Repite una vez el ciclo por cada elemento en el arreglo de cadenas especificado.

Formato: FOREACH <var> IN <array> <{ ... [ BREAK ] }>

Detalles: Un FOREACH ciclo repite una vez el código entre llaves {...} por cada elemento de un arreglo de cadenas o de un arreglo de objetos de datos dinámicos. El valor de cada elemento del arreglo se asigna a la variable <var> que se indica en la línea de encabezado del ciclo.

La cláusula opcional BREAK aborta el ciclo. Después continúa el script, ejecutando el código después de la llave de cierre o pasando por la siguiente Studio acciónCerrado Realiza un proceso dentro de un estudio de secuencias de comandos, tales como la recogida de datos de clientes, reproducir un mensaje o la música, o la colocación de un contacto a un agente..

El siguiente ejemplo muestra un ciclo FOREACH que incluye una IF declaración.



IF TEST = 1 
{
	ASSIGN Names="Odin|Freya|Thor|Loki"
}
ASSIGN SubCounter=1
FOREACH Name IN Names
{
	IF Name = "Odin" |  Name = "Freya"
	{
		ASSIGN NewNames[SubCounter]= "{Name}"

		ASSIGN SubCounter=SubCounter + 1

	}
}

REPEAT Declaraciones

Descripción: Ejecuta los comandos designados un número especificado de veces.

Sintaxis: REPEAT <expression> <{ ... [ BREAK ]}>

Detalles:  Este comando repite el código contenido entre las llaves {...} el número de veces definido por <expression>. La <expression> puede ser cualquier entero positivo literal o una expresión que resulte en cero o un entero positivo.

Incluya la palabra clave opcional BREAK para cancelar el ciclo. Después continúa el script, ejecutando el código después de la llave de cierre del bloque REPEAT o continúa con la siguiente Studio acciónCerrado Realiza un proceso dentro de un estudio de secuencias de comandos, tales como la recogida de datos de clientes, reproducir un mensaje o la música, o la colocación de un contacto a un agente..

Propiedades de la Vista de Árbol

En la pestaña Vista de Árbol, REPEAT aparece como REPEAT 0.

Se pueden configurar las siguientes propiedades:

  • Comment: Añadir un comentario sobre la repetición.
  • Line Number: El número de línea en el que se encuentra el comando en el editor.
  • Repeat: Ingresar una expresión que devuelva un valor numérico que defina la cantidad de veces que desea que se repitan los comportamientos especificados.

Para terminar REPEAT, haga clic derecho en REPEAT 0 y seleccione el comportamiento que desea que repita el script. Puede agregar más de un comportamiento. Configure cada comportamiento o comportamientos seleccionados.

Ejemplo

Para ver este ejemplo en la Vista de Árbol, cópielo y péguelo en la pestaña Vista de Texto y luego haga clic en la pestaña Vista de Árbol.


REPEAT 10
{
	phone = "{phone}{random(10)}"
}	

BREAK Declaraciones

Descripción: Finaliza inmediatamente un ciclo.

Sintaxis: BREAK

Detalles: Cuando se alcanza la instrucción BREAK, finaliza inmediatamente el ciclo actual. El script continúa ejecutando el fragmento de código debajo del ciclo hasta que se complete.

BREAK es opcional. Si no se incluye, continúa el ciclo hasta que se cumple la condición de parada definida.