<< Clic para mostrar Tabla de Contenidos >> 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 +"]")
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])")
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