Función LISTOFFIELDS de ER
La función LISTOFFIELDS
devuelve un valor Lista de registros que se crea en función de la estructura del argumento especificado del tipo Enumeración o Contenedor (registro).
Sintaxis 1
LISTOFFIELDS (path)
Sintaxis 2
LISTOFFIELDS (path, language)
Argumentos
path
: referencia de origen de datos
La ruta de referencia válida de un origen de datos de uno de los siguientes tipos de datos:
- Enumeración de modelo
- Enumeración de formato
- Enumeración de aplicaciones
- Contenedor (registro)
language
: Cadena
Texto que representa un código de idioma.
Valores de retorno
Lista de registros
La lista de registros resultante.
Notas de uso
La lista que se crea consta de registros con los siguientes campos:
- Nombre (tipo de datos Cadena)
- Etiqueta (tipo de datos Cadena)
- Descripción (tipo de datos Cadena)
- IsTranslated (tipo de datos Booleano)
Si el argumento path
se refiere a una fuente de datos del tipo Contenedor (registro), para cada campo del registro contenedor referenciado, se agrega un nuevo registro a la lista que se crea. Para cada registro que se crea, el campo Nombre devuelve el nombre del campo del registro de contenedor referenciado para el que se creó el registro actual.
Si el argumento path
se refiere a un origen de datos de los tipos Enumeración, para cada valor de enumeración de la enumeración referenciada, se agrega un nuevo registro a la lista que se crea. Para cada registro que se crea, el campo Nombre devuelve el valor de la enumeración referenciada para el registro actual para el que se ha creado, el campo Descripción devuelve la descripción de esa enumeración, y el campo Etiqueta devuelve la etiqueta de esa enumeración.
En tiempo de ejecución, cuando se usa la sintaxis 1, los campos Etiqueta y Descripción deben devolver valores de devolución que se basan en la configuración de idioma del formato de informe electrónico (ER) que se está ejecutando:
- Si las etiquetas y descripciones para el idioma solicitado están disponibles, los campos Etiqueta y Descripción devuelven valores que se basan en ese idioma y el campo IsTranslated devuelve True.
- Si las etiquetas y las descripciones para el idioma solicitado no están disponibles, los campos Etiqueta y Descripción devuelven valores que se basan en el idioma predeterminado EN-US y el campo IsTranslated devuelve False.
En tiempo de ejecución, cuando se usa la sintaxis 2, los campos Etiqueta y Descripción deben devolver valores de devolución que se basan en el idioma que se define como el segundo argumento de la función llamada:
- Si las etiquetas y descripciones para el idioma solicitado están disponibles, los campos Etiqueta y Descripción devuelven valores que se basan en ese idioma y el campo IsTranslated devuelve True.
- Si las etiquetas y las descripciones para el idioma solicitado no están disponibles, los campos Etiqueta y Descripción devuelven valores que se basan en el idioma EN-US y el campo IsTranslated devuelve False.
Ejemplo 1
En la siguiente ilustración, se introduce una enumeración en un modelo de datos de ER.
La siguiente ilustración muestra estos detalles:
- La enumeración del modelo se inserta en un informe como origen de datos.
- Una expresión del ER utiliza la enumeración de modelo como un parámetro de la función
LISTOFFIELDS
. - Un origen de datos del tipo Lista de registro se inserta en un informe mediante la expresión de ER que se crea.
El siguiente ejemplo muestra los elementos del formato de ER que están enlazados al origen de datos del tipo Lista de registro creado mediante la función de LISTOFFIELDS
.
La siguiente ilustración muestra el resultado cuando se ejecuta el formato diseñado.
Nota
Basado en la configuración de idioma de los elementos del formato del ARCHIVO principal y de la CARPETA, el texto traducido para las etiquetas y las descripciones se introduce en la salida del formato de ER.
Ejemplo 2
Por ejemplo, utiliza el tipo de origen de datos Campo calculado para configurar los orígenes de datos enumTypede y enumTypedeCH para la enumeración del modelo de datos enumType.
- enumType_de =
LISTOFFIELDS (enumType, "de")
- enumType_deCH =
LISTOFFIELDS (enumType, "de-CH")
En este caso, puede usar la siguiente expresión para obtener la etiqueta del valor de enumeración en alemán suizo, si esta traducción está disponible. Si la traducción alemana suiza no está disponible, la etiqueta se encuentra en alemán.
IF (NOT (enumType_deCH.IsTranslated), enumType_de.Label, enumType_deCH.Label)