<< Clic para mostrar Tabla de Contenidos >> Definir expresiones (Ruta del proceso) |
Introducción
Cuando se modela un proceso, es necesario incluir Reglas de Negocio que ayudarán a determinar la ruta que debe seguir el flujo del proceso cuando:
1. Se llega a una compuerta divergente que requiere una expresión, aplica para compuertas exclusivas e inclusivas.
2. Se alcanza una actividad condicional.
Cuando estas formas tienen más flujos de secuencia de salida que de entrada, se consideran como un elemento divergente. Cada uno de los flujos de salida debe tener una regla de negocio asociada la cual será evaluada por Bizagi para determinar cuál es el camino a seguir. Cada actividad condicional necesita una regla de negocio que defina cuando debe ser activado para comenzar.
Compuerta Exclusiva
Cuando se utiliza una compuerta Exclusiva, solamente UNA de las reglas de negocio debe ser válida (verdadera). Solamente se debe seguir un camino.
Compuerta Inclusiva
Cuando se utiliza una compuerta Inclusiva, uno o más caminos pueden ser válidos, por lo que el proceso continuará por ellos.
Actividad/ Evento Condicional
Cuando una Actividad o Evento es condicional, la ruta sólo continuará una vez la condición es válida (verdadera)
Las reglas de negocio asociadas a los flujos de secuencia se conocen como expresiones Booleanas, ya que siempre retornan Verdadero o Falso.
¿Qué se debe hacer en Bizagi?
En el cuarto paso del Asistente, seleccione la opción Definir Expresiones.
El flujo del proceso será mostrado resaltando los flujos de secuencia que necesitan la definición de una regla de negocio.
Cuando un flujo de secuencia tiene configurado una regla de negocio, este será mostrado en color negro.
Cuando un flujo de secuencia no tiene configurado una regla de negocio, este será resaltado en color amarillo.
Cuando una regla de negocio no ha sido definida por una Actividad Condicional, la actividad mostrará un signo de advertencia.
Cuando una regla de negocio ha sido definida por una Actividad Condicional, la actividad será mostrada como habilitada sin un signo de advertencia.
Dé clic en cualquier flujo de secuencia para asociar una regla de negocio.
Crear reglas de negocio para flujos de secuencia
Ejemplo 1: Asignar una condición
En el proceso de Solicitud de Compras, un usuario crea una solicitud. Luego, es necesario que el jefe inmediato (Boss) evalué la solicitud. Dependiendo de la decisión, el proceso puede continuar por diferentes caminos:
•Si la solicitud se aprueba, el proceso envía un correo y continúa con el Subproceso Cotizaciones.
•Si la solicitud es rechazada, se envía un correo informando el rechazo y termina el proceso.
•Si la solicitud requiere cambios, se envía un correo al solicitante y el proceso regresa a la primera actividad.
Note que el Proceso sólo puede tomar uno de los caminos, razón por la cual se está usando una compuerta Exclusiva.
El jefe inmediato debe tomar una decisión respecto a la solicitud, en su interfaz de usuario se mostrará una lista desplegable para que escoja la acción a seguir. Por lo cual existe una relación entre la entidad del Proceso Solicitud de Compra y la entidad paramétrica Estado de la Solicitud.
Dé clic en el flujo de secuencia de Rechazo.
En la nueva ventana, seleccione Basado en el resultado de una expresión. Esto habilitará la pestaña Expresiones.
En Expresiones, dé clic en Nueva.
Se mostrará la pestaña Nueva para ingresar la Expresión booleana.
En el lado izquierdo de la ventana se encuentra el Modelo de Datos. Al lado derecho esta el espacio para crear la condición que se evaluará.
•Arrastre y suelte del modelo de datos el atributo a evaluar. El XPath se creará automáticamente, en este caso: PurchaseRequest.RequestState.
•Luego seleccione la condición de la evaluación desde la lista desplegable. Cuando se utilizan condiciones que evalúa contra una entidad paramétrica, como en este caso, la lista de posibles valores se mostrará automáticamente para que el usuario seleccione el valor deseado.
•Finalmente seleccione el último elemento a evaluar en la condición.
Dé clic en Finalizar para guardar la regla de negocio.
Defina las demás reglas de negocio siguiendo el procedimiento anterior.
Es importante asegurarse al utilizar un compuerta Exclusiva que al menos una condición regrese Verdadero, si no, un mensaje de error será mostrado al usuario final indicando que no hay una tarea con cual continuar. LE RECOMENDAMOS DEFINIR UN FLUJO DE SECUENCIA COMO SI NO (ELSE) |
En este caso, la condición Si no es definida en el flujo de Aprobado.
Clic sobre el flujo de secuencia y seleccione la condición Si no y luego dé clic en Ok.
Ejemplo 2: Definir múltiples condiciones
Suponga que en el ejemplo anterior, la decisión que define si el proceso continúa por cierto camino tiene dos condiciones: el jefe inmediato rechaza la solicitud O solicita cambios.
En este caso, es necesario incluir una segunda condición y especificar que cualquiera de las dos opciones en válida, es decir es una operación OR.
El usuario puede incluir tantas condiciones como necesite dando clic en el botón Nueva Condición al final de la ventada.
Es muy importante que en la parte superior de la ventana, la opción Alguna de las siguientes condiciones esté seleccionada para poder incluir el operador OR entre los argumentos.
Por defecto el operador AND (Todas las siguientes condiciones) está seleccionado.
Ejemplo 3: Definir la condición siempre.
En el proceso de Solicitud de Viajes, un usuario crea una solicitud. Cuando la solicitud ha sido aprobada por el Jefe, el proceso pude continuar por alguno de los caminos disponibles, dependiendo de las necesidades del solicitante.
•Siempre se debe realizar una reserva de Hotel y de vuelo.
•De ser necesario, se debe ejecutar las actividades relacionadas con el manejo y pago del desembolso de viajes.
Ya que el proceso puede continuar por uno o dos caminos, vamos a utilizar una compuerta Inclusiva.
La primera condición será definida con el valor por defecto, ya que siempre debe retornar Verdadero.
La segunda condición evaluará si el XPath TravelRequest.AdvanceRequired es verdadero. Esto indica que el solicitante solicitó una Adelanto.
Ejemplo 4: configuración de condiciones de entidades en tiempo de ejecución
Los controles de Caso, relacionados con las entidades Runtime, están disponibles para enrutar un proceso, ofreciendo ocho atributos.
Imagine un caso que debe enrutarse en función de su estado actual. Recuerde que las entidades Runtime presentan información interna, como el estado actual del caso.
En este ejemplo, enrutaremos el proceso cuando el estado sea "Running", lo que significa que el caso está activo.
Al abrir la expresión de enrutamiento, mueva y expanda el icono de Caso justo debajo de la entidad de proceso. La entidad Caso mostrará todos sus atributos disponibles.
En este caso, arrastraremos y soltaremos el atributo Case.CurrentCaseStatus, y lo configuraremos igual a "Running".
Puede revisar los valores de las entidades en tiempo de ejecución.
Ejemplo 5: Definir condiciones utilizando colecciones
Cuando una expresión Booleana necesita evaluar una condición utilizando una colección (una relación uno-a-muchos) es necesario utilizar la opción de XPath personalizado. Esta opción se encuentra en la parte inferior de la caja del Modelo de Datos.
Considere el Proceso de Solicitud de Crédito. Un solicitante puede pedir varios productos, por ejemplo, tarjetas de crédito, crédito de libre consumo, una cuenta de ahorros, etc. Algunos de estos productos necesitan garantías para respaldar la deuda (por ejemplo en créditos de libre consumo) y otros no. Cuando la solicitud ha sido aprobada por el departamento de Riesgos, los productos pueden ser entregados (o desembolsados) al cliente.
Existen algunos productos que requieren activos, usados como garantías, para ser registrados antes de que los productos sean desembolsados. Estos van al subproceso Garantías donde se registran antes de la entrega de los productos. Solo algunos productos requieren garantía, por lo tanto, hay productos que no están respaldados por una garantía que pueden ir directamente a la entrega.
Una compuerta inclusiva evalúa cuales productos van directamente a Entrega (no se necesita garantías o no se deben registrar las garantías) y cuales productos deben registrar la garantía antes de continuar con el subproceso.
En este caso, la compuerta tiene tres flujos de salida: Uno para los productos que tienen garantías que necesitan registrarse, este camino conduce al subproceso Garantías. Otro para los productos que van directamente a Entrega y un último con la condición Si no, en este caso la evaluación no puede definir a donde debe ir el producto.
Dé clic en el flujo de secuencia y en la nueva ventana seleccione Basado en el resultado de una expresión.
Vaya a la pestaña Expresiones y dé clic en Nueva.
La regla de negocio que vamos a construir contará el número de productos que necesitan registro de las garantías en el subproceso Garantías.
Si existe al menos un producto que cumpla la condición, la regla debe retornar Verdadero, de lo contrario retornará falso.
En el Editor de expresiones, expanda XPath. Dé clic en el botón Adicionar XPath personalizado.
Seleccione la colección a evaluar. En este caso vamos a seleccionar la función XPath contar, la cual retorna el número de productos que necesitan una garantía registrada (Garantías).
Tan pronto como una colección es seleccionada se habilitarán las funciones XPath, estas se encuentran en la derecha de la ventana.
Es necesario incluir un filtro para poder seleccionar solo aquellos productos que requieren pasar por el subproceso, es decir, aquellos donde las garantías deben ser registradas.
Para incluir un filtro, dé clic en el botón Adicionar condición de filtro. Esto creará una nueva línea para incluir la condición del filtro.
En la primera columna seleccione un atributo del Modelo de Datos.
Luego seleccione el valor de la condición (Igual o Es diferente que).
Finalmente seleccione un argumento. En este caso, el argumento es de tipo Booleano por lo cual, el valor será Verdadero.
Cuando termine de construir la condición dé clic en Asignar Filtro.
Es posible incluir tantas condiciones como sea necesario. Luego indique si todas las condiciones deben ser cumplidas o si solo es necesario el cumplimiento de algunas de las condiciones. Seleccione los condicionales Y o O, está opción se encuentra al lado de la lista desplegable de las funciones XPath.
Cuando termine, verifique que el XPath esté construido correctamente, la sentencia completa se muestra en la parte inferior de la ventana.
Finalmente dé clic en OK.
Arrastre y suelte el XPath personalizado que acaba de construir.
Complete la condición y los argumentos.
En este caso vamos a incluir: es mayor que, y el valor 0.
Finalmente, dé clic en Finalizar.
Last Updated 1/25/2023 3:30:20 PM