Definir expresiones (Ruta del proceso)

<< Click to Display Table of Contents >>

Navigation:  Bizagi Studio > Asistente de Procesos > Reglas de Negocio >

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.

Exclusive gateway

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.

Inclusive gateway

 

Actividad/ Evento Condicional

Cuando una Actividad o Evento es condicional, la ruta sólo continuará una vez la condición es válida (verdadera)

 

ConditionalTask

 

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.

 

Where to use business rules17

 

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.

 

Where to use business rules18

 

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.

 

Where to use business rules_cond_1

 

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.

 

Where to use business rules19

 

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.

 

Where to use business rules53

 

En Expresiones, dé clic en Nueva.

 

Where to use business rules54

 

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.

 

Where to use business rules20

 

Defina las demás reglas de negocio siguiendo el procedimiento anterior.

 

note_pin

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 Sino y luego dé clic en Ok.

 

Where to use business rules22

 

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.

 

 

Where to use business rules21

 

 

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.

 

 

Where to use business rules24

 

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.

 

Where to use business rules25

 

 

Ejemplo 4: 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 Sino, 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.

 

 

Where to use business rules26

 

Vaya a la pestaña Expresiones y dé clic en Nueva.

 

Where to use business rules55

 

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.

 

Where to use business rules27

 

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.

 

 

Where to use business rules28

 

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.

 

Where to use business rules29

 

 

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.

 

 

Where to use business rules30

 

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.

 

Where to use business rules31