Toda la información de producto en wiki.bizagi.com aplica para Bizagi BPM Suite 9.1.X.
Para las nuevas versiones de Bizagi BPM Suite (10.X y superior) visite la Guía de Usuario.
 

Filtro

De

(Redirigido desde Filter)

<keywords content="keywords"> filtro, filtro xpath, funcion de filtrado, filtrar</keywords>

Contenido

Cómo filtrar Información

Un filtro indica una o más condiciones que serán satisfechas dentro de una relación 1:N. Los filtros son usados en reglas para evaluar ciertos registros de una Colección.

Para construir un filtro, es necesario comparar los atributos en la entidad N con un valor particular:

La estructura de un filtro usa XPath y es construido como sigue:

<MainProcessEntity...NameOfTheNEntity[AttributeName= value]>


Los siguientes pueden ser usados como operadores:


Operador

Nombre

Ejemplo

=

Igual a Comparativo

<Request.LoanRequest[LoanType.Type ='CreditCard']>

!=

No

<Request.LoanReq[LoanType.Type!= 'AssistCard']>

Mayor que

<Request.LoanReq[ValueRequested > 1000]>

Menor que

<Request.Loan Req[ValueRequested < 1000]>

>=

Mayor o igual a

<Request.LoanReq[ValueRequested >= 1000]>

<=

Menor o igual a

<Request.LoanReq[ValueRequested <= 1000]>

AND

Y

<Request.LoanReq[(ValueRequested > 1000 AND LoanType.Type! = 'Credit')]>

OR

O

<Request.LoanReq[(ValueRequested < 1000 OR Term > 6)]>


Verdadero

<Request.LoanReqi[LoanType.RequiresDisbursement]>


!

Falso

<Request.LoanReq[!LoanType.RequireDisbursement]>


Ejemplo: Si una Solicitud de Préstamo en el modelo de datos puede tener uno o más préstamos solicitados, obtenga la siguiente información de acuerdo con el modelo de datos presentado.



Image:Business_Rules3_Image006.jpg


Image:Bulletazul.gif Con el XPath se puede obtener la colección entera de préstamos solicitados cuyo valor solicitado esté por encima de 50 millones como sigue:

<idRequest. Request_LoanReq[cValueRequested > 50000000]>;


Image:Bulletazul.gif Obtener la colección entera de valores solicitados de préstamos cuyo valor está por encima de 50 millones,

<idRequest.Request_LoanReq[cValueRequested > 50000000].cValueRequested>


Image:Bulletazul.gif Obtener la colección entera de ids de los tipos de préstamo cuyo valor solicitado está sobre 50 millones y menor a 12 cuotas:

