<< Clic para mostrar Tabla de Contenidos >> Sintaxis de los elementos de las expresiones |
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.
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()
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