Reutilizar reglas de negocio

<< Click to Display Table of Contents >>

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

Reutilizar reglas de negocio

Introducción

En Bizagi es posible reutilizar reglas de negocio para hacer la automatización del proceso más eficiente. Las Reglas de Negocio que son utilizadas frecuentemente en el proyecto solo se crean una vez, luego solo se deben asociar a los nuevos elementos cuando se necesite.

Es muy importante saber donde crear estas reglas de negocio para poder reutilizarlas.

 

 

Tipos de reglas de negocio

Existen dos tipos de reglas de negocio: Reglas booleanas y reglas de Scripting. Cada tipo provee cierta flexibilidad y facilidad de uso. Depende de donde se utilicen reglas de negocio, Bizagi permitirá la creación de unas u otras.

 

Reglas Booleanas

Estas reglas solamente deben retornar Verdadero o Falso. Como vimos en la sección anterior, las reglas booleanas son utilizadas para:

oReglas asociadas al flujo de secuencia (ruta del proceso)

oReglas utilizadas para condiciones de atributos (campos en formas) para que sean visibles, editables o requeridos.

Note la opción Reusable (Reutilizable) en la esquina inferior izquierda. Si la regla es reutilizable, seleccione el campo.

 

 

Where to use business rules32

 

Scripting rules

Son reglas que realizan cálculos y validaciones. En este tipo de reglas usted puede incluir código para llevar a cabo cualquier tipo de tarea, estas reglas no tienen que retornar un tipo de datos en particular. Este tipo de reglas son utilizadas en:

oAcciones al Entrar, al Salvar y al Salir.

oValidaciones de tablas de la forma.

oBotones y formas.

Estas reglas siempre son reutilizables. Dependiendo de donde se han creado, estás pueden ser usadas por cualquier proceso dentro del proyecto, o por un proceso dentro de la misma aplicación, o solamente en el proceso donde fueron creadas.

 

Where to use business rules4

 

 

Bizagi tiene cuatro niveles donde las Reglas de Negocio son guardadas dependiendo del sitio desde el cual pueden ser accedidas.

Los niveles son:

 

Reglas Globales / Librería reglas:

Estas pueden ser reglas Booleanas o Scripting. Son reglas generales que pueden ser accedidas y reutilizadas por todos los procesos de todas las aplicaciones, generalmente realizan cálculos que aplican a varios procesos, sin ningún contexto. Es posible crear familias de reglas para organizarlas. Si la regla es creada como una Función está será como librería de reglas.  De esta forma podrá ser llamada por otras reglas para realizar cálculos.

Ejemplo.

 

Reglas de aplicación:

Estas pueden ser reglas Booleanas o Scripting. Pueden ser accedidas y reutilizadas por todos los procesos de una aplicación. Usualmente realizan cálculos que aplican para los procesos que comparten el contexto. Es posible crear familias de reglas para ordenarlas.

Ejemplo

 

Reglas de entidad: estas pueden ser reglas Booleanas o Scripting. Pueden ser accedidas por cualquier proceso en cualquier aplicación siempre y cuando la entidad donde se encuentra la regla sea parte del modelo de datos. Las reglas booleanas en entidades manejan, por ejemplo, si un campo es visible, editable o requerido. Las reglas de scripting se utilizan en botones y en validaciones de tabla.

 

Reglas de proceso: estas pueden ser reglas Booleanas o Scripting. Estas reglas solo se pueden reutilizar en el proceso: ningún otro proceso podrá verlas o utilizarlas. Las reglas booleanas son las relacionadas con la ruta del proceso. Las reglas de Scripting son aquellas que se utilizan en las acciones Al Entrar, Al Salvar y Al Salir. Cuando se crea una regla en el paso cuatro del Asistente para definir la ruta del proceso o una acción, esta quedará guardada automáticamente como Reglas de Proceso.

 

 

Where to use business rules33

 

 

Where to use business rules34

 

Where to use business rules35

 

 

Ejemplo de una Regla Global/ Librería de reglas

Suponga que usted trabaja en un banco. Se desea que cuando se realicé una solicitud para un crédito, la fecha de la solicitud quede definida por defecto. De esta forma se asegura que cuando se cree un nuevo caso, se asigne a la fecha de la solicitud la fecha de Hoy.

Otro ejemplo, en el Proceso de Solicitud de Compras es necesario configurar un valor de fecha mínima para realizar la entrega de los productos: Es necesario que la fecha sea después de hoy debido a que la entrega se hace al menos un día después.

