Função de ER LISTOFFIELDS
A função LISTOFFIELDS
devolve um valor Lista de registos que é criado com base na estrutura do argumento especificado do tipo Enumeração ou Contentor (registo).
Sintaxe 1
LISTOFFIELDS (path)
Sintaxe 2
LISTOFFIELDS (path, language)
Argumentos
path
: Referência da origem de dados
O caminho de referência válido de uma origem de dados de um dos seguintes tipos de dados:
- Enumeração do modelo
- Enumeração do formato
- Enumeração da aplicação
- Contentor (registo)
language
: Cadeia
Texto que representa um código de idioma.
Valores de retorno
Lista de registos
A lista de registos resultante.
Notas de utilização
A lista criada consiste em registos com os seguintes campos:
- Nome (tipo de dados Cadeia)
- Etiqueta (tipo de dados Cadeia)
- Descrição (tipo de dados Cadeia)
- IsTranslated (tipo de dados Booleano)
Se o argumento path
se referir a uma origem de dados do tipo Contentor (registo), para cada campo do registo de contentor referenciado, é adicionado um novo registo à lista criada. Para cada registo criado, o campo Nome devolve o nome do campo do registo de contentor referenciado para o qual o registo atual foi criado.
Se o argumento path
se referir a uma origem de dados de um dos tipos Enumeração, para cada valor de enumeração da enumeração referenciada, é adicionado um novo registo à lista criada. Para cada registo criado, o campo Nome devolve o valor da enumeração referenciada para a qual o registo atual foi criado, o campo Descrição devolve a descrição dessa enumeração e o campo Etiqueta devolve a etiqueta dessa enumeração.
Durante a execução, quando a sintaxe 1 é utilizada, os campos Etiqueta e Descrição têm de devolver valores baseados nas definições de idioma do formato de Relatórios eletrónicos (ER) que está em execução:
- Se as etiquetas e as descrições do idioma solicitado estiverem disponíveis, os campos Etiqueta e Descrição devolvem valores baseados nesse idioma e o campo IsTranslated devolve Verdadeiro.
- Se as etiquetas e as descrições do idioma solicitado não estiverem disponíveis, os campos Etiqueta e Descrição devolvem valores baseados no idioma predefinido EN-US e o campo IsTranslated devolve Falso.
Durante a execução, quando a sintaxe 2 é utilizada, os campos Etiqueta e Descrição têm de devolver valores baseados no idioma definido como o segundo argumento da função chamada:
- Se as etiquetas e as descrições do idioma solicitado estiverem disponíveis, os campos Etiqueta e Descrição devolvem valores baseados nesse idioma e o campo IsTranslated devolve Verdadeiro.
- Se as etiquetas e as descrições do idioma solicitado não estiverem disponíveis, os campos Etiqueta e Descrição devolvem valores baseados no idioma EN-US e o campo IsTranslated devolve Falso.
Exemplo 1
Na ilustração seguinte, uma enumeração é introduzida num modelo de dados de ER.
A ilustração seguinte mostra estes detalhes:
- A enumeração do modelo é introduzida num relatório como origem de dados.
- Uma expressão de ER utiliza a enumeração do modelo como parâmetro da função
LISTOFFIELDS
. - Uma origem de dados do tipo Lista de registos é introduzida num relatório utilizando a expressão de ER criada.
O exemplo seguinte mostra os elementos de formato de ER vinculados à origem de dados do tipo Lista de registos criado utilizando a função LISTOFFIELDS
.
A ilustração seguinte mostra o resultado quando o formato estruturado é executado.
Nota
Com base nas definições de idioma dos elementos principais de formato FICHEIRO e PASTA, o texto traduzido para as etiquetas e as descrições é introduzido no resultado do formato de ER.
Exemplo 2
Utilize o tipo de origem de dados Campo calculado para configurar as origens de dados enumType_de e enumType_deCH para a enumeração do modelo de dados enumType:
- enumType_de =
LISTOFFIELDS (enumType, "de")
- enumType_deCH =
LISTOFFIELDS (enumType, "de-CH")
Neste caso, pode utilizar a expressão seguinte para obter a etiqueta do valor de enumeração em alemão suíço, se essa tradução estiver disponível. Se a tradução para alemão suíço não estiver disponível, a etiqueta é apresentada em alemão.
IF (NOT (enumType_deCH.IsTranslated), enumType_de.Label, enumType_deCH.Label)