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.
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:
Ahora el usuario puede dar el formato que quiera en la plantilla para que se aplique a la hora de obtener el documento resultante.
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. |