Filtros avanzados

<< Clic para mostrar Tabla de Contenidos >>

Navegación:  Automatización de Procesos con poco código > Studio Cloud -ambiente de autoría > Bizagi Studio > Asistente de Procesos > Reglas de Negocio > Funciones de Bizagi > Acceso al modelo de datos a través de XPath >

Filtros avanzados

Cuando las colecciones tienen que ser filtradas utilizando variables es necesario utilizar las funciones setXPath y getXPath y no los corchetes de diamante “<>”.

La siguiente es la sintaxis correcta para las expresiones XPath cuando se utilizan variables.

 

Para obtener valores use esta sintaxis: Me.getXPath("XPath[filter " + variable +"]")

 

Para asignar valores, utilice la siguiente sintaxis: Me.setXPath("XPath[filter  " + variable +"]", value)

 

Me.setXPath

Suponga que necesita calcular el porcentaje mínimo de descuento en el proceso de selección de cotizaciones.

Solamente cotizaciones que ofrecen un descuento superior al 10% del costo total de la compra son seleccionadas.

Se debe declarar una variable para guardar el cálculo y luego filtrar la colección para seleccionar solo las cotizaciones que cumplen con la condición.

La expresión debe lucir de la siguiente forma:

 

var MinimumPercentage = <PurchaseRequest.TotalCost>* 0.1

 

Me.setXPath("PurchaseRequest.Quotations[QuotationDiscount > "+ MinimumPercentage +" ].Selected", true)

 

Me.getXPath

Seleccionar todos los proveedores que no tienen descuento o que es menor al 10%del costo total de la compra.

Primero se debe declarar una variable para guardar el cálculo y luego filtrar la colección para seleccionar solo las cotizaciones que cumplen con la condición.

La expresión debe lucir de la siguiente forma

 

var MinimumPercentage = <PurchaseRequest.TotalCost>* 0.1

 

var BadSuppliers = Me.getXPath("PurchaseRequest.Quotation[Discount != true OR QuotationDiscount < "+ MinimumPercentage +"]")

 

Understandingxpath2

 

Usando funciones XPath en declaraciones de Me.getXPath

Dado que la función Me.getXPath recibe un XPath como parámetro, y que las funciones XPath son tratadas como XPaths, puede usar una función XPath dentro de una declaración de Me.GetXPath. Para hacer esto, utilice esta sintaxis:

 

Me.getXPath("FunciónXPath(colección[filtro])")

 

Understandingxpath5

 

Por ejemplo, si quisiera obtener el promedio de las calificaciones de las competencias seleccionadas, podría usar la siguiente expresión:

 

Me.getXPath("avg(DevelopmentAssessment.CompetenciesCollection[isSelected = true])")

 

Por otro lado, si su expresión requiere de un filtro definido en una variable, debe utilizar la siguiente sintaxis:

 

var variable = XVariable

Me.getXPath("FunciónXPath(colección[filtro'"+ XVariable +"'])")

 

Por ejemplo, si desea validar si hay al menos una competencia con una calificación mayor a 4.5, utilice la siguiente expresión:

For example, if you want to validate that there is at least one competency with a score greater that 4.5, use the following syntax

 

var calificaciónMínima = 4.5

Me.getXPath("exists(DevelopmentAssessment.CompetenciesCollection[score>="+ calificaciónMínima +"])")


Last Updated 1/26/2022 3:55:18 PM