El bucle es uno de los tipos de iteración que podemos definir en una tarea o una llamada a actividad. Este tipo de iteración repite la ejecución hasta que se cumple una condición.
Planteamos un proceso muy básico en el que enviamos un formulario varias veces con el resultado del incremento del valor de una variable x.
Este formulario dejará de aparecer como tarea pendiente a tomar transcurridos 15 segundos.
Una vez hayamos agotado el tiempo, dependiendo del número de formularios que nos hayan aparecido, la variable tendrá un valor mayor o menor.
Bucles
x INTEGER
vnBuclesB com.company.model.Bucles
El proceso no tiene ni contrato ni formulario de instanciación.
No obstante, hemos de inicializar la variable de negocio para que el atributo x comience con el valor 0:
def vv = new com.company.model.Bucles()
vv.x=0
return vv
Lo que le hemos dicho a Bonita, en el contrato, de que nos ocupábamos nosotros de las operaciones, lo hacemos ahora mediante un script ejecutado como argumento del método de Java vnBuclesB.setX():
vnBuclesB.getX()+1
El bucle hará repetir la ejecución de la tarea, en este caso, 4 veces. La condición de finalización del bucle —ejecutar hasta que se obtenga el valor falso— es true, es decir, se ejecutaría indefinidamente. Pero hemos definido, también, un número de ciclos máximo igual a 3. Piensa en un contador de ejecuciones equivalente a while (veces <=3), es decir, el proceso parará cuando veces == 4.
Una vez lanzado el proceso desde Bonita Studio, no veremos nada en la aplicación web, así que iremos directamente al caso archivado.
Solo vemos el valor de x == 3, la tarea la ha ejecutado el sistema y no nosotros.