<idRequest.Request_LoanReq[(cValueRequested > 50000000 And iTerm < 12].idLoanType.id>


Image:Bulletazul.gif Obtener los valores de los préstamos que requieren desembolso:

<idRequest.Request_LoanReq[bRequireDisbursement].cValueRequested>


Image:Bulletazul.gif Obtener los valores de los préstamos que NO requieren desembolso:

<idRequest.Request_LoanReq[!bRequireDisbursement].cValueRequested>


Image:Bulletazul.gif Obtener la colección entera de Categorías de Préstamos de los préstamos solicitados cuyo valor está por encima de 50 millones:

<idRequest.Request_LoanReq[cValueRequested> 50000000].idLoanType.idLoanCategory.sLoanCategory>

Cómo Filtrar Información Usando Variables

Un filtro puede usar también variables para comparar.

Me.getXPath("MainProcessEntity...NameOfTheNEntity[AttributeName= "+ variable +"]")

Los siguientes operadores pueden ser usados:


Operador

Nombre

Ejemplo

=

Igual a Comparativo

Si x es una variable que tiene un valor previamente asignado.

Me.getXPath(“Request.LoanReqi[LoanType.Type = ” + x + “] .cValueRequested”);


!=

No

Si x es una variable que tiene un valor previamente asignado.

Me.getXPath(“Request.LoanReq[Term != ” + x + “] ”);

Mayor que

Si x es una variable que tiene un valor previamente asignado.

Me.getXPath(“Request.LoanReq[Term ≥ ” + x + “] ”);

Menor que

Si x es una variable que tiene un valor previamente asignado.

Me.getXPath(“Request.LoanReq[Term ≤ ” + x + “] ”);

>=

Mayor o igual que

Si x es una variable que tiene un valor previamente asignado.

Me.getXPath("Request.LoanReq[ValueRequested >= ” + x + “] ”);

<=

Menor o igual que

Si x es una variable que tiene un valor previamente asignado.

Me.getXPath(“Request.LoanReq[ValueRequested <= ” + x + “] ”);

And

Y

Si x y z son variables que tienen valores previamente asignados.

Me.getXPath(“Request.LoanReq[ValueRequested ≤= ” + x + “ AND Term < “ + z + “] ”);

Or

O

Si x y z son variables que tienen valores previamente asignados.

Me.getXPath(“Request.LoanReq[ValueRequested ≤= ” + x + “ OR Term < “ + z + “] ”);


Ejemplo: Si una Solicitud de Préstamo en el modelo de datos puede tener uno o más préstamos solicitados, obtenga la siguiente información de acuerdo con el modelo de datos presentado.


Image:Business_Rules3_Image007.jpg


Image:Bulletazul.gif Usando el XPath, se puede obtener la colección entera de préstamos solicitados cuyo valor solicitado es mayor que el valor preaprobado del cliente, como sigue:

var Value= <idRequest.cPre-approvedValue>;

Me.getXPath(“idRequest. Request_LoanReq[cValueRequested > “ + Value+ “]”)


Image:Bulletazul.gif Obtener la colección entera de Valores solicitados de los préstamos cuyo valor es mayor que el valor preaprobado del cliente:

var Value= <idRequest.cPre-approvedValue>;

Me.getXPath (“idRequest. Request_LoanReq[cValueRequested > “ + Value+ “].cValueRequested”)


Image:Bulletazul.gif Obtener la colección entera de las Categorías de Préstamo de los préstamos solicitados cuyo valor es mayor que el valor preaprobado:

var Value= <idRequest.cPre-approvedValue>;


Me.getXPath(“idRequest.Request_LoanReq[cValueRequested > “ + Value+ “].idLoanType.idLoanCategory.sLoanCategory”)


Cómo filtrar una Tabla (o Grilla)

Los registros que serán expuestos en la grilla pueden filtrarse para mostrar sólo valores específicos dependiendo de una condición dada.

En el proceso de Solicitud de Crédito, un filtro en una tabla es requerido para mostrar todos los productos diferentes de 'Assist Card', que han sido Aprobados por la Oficina de Riesgo y tienen cierto estado en el proceso.



El proceso tiene una relación 1:N entre la Solicitud y la entidad Productos.

  • La aprobación de la oficina de Riesgo es puesta en un atributo tipo booleano llamado Approve.
  • El estado del proceso es puesto en la entidad Product, en el atributo llamado ProductState
  • El tipo de Producto (Assist Card, Credit Card, Credit) es grabado en un atributo llamado ProductType.



El filtro es creado usando el Diseñador de Formas, donde se construye la tabla.

1. Seleccione la grilla donde el filtro será creado. Luego vaya a la opción Entidad Relacionada (Related Entity) en Propiedades (Properties box) y seleccione Filtro (Filter).



2. Una nueva ventana se abre. Cree la condición para filtrar:

Cuando la condición es para seleccionar un registro de una entidad paramétrica, Bizagi mostrará todas las entradas para seleccionar una.


Si el atributo para evaluar es un booleano, Bizagi mostrará las opciones Falso o Verdadero.



Los valores mostrados para los filtros paramétricos son los ids de los registros grabados en Bizagi.

El usuario puede escoger entre dos opciones:

  • Filtrar para mostrar todos los registros que coinciden con TODAS las condiciones.
  • Filtrar para mostrar todos los registros que coinciden con CUALQUIERA de las condiciones.


Haga clic en OK cuando el filtro sea finalizado y grabe la Forma



La grilla será filtrada y mostrará solo los registros que aplican al filtro.




Como filtrar un Combo

Es posible filtrar la información que es mostrada en un Combo, configurando la propiedad de filtro en la forma donde esta creado el combo.

Por ejemplo, en un proceso de Pago de Facturas puede ser necesario filtrar el método de pago dependiendo de que métodos de pago acepte el proveedor del producto o servicio. Las opciones de pago deben estar en una entidad parametrica.



Las opciones pueden ser Transferencia Bancaria, Tarjeta de Crédito o Cheque.


En el proceso de Pago de Facturas se determina si el proveedor acepta o no tarjetas de crédito o si desde el principio del proceso se determino que no se utilizaría Tarjeta De Crédito para el pago.



De esta forma, el proceso entraría a la espera de la factura en el evento Recibir Factura. En esta pantalla, se debe crear el filtro para el combo, ya que nunca una factura deberá ser pagada con tarjeta de crédito. Para editar el filtro se utiliza el Asistente de Formas, ya que finalmente se va a editar la forma en donde esta el combo.


Para crear el filtro se deben seguir estos pasos :


1. Abrir la forma Adicionar de la tabla de facturas.

Es posible recibir varias facturas, por lo que existe una tabla donde se pueden agregar las facturas que van llegando. Dentro de la forma Adicionar Factura, esta el combo que determina la forma de pago y es el que debe contener el filtro





2. Seleccionar el combo de Formas de Pago



3 .Ir a las propiedades del Combo en la parte inferior izquierda



4. Seleccionar la opción Filtro y dar clic en el botón.




5. El usuario puede escoger entre dos opciones


  Filtrar para mostrar registros que coincidan con TODAS las condiciones siguientes
  Filtrar para mostrar registros que coincidan con ALGUNA de las condiciones siguientes



6. Dar clic en el boton Adicionar Condicion De Filtro .


7. El combo debe ser filtrado por los valores que residen dentro de la entidad parametrica. Los atributos en este caso son Código (Code) y Opción de pago (Payment Option)





8. En la opcion Operador seleccionar “Diferente de”





9. En la opcion “Insertar un argumento” hay varias opciones :


  

  • Fijar el valor a nulo : para filtrar valores nulos de la entidad.
  • Fijar el valor de la constante : para filtrar valores que coincidan siempre con un valor
  • Cambiar el atributo: para filtrar por un valor de otro atributo de la misma entidad.
  • Evaluar un mapeo de datos : para obtener un valor de otra entidad sobre el mismo contexto.

   Seleccionar la opción Fijar Valor Constante y escribir “CC” .




CC es el valor del atributo Código (Code) para la opción de Tarjeta De Crédito. Por eso el combo solamente va a mostrar valores diferentes de Tarjeta De Crédito.



En la aplicación web, la pantalla se mostraría así :



<comments />