Ya que pueden existir muchos escenarios que necesitan verificar la fecha actual (hoy), tiene mucho sentido crear una sola regla y utilizarla varias veces a través de los procesos.

Note que esta regla no necesita un contexto. No hay ninguna manipulación del modelo de datos, solo se necesita la fecha de hoy.

 

Por lo cual, hemos creado una regla Global que devuelve la fecha de Hoy utilizando una función de la categoría de Fechas y Tiempos.

En la vista de Experto, seleccione la opción Reglas de negocio. dé clic derecho en Expresiones de la clasificación de las Reglas de Negocio y dé clic sobre Nueva Expresión de Script.

Cuando se crea una nueva regla es posible ubicarla dentro de una familia de reglas, seleccione la familia de la lista desplegable si aplica, de lo contrario deje el espacio en blanco.

 

Where to use business rules36

 

Vamos a utilizar esta regla en el Modelador de Formas de un proceso para definir el valor por defecto o una fecha mínima o máxima.

Abra el modelador de formas y seleccione el atributo donde se quiere incluir la regla. Seleccione la propiedad valor por defecto y luego asigne la regla.

 

Where to use business rules50

 

Ejemplo de una Regla de aplicación

Para la solicitud de un crédito, es necesario facilitar cierta información inicial sobre la solicitud. Antes de que el solicitante sea aceptado como cliente, las formas deberán mostrar u ocultar cierta información. Por lo que se necesitan de reglas de visibilidad en varias formas del mismo proceso.

 

Note que esta regla tiene un contexto porque está relacionada con el solicitante. El contexto de la regla será la entidad del Proceso principal del proceso padre. Por lo tanto, creamos una regla de aplicación que devuelve Verdadero o Falso según el cliente evaluado.

 

En la vista de Experto, seleccione la opción Reglas de negocio. Dé clic derecho sobre Expresiones en la Aplicación donde quiere crear la regla. Seleccione Nueva Expresión.

Bizagi le preguntará si desea una regla Booleana o de Script. En este caso seleccionamos Booleana.

 

Arrastre y suelte los datos para evaluar, además establezca la condición.

Finalmente de un nombre a la regla. Cuando se crea una nueva regla es posible ubicarla dentro de una familia de reglas, seleccione la familia de la lista desplegable si aplica, de lo contrario deje el espacio en blanco.

 

 

Where to use business rules37

 

 

Ahora se pude utilizar la regla en el Modelador de Formas de cualquier proceso de la aplicación.

Abra el Modelador de Formas y seleccione el atributo que se quiere ocultar con la regla.

 

Where to use business rules51

 

Ejemplo de una regla de Entidad

En el Proceso de Solicitud de Compras existe una colección de productos, donde el usuario final ingresa todos los productos que necesita.

Existe una relación uno a muchos entre la entidad de proceso Solicitud de compras y Productos de la Solicitud.

El usuario final ingresa cada producto especificando el precio unitario y la cantidad. Luego, cuando el registro se guarda, se debe calcular y mostrar el precio total de los productos, es decir, el precio unitario multiplicado por la cantidad.

 

Vamos a calcular esta cantidad utilizando una Expresión de Validación al Editar. Estas reglas están relacionadas con las formas del modelador donde se han guardado la entidad de la colección. Es decir, pueden ser reutilizadas por cualquier proceso que tenga la entidad de la colección dentro de su modelo de datos.

 

En el modelador de formas, seleccione la tabla donde se va a utilizar la regla.

 

Where to use business rules52

 

Seleccione Editar la Expresión de Validación. Esto abrirá un regla de script para escribir el código. Debido a que estamos trabajando sobre una colección, el contexto de la regla será la entidad Productos Solicitados.  

Cuando el usuario final guarde un nuevo proceso, el precio total será calculado.

 

Where to use business rules38

 

 

Ejemplo de una regla de proceso

Bizagi guarda como reglas de proceso las acciones creadas Al Entrar, Al Salir y Al guardar y las reglas de ruteo del proceso.

La siguiente regla en una regla de proceso booleana que orienta el proceso cuando el jefe ha solicitado cambios, antes de continuar con el subproceso Cotizaciones.

 

 

Where to use business rules39

 

 

Cómo reutilizar una regla

Cuando una regla ya ha sido creada y se desea reutilizar, vaya al flujo de secuencia que quiere asociar y abra el administrador de expresiones.

Seleccione Basado en el resultado de una expresión.

 

Where to use business rules53

 

 

Esto desplegará las reglas para ser re-usadas en la pestaña Expresiones.

Seleccione la que desea y dé clic en Ok.

 

 

Where to use business rules41