Sintaxis de los elementos de las expresiones

<< Clic para mostrar Tabla de Contenidos >>

Navegación:  Automatización de Procesos con poco código > Studio Cloud -ambiente de autoría > Bizagi Studio > Asistente de Procesos > Reglas de Negocio > Elementos de las reglas de negocio > Elemento de expresiones >

Sintaxis de los elementos de las expresiones

Introducción

En las expresiones de tipo scripting, usted puede utilizar distintos elementos dependiendo de lo que vaya a hacer en la expresión. Por ejemplo, puede evaluar distintos escenarios a través de expresiones condicionales, o iterar sobre un objeto para realizar una búsqueda, o evaluar cada uno de sus elementos. Este artículo explica la sintaxis de cada una de estas expresiones que pueden ser útiles cuando programa en Bizagi.

 

Tipos de expresión

Las expresiones pueden dividirse en distintos grupos. Por ejemplo:

Expresiones condicionales

Expresiones de bucles

 

Expresiones condicionales

Expresiones utilizadas para tomar decisiones dependiendo del valor de una o más variables.

 

Expresión If

Utilizada para evaluar una condición. Una condición es una expresión que debe retornar un valor booleano. Por ejemplo, la comparación entre dos valores.

 

if (Condición)

{

 Bloque de instrucciones cuando la condición es verdadera

}

 

Ejemplo:

 

if (<Empleado.horasExtra> > 0)

{

 <Empleado.salarioMes> = <Empleado.salario> +  <Empleado.horasExtra> * <tarifaHorasExtra>

}

 

Expresión If-Else

Utilizada para evaluar una condición entre distintas posibilidades. Si ninguna de las condiciones se cumple, la expresión se va por el camino del else.

 

if (Condición)

{

 Bloque de instrucciones cuando la condición es verdadera

}

Else if (Condición2)

{

 Bloque de instrucciones cuando la condición es verdadera

}

Else

{

 Bloque de instrucciones cuando ninguna de las condiciones anteriores es verdadera

}

 

Example:

 

if (<Empleado.metaVentas> > 1)

{

 <Empleado.salarioMes> = <Empleado.salario> + <Empleado.bonoporMetas> * 1.5

}

Else if (<Empleado.metaVentas> > 0.5)

{

 <Empleado.salarioMes> = <Empleado.salario> + <Empleado.bonoporMetas>

}

Else

{

 <Empleado.salarioMes> = <Empleado.salario>

}

 

Expresión Switch

Utilizada para realizar distintas acciones dependiendo en una variable definida (<Candidato.añosDeExperiencia>), o en el resultado de una expresión (<empleados>.length). La condición dentro del switch se evalúa una vez y después, se ejecuta cada bloque que cumpla el caso. Si ninguno de los casos se cumple, se ejecuta el camino default.

 

switch (Expresión)

{

 case  caso1:

 

         Bloque de instrucciones cuando el caso se cumple

 

 case caso2:

 

         Bloque de instrucciones cuando el caso se cumple

 

 case caso3:

 

         Bloque de instrucciones cuando el caso se cumple

 

 default:

 

         Bloque de instrucciones cuando ninguno de los casos anteriores se cumplió

}

 

Ejemplo:

 

switch (<Empleado.rol>)

{

 case  "Director":

 

         <Empleado.tiempoAscenso> = "5 años"

 

 case "Gerente":

 

         <Empleado.tiempoAscenso> = "3 años"

 

 case "Analista":

 

         <Empleado.tiempoAscenso> = "2 años"

 

 default:

 

         <Empleado.tiempoAscenso> = "1 año"

}

 

Si quiere salir del switch cuando alguna de las condiciones se haya cumplido (y así no proceder a los siguientes bloques), debe usar la sentencia break.

 

switch (Expresión)

{

 case  caso1:

 

         Bloque de instrucciones cuando el caso se cumple

         break;

 

 case caso2:

 

         Bloque de instrucciones cuando el caso se cumple

         break;

 

 case caso3:

 

         Bloque de instrucciones cuando el caso se cumple

         break;

 

 default:

 

         Bloque de instrucciones cuando ninguno de los casos anteriores se cumplió

}

 

