Agregando Modulos en Reglas
De
<keywords content="keywords">agregar, expresion, if, while, for, funcion, servicio web, expresion booleana, iteracion sobre fact, iteracion sobre xpath</keywords>
Contenido |
Agregando Módulos en Reglas
Los módulos son opciones que le permiten establecer comportamientos específicos, características y condiciones para una regla de negocio. Para agregar módulos, haga clic derecho sobre la línea vertical correspondiente para desplegar una lista con las siguientes opciones:
Adicionar Expresión (Add Expression)
Adicionar Función (Add Function)
Adicionar Servicio Web (Add Web Service)
Adicionar Expresión Booleana (Boolean Expression)
Adicionar Iteración sobre una Relación (Add Iteration Over Fact)
Adicionar Iteración sobre un Xpath (Add Iteration Over Xpath)
Cuando se trabaja con los módulos, el código asociado con la lógica expresada en el diseño es creado automáticamente en la vista Código (Code View).
Expresión Booleana (Boolean Expression)
Este módulo permite al usuario incluir expresiones Booleanas o condicionales. Recuerde que las condiciones son satisfechas o no satisfechas si ellas pueden resultar en una respuesta verdadera (true) o una falsa (false) cuando son evaluadas.
Haga clic derecho sobre el diagrama para desplegar la lista de opciones descritas abajo asociadas con este módulo:
Editar Descripción (Edit Description): Hace cambios al nombre dado al diagrama.
Propiedades (Properties): Permite al usuario definir la condición. La ventana Expresión de Entidad (Entity Expression) aparece para que el usuario agregue la condición. Expresiones complejas pueden ser incluidas.
Remover (Remove): Esta opción permite al usuario eliminar el módulo completo.
¿Cómo Agregar una Expresión Booleana?
1. Haga clic derecho sobre la línea vertical de la regla y seleccione la opción Adicionar Expresión Booleana (Add Boolean Expression); una ventana Condición-Descripción (Condition-Description) aparecerá para que el usuario nombre la Expresión Booleana.
2. Haga clic derecho sobre la Expresión Booleana y seleccione la opción Propiedades (Properties) para establecer sus características. La ventana Expresión de Entidad (Entity Expression) luego aparecerá.
3. Las condiciones de la Expresión Booleana son definidas en la ventana Expresión de Entidad (Entity Expression).
a. En el primer campo, seleccione el objeto a ser evaluado. El combo ofrece las siguientes opciones:
Lista de atributos de la Entidad de Contexto: permite al usuario seleccionar cualquiera de los atributos en la Entidad de Contexto. En este ejemplo, estas son los cuatro primeros atributos mostrados en la imagen de arriba.
Seleccionar Atributo (Select Attribute): permite al usuario seleccionar un atributo relacionado al a Entidad de Contexto. Si el usuario selecciona esta opción, la ventana Seleccionar Item (Select Item) aparecerá con un árbol para que se seleccione un ítem.
Escribir Expresión (Write Expression): permite al usuario ingresar una expresión directamente usando navegación por XPath. Si el usuario elige esta opción, un cuadro de texto aparecerá a la derecha del combo para el que el usuario escriba la expresión.
Seleccionar un Vocabulario (Select from vocabulary): permite al usuario seleccionar las definiciones "Get" del vocabulario usado en las políticas. Si el usuario selecciona esta opción, la ventana para seleccionar ítem aparecerá presentando todas las definiciones GET del proceso seleccionado.
Si el usuario elige un atributo en el paso previo, otro combo aparecerá presentando varias opciones dependiendo del tipo de atributo seleccionado, incluyendo:
Atributos/Definiciones |
Operadores |
Numerical (Numérico) |
Igual, Diferente, Menor que, Menor o igual a, Mayor que, Mayor o igual a, Vacío, Lleno. |
Text (Texto) |
Igual, Diferente, Vacío, Lleno, Contiene, No Contiene, Empieza con, No Empieza con. |
Boolean (Booleano) |
Vacío, Lleno, Igual a Sí, Igual a No. |
c. Si la selección del usuario requiere la inclusión de otro argumento, otro combo aparecerá ofreciendo las siguientes opciones:
Ingrese Número (Enter Number): Permite al usuario ingresar un número constante, únicamente disponible para atributos numéricos.
Ingrese Texto (Enter Text): Permite al usuario escribir en un texto, únicamente disponible para atributos de tipo String (cadena).
Ingrese Fecha (Enter Date or Date and Time): Permite al usuario ingresar una fecha constante, o fecha y hora, únicamente disponible para atributo de tipo fecha.
Seleccionar Campo (Select Field): Cuando el usuario elige esta opción, la ventana Seleccionar Item aparecerá, en donde el usuario puede seleccionar los atributos del modelo de datos.
Lista de Variables (List of Variables): Permite al usuario seleccionar cualquiera de las variables declaradas en el módulo inicio (Start).
Seleccionar Valor de Entidad (Select Entity Value): Permite al usuario seleccionar el valor del atributo evaluado cuando esta reaccionando con una entidad de parametrización.
Seleccionar Definición (Select Definition): Permite al usuario seleccionar las definiciones "Get" del vocabulario usado en las políticas. Si el usuario selecciona esta opción, la ventana Select Item aparecerá presentando todas las definiciones GET del proceso seleccionado.
4. Si el usuario necesita agregar otra condición, el botón Y (And) permite al usuario incluirla por medio del operador lógico Y (And) u O (Or). En el caso que las condiciones tengan que ser agrupadas con paréntesis, haga clic sobre el botón Vincular (Link), el cual anidará la condición con la que lo precede. Para borrar condiciones, haga clic sobre el botón Borrar (Delete) para eliminarlas una a la vez.
Ejemplo: Un análisis de Préstamo es requerido para el proceso Solicitud de Préstamo cuando la cantidad solicitada por el cliente es mayor a 1000 o que la cantidad solicitada sea mayor al valor pre-aprobado. |
El valor Máximo esta en el Vocabulario, ya que este debe ser administrable. |
Expression (Expresión)
Este módulo ofrece la posibilidad para agregar código directamente.
Al final de cada sentencia en la regla SIEMPRE SE DEBE FINALIZAR CON UN PUNTO Y COMA ( ; )
Haga clic derecho sobre el diagrama para ver las opciones asociadas al módulo, descritas en detalle a continuación.
Editar Descripción (Edit Description): Hace cambios al nombre dado al diagrama.
Propiedades (Properties): Esta opción despliega una ventana para que usted escriba el código directamente.
Remover (Remove): Esta opción permite al usuario eliminar el módulo completo.
¿Cómo Agregar una Expresión?
1. Haga clic derecho sobre la línea vertical de la regla y seleccione la opción Adiconar Expresión (Add Expression); la ventana Expresión - Descripción (Expression-Description) aparecerá para que el usuario nombre la Expresión.
2. Haga clic derecho sobre el módulo Expression y seleccione la opción Propiedades (Properties) para establecer sus características. La ventana Expresión (Expression) emergerá.
El código debe ser escrito directamente en esta ventana.
Para hacer uso de los atributos del modelo entidad relación, Bizagi usa "intellisense" para que sin mayor esfuerzo se construyan las reglas. Para ingresar al atributo deseado, escriba el símbolo "<". Una lista luego aparecerá con todos los atributos de la Entidad de Contexto donde el usuario seleccionará una. En el caso en que el atributo que busca el usuario sea otra entidad relacionada a esta, el usuario debe seleccionar el atributo relacionado a la otra entidad (también llamado como Llave Foránea). El usuario debe escribir el Símbolo "." y una lista aparecerá para que el usuario seleccione el atributo deseado de la entidad relacionada. Este procedimiento puede ser repetido una y otra vez. Finalmente, cuando el usuario encuentra el nombre del atributo que esta buscando, escriba el símbolo ">".
Ejemplo: Las siguientes figuras indican cómo obtener el nombre de un atributo específico. El atributo Approved fue encontrado en la entidad relacionada Request usando idRequest. |
El usuario puede también usar expresiones Xpath, atributos de actividad o proceso y variables en las expresiones.
Para usar una variable que ha sido declarada en el módulo de Inicio (Start), haga clic sobre el botón Opciones (Options) y seleccione la variable.
Los operadores que pueden ser usados en el módulo Expressions son:
Atributos |
Operador |
Fórmula |
= |
Asignación |
<idRequest.idClient.idCity> = 1 |
+ |
Adición |
nDays = <idRequirement.DaysTask> + 1; |
* |
Multiplicación |
<idRequest.Interest> = <idRequest.Interes> * 3; |
- |
Sustracción |
nDays = <idRequirement.DaysTask> - 1; |
/ |
Dividido por |
nDays = <idRequirementDaysTask> /3 ; |
== |
Igual a |
<idRequest.idClient.idCity> == 1 |
!= |
No es igual a |
<idRequest.idClient.idCity> != 1 |
> |
Mayor que |
<idRequirement.DaysTask> > 3 |
< |
Menor que |
<idRequirement.DaysTask> < 3 |
>= |
Mayor o igual a |
<idRequirement.DaysTask> >= 3 |
<= |
Menor o igual a |
<idRequirement.DaysTask> <= 3 |
&& |
AND |
<idRequirement.idConcept> == 1 && <idRequirement.DaysTask> > 3 |
|| |
OR |
<idRequirement.DaysTask> >= 3 || <idRequirement.idConcept> != 1 |
Nota: Los nombre de los atributos de entidades deben estar escritos empezando desde el Contexto de Entidad. Esto es, el atributo debería pertenecer a una entidad que está de alguna manera relacionado a la Entidad de Contexto. |
Ejemplo: Durante el proceso de Solicitud de Préstamo, el ingreso del Cliente y la información de gastos es requerida. Para prevenir errores en la suma, los gastos e ingresos del Cliente deben ser sumados. El ingreso total es igual a la suma del Ingreso más otro ingreso y los gastos totales igual a Gastos, más gastos financieros más otros gastos. |
Así es como la pantalla se vería:
Esta sería la vista de diseño de la regla que hace los cálculos:
Así es como en la regla el botón se vería:
(Tenga en cuenta que esto es teniendo la entidad Client como la entidad de contexto)
Así es como la regla executing On Exit de la actividad se vería
(Tenga en cuenta que esto es teniendo a la entidad de aplicación como la entidad de contexto)
Alerta: Cuando termina una expresion que retorna un valor y éste es Undefined, la expresión realmente retornará la ÚLTIMA línea de asignación que NO sea Undefined. Por ejemplo, una varibala contiene una suma: var SUMA = <Attributo1> + <Atributo2>; SUMA; Si la variable sume es Undefined, la regla retornará la última línea que fue asignada que no fuese Undefined. . |
Información Relacionada
<comments />