Filtrar, ordenar y otras funciones con colecciones

<< Clic para mostrar Tabla de Contenidos >>

Navegación:  Bizagi Studio > Asistente de Procesos > Reglas de Negocio > Ejemplos de reglas de negocio > Colecciones y entidades paramétricas >

Filtrar, ordenar y otras funciones con colecciones

Introducción

Cuando usa funciones en expresiones que devuelven una colección (BizagiArrayList), puede usar otras funciones en ese objeto que ayudan a filtrar, ordenar u obtener un subconjunto de registros.

 

note_pin

Las funciones descritas en este artículo solo se aplican a un tipo de objeto de lista de matriz de Bizagi. Por favor, comprenda la diferencia entre todos los tipos de matrices en el siguiente artículo, vea Iterar usando expresiones.

 

Objeto que contiene la colección

Usted puede usar algunas de las siguientes funciones para obtener los registros de una colección:

 

GetValuesAsCollection

Me.getXPath("entity-list('','')",parameters)

Me.getXPath("CollectionXpath")

<CollectionXpath>

 

Por ejemplo puede declarar una variable tipo objeto, para que contenga la colección, de la siguiente manera:

 

var CollectionObject = GetValuesAsCollection(<ProcessEntity.Collection>);

 

Ahora puede usar el objeto CollectionObject con las siguientes funciones:

 

filter

sort

distinct

sum

 

Filter

Esta función retorna una colección (BizagiArrayList) considerando una condición de filtro.

Sintaxis: CollectionObject.filter("Condition");

Condición: Cadena de texto con condiciones de filtro.

Retorna: Colección (BizagiArrayList)

Ejemplo:

 

var CollectionObject = GetValuesAsCollection(<ProcessEntity.Collection>);

var FilteredCollection = CollectionObject.filter("Attribute1 = ‘Value’ AND RelatedAttribute.Attribute2 != null");

 

Usted puede usar los mismo operadores considerados en filtering xpath.

 

 

Sort

Esta función retorna una colección  (BizagiArrayList) ordenada por el atributo definido.

Sintaxis: CollectionObject.sort("AtributoParaOrdenar");

Atributo para ordenar: atributo para ordenar la colección

Retorna: Colección (BizagiArrayList)

Ejemplo:

 

var CollectionObject = GetValuesAsCollection(<ProcessEntity.Collection>);

var SortedCollection = CollectionObject.sort("Attribute1");

 

Esta función solamente ordena en orden ascendente.

 

 

Distinct

Esta función retorna un ArrayList sin valores repetidos de una columna en la colección, definidos con el atributo asociado de la columna.

Sintaxis: CollectionObject.distinct("Atributo");

Atributo: atributo de la colección que define la columna para obtener los valores que no están repetidos.

Retorna: Arraylist.

Ejemplo:

 

var CollectionObject = GetValuesAsCollection(<ProcessEntity.Collection>);

var DistinctArray = CollectionObject.distinct("Attribute");

 

Como esta función devuelve un Arraylist, y no una colección, la iteración debe manejarse como tal. Vea cómo iterar un arraylist.

 

for (var i = 0; i < DistinctArray.Count; i++){

 //Get the object that contains the row

 ArrayObjectRow = DistinctArray[i];

}

 

 

Sum

Esta función devuelve la suma de todos los valores numéricos en una columna de la colección.

 

Sintaxis: CollectionObject.sum("AtributoNumérico");

Atributo numérico: atributo de una colección para sumar sus valores.

Retorna: Numeric object type.

Ejemplo:

 

var CollectionObject = GetValuesAsCollection(<ProcessEntity.Collection>);

var sum = CollectionObject.sum("Attribute");