Ejemplo:

 

switch (<Empleado.rol>)

{

 case  "Director":

 

         <Empleado.tiempoAscenso> = "5 años"

         break

 

 case "Gerente":

 

         <Empleado.tiempoAscenso> = "3 años"

         break

 

 case "Analista":

 

         <Empleado.tiempoAscenso> = "2 años"

         break

 

 default:

 

         <Empleado.tiempoAscenso> = "1 año"

}

 

Expresiones de bucle

Expresiones utilizadas para iterar sobre un objeto con varios elementos (array, arraylist, colección, etc.). estas pueden usarse para buscar un valor particular, o para realizar una acción sobre cada elemento del objeto.

 

Expresión For

Ejecuta un bucle un número dado de veces. Es necesario definir un punto de inicio sobre el objeto que se va a iterar (por ejemplo, si se va a comenzar desde el inicio del objeto, su punto de partida sería 0), una condición para que el bucle se ejecute (por ejemplo, si quiere recorrer todo el objeto, o solo una parte), y cómo la variable definida en el punto de partida inicia.

 

for (var i = punto de partida; i < número de iteraciones deseado; i++)

{

 Bloque de instrucciones ejecutado mientras la condición se cumpla

}

 

Ejemplo:

 

var calificaciónFinal = 0

for (var i = 0; i < calificaciones.size(); i++)

{

 calificaciónFinal = calificaciónFinal + calificaciones.get(i)

}

 

calificaciónFinal = calificaciónFinal / calificaciones.size()

 

note_pin

Tenga presente que la manera de iterar sobre un objeto depende de qué tipo de objeto es. Vea Iterar usando expresiones.

 

Expresión While

Ejecuta un ciclo mientras se cumpla una condición. Una condición es una expresión que retorna un valor Booleano.

 

while (Condición)

{

 Bloque de instrucciones ejecutado mientras la condición se cumpla

}

 

Ejemplo:

 

var tareasTerminadas = 0

var i = 0

while (tareasTerminadas < tareas.size())

{

 var tareaActual = tareas.get(i)

 tareaActual.setXPath("terminada", true)

 tareasTerminadas = tareasTerminadas + 1

 i = i+1

}

 

Expresión Do

Variante de la expresión while. Ésta ejecuta el bloque de código al menos una vez, y después, se ejecuta mientras la condición establecida se cumpla.

 

do

{

 Bloque de instrucciones ejecutado al menos una vez, y luego mientras la condición se cumpla

}

while (condición);

 

Ejemplo:

 

var tareasTerminadas = 0

var i = 0

do

{

 var tareaActual = tareas.get(i)

 tareaActual.setXPath("terminada", true)

 tareasTerminadas = tareasTerminadas + 1

 i = i+1

}

while (tareasTerminadas < tareas.size());

 

Saliendo de un bucle

Hay casos donde puede necesitar salir de un bucle antes que la condición establecida se cumpla, o antes que el número de iteraciones se alcance. Para hacer esto, es necesario incluir en su código la sentencia break.

 

while (Condición)

{

 Bloque de instrucciones ejecutado mientras la condición se cumpla

 if (condición2)

 {

         Bloque de instrucciones ejecutado si la condición interna se cumple

         break;

 }

}

 

Ejemplo:

 

var evaluadoresTotales = 0

var evaluadores = Me.getXPath("Evaluacion.evaluadores")

var i = 0

while (evaluadoresTotales < evaluadores.size())

{

 var evaluadorActual = evaluadores.get(i)

 evaluadorActual.setXPath("seleccionadoParaEvaluar", true)

 evaluadoresTotales = evaluadoresTotales + 1

 i = i+1

 

 if (evaluadoresTotales == <Evaluacion.evaluadoresMinimos>)

 {

         break;

 }

}

 

En el código anterior, si la condición interna se cumple (aquella asociada a la expresión if), la sentencia break se ejecutará y el bucle se terminará automáticamente.


Last Updated 7/5/2023 12:04:19 PM