Partilhar via


Função de ER GETENUMVALUEBYNAME

A função GETENUMVALUEBYNAME pesquisa um valor Enum específico na origem de dados da enumeração especificada utilizando o nome da enumeração especificado como um valor Cadeia. Se o valor Enum for localizado, a função devolve-o. Caso contrário, a função devolve o valor de enumeração nulo.

Sintaxe

GETENUMVALUEBYNAME (enumeration data source path, enumeration value text)

Argumentos

enumeration data source path: Enumeração

O caminho válido de uma origem de dados de um dos seguintes tipos de enumeração:

  • Enumeração do modelo de Relatórios eletrónicos (ER)
  • Enumeração do formato de ER
  • Enumeração do Microsoft Dynamics 365 Finance

enumeration value text: Cadeia

Um valor de cadeia que representa o nome de um único valor de enumeração.

Valores de retorno

Enum pode ser nulo

O valor de enumeração resultante.

Notas de utilização

Nenhuma exceção é iniciada se um valor de Enum não for localizado utilizando o nome do valor de enumeração especificado como um valor Cadeia.

Exemplo 1

Na ilustração seguinte, uma enumeração ReportDirection é introduzida num modelo de dados. Tenha em atenção que as etiquetas estão definidas para os valores de enumeração.

Valores disponíveis para uma enumeração do modelo de dados.

A ilustração seguinte mostra estes detalhes:

  • A origem de dados $Direction é configurada num relatório de ER. Esta origem de dados é configurada com base na enumeração do modelo ReportDirection.
  • A expressão $IsArrivals foi estruturada para utilizar a origem de dados $Direction baseada na enumeração do modelo como parâmetro desta função.
  • O valor desta expressão de comparação é VERDADEIRO.

Exemplo de enumeração do modelo de dados.

Exemplo 2

As funções GETENUMVALUEBYNAME e LISTOFFIELDS permitem obter valores e etiquetas de enumerações suportadas como valores de texto. (As enumerações suportadas são enumerações de aplicações, enumerações de modelos de dados e enumerações de formato.)

Na ilustração seguinte, uma origem de dados TransType é introduzida num mapeamento de modelos. Esta origem de dados refere-se à enumeração da aplicação LedgerTransType.

Origem de dados de um mapeamento de modelos que se refere a uma enumeração da aplicação.

A ilustração seguinte mostra uma origem de dados TransTypeList configurada num mapeamento de modelos. Esta origem de dados é configurada com base na enumeração da aplicação TransType. A função LISTOFFIELDS é utilizada para devolver todos os valores de enumeração como uma lista de registos que contêm campos. Desta forma, os detalhes de cada valor de enumeração são expostos.

Nota

O campo EnumValue é configurado para a origem de dados TransTypeList utilizando a expressão GETENUMVALUEBYNAME(TransType, TransTypeList.Name). Este campo devolve um valor de enumeração para cada registo desta lista.

Origem de dados de um mapeamento de modelos que devolve todos os valores de enumeração de uma enumeração selecionada como uma lista de registos.

A ilustração seguinte mostra uma origem de dados VendTrans configurada num mapeamento de modelos. Esta origem de dados devolve os registos de transações do fornecedor da tabela de aplicações VendTrans. O tipo de livro-razão de cada transação é definido pelo valor do campo TransType.

Nota

O campo TransTypeTitle é configurado para a origem de dados VendTrans utilizando a expressão FIRSTORNULL(WHERE(TransTypeList, TransTypeList.EnumValue = @.TransType)).Label. Este campo devolve a etiqueta de um valor de enumeração da transação atual como texto, se este valor de enumeração estiver disponível. Caso contrário, devolve um valor de cadeia em branco.

O campo TransTypeTitle está vinculado ao campo LedgerType de um modelo de dados que permite que esta informação seja utilizada em todos os formatos de ER que utiliza o modelo de dados como origem de dados.

Origem de dados de um mapeamento de modelos que devolve transações de fornecedores.

A ilustração seguinte mostra como pode utilizar o depurador de origem de dados para testar o mapeamento de modelos configurado.

O depurador de origem de dados será utilizado para testar o mapeamento de modelos configurado.

O campo LedgerType de um modelo de dados expõe etiquetas de tipos de transações conforme esperado.

Se pretender utilizar esta abordagem para uma grande quantidade de dados transacionais, tem de considerar o desempenho da execução. Para obter mais informações, consulte Rastrear a execução de formatos de ER para resolver problemas de desempenho.

Recursos adicionais

Funções de texto

Rastrear a execução de formatos ER para resolver problemas de desempenho

Função de ER LISTOFFIELDS

Função de ER FIRSTORNULL

Função de ER WHERE