Resuelto

Tareas múltiples

Por favor requiero su ayuda para configurar correctamente el diagrama BPM en BizAgi.

(Se que existen los subprocesos múltiples, pero no me sirve para el modelado que estoy realizando y lo hare con tareas múltiples)

La tarea "preparar formulario de cotización" (luego será enviado con el evento intermedio) recibe dos tareas, la primera "Listar proveedores registrados" que se encargara de generar tantos tokens como proveedores registrados existen. Aquí tengo una duda; puedo usar "Ciclo Múltiples Instancias" pero requiere definir el número deseado de instancias que desconozco porque eso lo define la BD que almacena los proveedores, entonces, solo me queda "Ciclo Estándar" con la condición "proveedores restantes > 0" que entiendo listara los proveedores hasta que no quede ninguno (0 > 0 FALSE) pero me pide "Cantidad de Salida" pienso que debe ser Inicio=1 y final=1 para que en cada vuelta genere solo un token por cada proveedor, pero no logro encontrar la respuesta en los foros. ¿Es correcto lo que estoy haciendo? ¿O como debo definir esta tarea?

La tarea "Buscar nuevos proveedores" la coloco como "Ciclo Múltiples Instancias" y se encargará de buscar tres (03) nuevos proveedores (Cantidad de inicio =1, Cantidad final: 3), esto generará tres tokens. Pero según la evaluación la cantidad que llegue a la tarea "Preparar formulario de cotización" es variable. Entiendo que lo definido en este punto es correcto.

La tarea "Preparar formulario de cotización" es una tarea sin ciclo, pues se realizará cada vez que reciba un token (igual que el evento intermedio de enviar). Entiendo que lo definido en este punto es correcto.

Debido a las validaciones, muchos tokens pueden NO llegar a "Evaluar cotización", por tanto, se desconoce el número de token que van a ingresar (se valida que al menos haya uno), estos tokens se almacenaron en el evento intermedio "esperar una hora" (el segundo), así que uso la tarea "Ciclo Múltiples Instancias" que recibirá todos los tokens y solo saldrá uno (Condición de flujo=Todo). ¿Es correcto lo que estoy haciendo? ¿O como debo controlar para que se evalúen todos los tokens almacenados (sin usar subtareas porque desconozco cuantos tokens ingresan)?

Finalmente, "Seleccionar mejor oferta" recibe un token y arroja un token que será entregado al proceso que llamo este subproceso. Entiendo que lo definido en este punto es correcto.

Comentarios (1)

photo
1

Buenas tardes, lo primero que podemos concluir observando las imágenes enviadas, es que la tarea es del tipo Service Task con Loop Multi-Instance, estas actividades se usan principalmente para integraciones o procesos automáticos dentro del proceso. Los parámetros de entrada son Start Quantity (número de Tokens esperados) y Completition Quantity (número de Tokens que serán generados).

Debido a que en su caso particular, el número de Tokens de entrada es variable, una solución posible sería no usar esta actividad como Multi-Instance sino como None (la opción por defecto) y configurar los Loop desde la regla de instanciación, donde podrá evaluar el número de proveedores y por medio de la función For, podrá Listar proveedores registrados.

Espero que esto resuelva su inquietud.