Usar Me.Context

<< Click to Display Table of Contents >>

Navigation:  Bizagi Studio > Asistente de Procesos > Reglas de Negocio > Ejemplos de reglas de negocio >

Usar Me.Context

Esta función es útil en reglas que manejan contextos diferentes a los de la Entidad de Proceso. Otros usos de Me.Context son:

 

Cuando las reglas van a ser usadas en formas de Adición o Edición, incluyendo: reglas de visibilidad, de edición o de naturaleza obligatoria de atributos, el contexto de la expresión (punto de inicio de la navegación de datos) es la entidad de la colección (de una relación uno a muchos) donde la regla se evalúa.

 

Cuando las reglas van a ser usadas en formas anidadas, como reglas de visibilidad, edición o de naturaleza obligatoria de atributos.

 

Cuando las reglas van a ser usadas en un botón que esté en una forma anidada o en en una forma para agregar o editar registros de una tabla, el contexto de la expresión (punto de inicio de la navegación de datos) es la entidad de la colección (de una relación uno a muchos) donde la regla se evalúa.

 

Cuando las reglas van a ser usadas como reglas para filtrar información desde un combo o una ventana de búsqueda, el contexto de la regla debe ser la entidad en donde el combo, o la ventana de búsqueda, está localizado.

 

 

Ejemplo

En un Proceso de solicitud de crédito el ingreso de los clientes es una variable importante. De acuerdo con las políticas del banco, un préstamo no puede ser concedido a un cliente que tiene un ingreso anual menor a U$15,000 y todo cliente con un ingreso anual mayor a U$90,000 ha de ser verificado.

 

Las validaciones que son requeridas serán controladas desde la actividad de Análisis de solicitantes, con el fin de dar retroalimentación inmediata al cliente y asegurar que solo casos válidos llegan a la actividad Verificar información de solicitantes.

 

 

CHelper82

La información en la actividad de Análisis de solicitantes se muestra de la siguiente manera:

 

CHelper84

 

Si el cliente posee un ingreso menor a $15,000, se debería mostrar un mensaje al usuario al momento de editar la información del cliente, tal como se muestra:

 

CHelper90

 

Para configurar esta validación usted debe utilizar una Validación de forma. Como el contexto de la forma donde se edita la información del cliente es diferente al de la Entidad de Proceso, se utiliza Me.Context para comprobar que cada cliente cumple con las políticas de ingresos.

 

Estas validaciones se realizan teniendo en cuenta el siguiente modelo de datos.

 

CHelper83

 

 

Note que una solicitud puede tener más de un cliente y un cliente puede estar en más de una solicitud (relación de muchos a muchos).

 

1. Vaya al tercer paso del asistente de procesos y dé clic en la actividad Análisis de solicitantes.

 

 

 

2. Vaya a la pestaña Avanzado de la colección de Clientes. Asuma que ya hemos configurado una forma de edición para esta colección.

 

CHelper86

 

3. Dé clic en el icono de expresión de la propiedad Expresión de validación, bajo las opciones de edición, y cree una expresión de scripting.

 

CHelper85

 

4. En un elemento de expresión obtenga los valores a comparar (ingreso máximo, ingreso mínimo e ingreso del cliente).

 

CHelper87

 

Valide si el ingreso del cliente es menor al ingreso mínimo. En este caso será necesario mostrar un mensaje de validación.

 

CHelper88

 

Ahora valide si el ingreso del cliente es mayor al ingreso máximo. Utilice Me.Context  para asignar el indicador de los clientes cuyo ingreso debe ser verificado.

 

CHelper89

 

 

//Obtenga los valores a comparar

HighIncome=90000;

LowIncome=15000;

CustomerIncome=Me.Context.getXPath("Customer.Income");

//Evalúe si el ingreso del cliente es menor al ingreso mínimo

if (CustomerIncome<LowIncome)

{

CHelper.ThrowValidationError("The income is too low to apply for this loan")

}

//Evalúe si el ingreso del cliente es mayor al ingreso máximo

if (CustomerIncome>HighIncome)

{

Me.Context.setXPath("VerifyIncome",true);

}