Função de ER LISTOFFIELDS
A função LISTOFFIELDS
retorna um valor de Lista de registros que é criado com base na estrutura do argumento especificado do tipo Enumeração ou Contêiner (registro).
Sintaxe 1
LISTOFFIELDS (path)
Sintaxe 2
LISTOFFIELDS (path, language)
Argumentos
path
: Referência de fonte de dados
O caminho de referência válido de uma fonte de dados de um dos seguintes tipos de dados:
- Enumeração do modelo
- Enumeração de formato
- Enumeração de aplicativo
- Contêiner (registro)
language
: Cadeia de caracteres
Texto que representa um código de idioma.
Valores de retorno
Lista de registros
A lista de registros resultante.
Notas de uso
A lista que é criada consistem em registros que têm os seguintes campos:
- Nome (tipo de dados Cadeia de caracteres)
- Rótulo (tipo de dados Cadeia de caracteres)
- Descrição (tipo de dados Cadeia de caracteres)
- IsTranslated (tipo de dados Booliano)
Se o argumento path
se referir a uma fonte de dados do tipo Contêiner (registro), para cada campo do registro de contêiner referenciado, um novo registro será adicionado à lista criada. Para cada registro criado, o campo Nome retorna o nome do campo do registro de contêiner referenciado para o qual o registro atual foi criado.
Se o argumento path
se referir a uma fonte de dados de um dos tipos de Enumeração, para cada valor de enumeração da enumeração referenciada, um novo registro será adicionado à lista criada. Para cada registro criado, o campo Nome retorna o valor da enumeração referenciada para a qual o registro atual foi criado, o campo Descrição retorna a descrição e o campo Rótulo retorna o rótulo dessa enumeração.
No tempo de execução, quando a sintaxe 1 é usada, os campos Rótulo e Descrição devem retornar valores baseados nas configurações de idioma do formato de relatório eletrônico (ER) em execução:
- Se os rótulos e descrições para o idioma solicitado estiverem disponíveis, os campos Rótulo e Descrição retornarão valores baseados nesse idioma e o campo IsTranslated retornará Verdadeiro.
- Se os rótulos e descrições para o idioma solicitado não estiverem disponíveis, os campos Rótulo e Descrição retornarão valores baseados no idioma padrão EN-US e o campo IsTranslated retornará Falso.
No tempo de execução, quando a sintaxe 2 é usada, os campos Rótulo e Descrição devem retornar valores baseados no idioma definido como o segundo argumento da função chamada:
- Se os rótulos e descrições para o idioma solicitado estiverem disponíveis, os campos Rótulo e Descrição retornarão valores baseados nesse idioma e o campo IsTranslated retornará Verdadeiro.
- Se os rótulos e descrições para o idioma solicitado não estiverem disponíveis, os campos Rótulo e Descrição retornarão valores baseados no idioma EN-US e o campo IsTranslated retornará Falso.
Exemplo 1
Na ilustração a seguir, uma enumeração é apresentada em um modelo de dados de ER.
A ilustração a seguir mostra estes detalhes:
- A enumeração do modelo inserida em um relatório como uma fonte de dados.
- Uma expressão de ER usa a enumeração do modelo como um parâmetro da função
LISTOFFIELDS
. - Uma fonte de dados do tipo Lista de registros é inserida em um relatório usando a expressão de ER que é criada.
O exemplo a seguir mostra os elementos do formato de ER associados à fonte de dados do tipo Lista de registros que foi criada usando a função LISTOFFIELDS
.
A ilustração a seguir mostra o formato o resultado quando o formato criado é executado.
Observação
Com base nas configurações de idioma dos elementos de formato FILE e FOLDER pais, o texto traduzido para rótulos e descrições é inserido na saída do formato de ER.
Exemplo 2
Você usa o tipo de fonte de dados Campo calculado a fim de configurar as fontes 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")
Nesse caso, você pode usar a seguinte expressão para obter o rótulo do valor de enumeração em alemão suíço, se essa tradução estiver disponível. Se a tradução de alemão suíço não estiver disponível, o rótulo ficará em alemão.
IF (NOT (enumType_deCH.IsTranslated), enumType_de.Label, enumType_deCH.Label)