Função de ER GETENUMVALUEBYNAME
A função GETENUMVALUEBYNAME
procura um valor de Enum. específico na fonte de dados de enumeração especificada usando o nome de enumeração especificado como um valor de Cadeia de caracteres. Se o valor Enum. for encontrado, a função o retornará. Caso contrário, a função retorna 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 fonte de dados de um dos seguintes tipos de enumeração:
- Enumeração de modelo de relatório eletrônico (ER)
- Enumeração de formato de ER
- Enumeração do Microsoft Dynamics 365 Finance
enumeration value text
: Cadeia de caracteres
Um valor de cadeia de caracteres que representa o nome de um único valor de enumeração.
Valores de retorno
Enum. anulável
O valor de enumeração resultante.
Notas de uso
Nenhuma exceção é gerada se um valor de Enum. não for encontrado usando o nome do valor de enumeração especificado como um valor de Cadeia de caracteres.
Exemplo 1
Na ilustração a seguir, a enumeração de ReportDirection é apresentada em um modelo de dados. Observe que os rótulos são definidos para os valores de enumeração.
A ilustração a seguir mostra estes detalhes:
- A fonte de dados $Direction é configurada em um relatório de ER. Essa fonte de dados é configurada com base na enumeração do modelo ReportDirection.
- A expressão
$IsArrivals
foi criada para usar a fonte de dados $Direction baseada na enumeração do modelo como um parâmetro desta função. - O valor dessa expressão de comparação é TRUE.
Exemplo 2
As funções GETENUMVALUEBYNAME
e LISTOFFIELDS
permitem buscar valores e etiquetas de enumerações com suporte como valores de texto. (As enumerações com suporte são enumerações de aplicativo, enumerações de modelo de dados e enumerações de formato.)
Na ilustração a seguir, a fonte de dados TransType é apresentada em um mapeamento de modelo. Essa fonte de dados refere-se à enumeração de aplicativo LedgerTransType.
A ilustração a seguir mostra a fonte de dados TransTypeList configurada em um mapeamento de modelo. Essa fonte de dados é configurada com base na enumeração do aplicativo TransType. A função LISTOFFIELDS
é usada para retornar todos os valores de enumeração como uma lista de registros que contêm campos. Dessa forma, os detalhes de cada valor de enumeração são expostos.
Observação
O campo EnumValue é configurado para a fonte de dados TransTypeList usando a expressão GETENUMVALUEBYNAME(TransType, TransTypeList.Name)
. Esse campo retorna um valor de enumeração para cada registro nessa lista.
A ilustração a seguir mostra a fonte de dados VendTrans configurada em um mapeamento de modelo. Essa fonte de dados retorna registros de transações do fornecedor da tabela de aplicativos VendTrans. O tipo de razão de cada transação é definido pelo valor do campo TransType.
Observação
O campo TransTypeTitle é configurado para a fonte de dados VendTrans usando a expressão FIRSTORNULL(WHERE(TransTypeList, TransTypeList.EnumValue = @.TransType)).Label
. Esse campo retorna o rótulo de um valor de enumeração da transação atual como texto, se esse valor de enumeração estiver disponível. Caso contrário, ele retorna um valor de cadeia de caracteres em branco.
O campo TransTypeTitle está vinculado ao campo LedgerType de um modelo de dados que permite que essas informações sejam usadas em todos os formatos ER que usam o modelo de dados como fonte de dados.
A ilustração a seguir mostra como você pode usar o depurador da fonte de dados para testar o mapeamento do modelo configurado.
O campo LedgerType de um modelo de dados expõe etiquetas de tipos de transação conforme o esperado.
Se você planeja usar essa abordagem para uma grande quantidade de dados transacionais, deve considerar o desempenho de execução. Para obter mais informações, consulte Rastrear a execução de formatos de ER para solucionar problemas de desempenho.
Recursos adicionais
Rastrear a execução de formatos de ER para solucionar problemas de desempenho