Iteradores

Los iteradores son objetos que permiten al usuario acceder de forma secuencial a los elementos de una colección.

En Munigex, los iteradores se utilizan junto con las regiones para crear contextos donde el usuario puede trabajar con libertad sobre listas de datos creados por ellos mismos a través de formulación y su formato.

La función de iteración sólo se puede aplicar sobre elementos que deriven de interfaces u otras clases que permitan moverse por cada uno de sus elementos (colecciones, matrices, listas, enumerables, etc). En la formulación de Munigex se puede distinguir fácilmente por el uso del plural en la denominación de las propiedades que retornan colecciones de elementos.

Propiedad Titulares de Expediente que retorna una colección de titulares

Por favor, consulte la librería de formulación para encontrar las propiedades y métodos que puede utilizar con los iteradores.

Estos objetos especiales se caracterizan porque generan unas marcas en los documentos denominados TABLESTART y TABLEEND para delimitar la región y el contexto donde se utilizarán esos listados.

Por ejemplo, este iterador muestra el nombre de fichero, la descripción y el código de verificación de cada documento del expediente.

Región Nombre Fórmula Descripción
xDocumentos Iterar(Expediente.Documentos) Crea una región con el nombre xDocumentos para trabajar con los datos de cada documento del expediente.
xDocumentos Archivo xDocumentos.Archivo Obtiene el nombre del fichero de cada documento de la colección.
xDocumentos Descripcion xDocumentos.Descripcion Obtiene la descripción de cada documento de la colección.
xDocumentos CUDO xDocumentos.Cudo() Obtiene el código de verificación de cada documento de la colección.

El resultado de esas fórmulas aplicadas en un documento es el siguiente:

fórmulas del iterador en plantilla y su resultado al combinar

Ahora el usuario puede dar el formato que quiera en la plantilla para que se aplique a la hora de obtener el documento resultante.

región y campos dentro de tabla para sacar listados personalizados

Iteradores de múltiples niveles

Si uno de los elementos del iterador es a su vez una colección puede crear otra nueva región dentro de la inicial para trabajar con la segunda colección de datos. Se pueden crear diferentes niveles de regiones sin límite alguno.

Región Nombre Fórmula Descripción
xTitulares Iterar(Expediente.Titulares.Filtrar(funcion(x){x.TipoTitular == "R"})) Crea una región con el nombre xTitulares para trabajar con los datos de cada titular del expediente que sean representantes.
xTitulares NombreTitular xTitulares.NombreCompleto Obtiene el nombre completo de cada titular de la colección.
xTitulares xRepresentados Iterar(xTitulares.Representados) Crea una nueva región dentro de xTitulares para obtener los representados de cada uno de los titulares.
xRepresentados NombreRepresentados xRepresentados.NombreCompleto Obtiene el nombre completo de cada uno de los representados.

región principal con segunda región interna