Función GETENUMVALUEBYNAME de ER
La función GETENUMVALUEBYNAME
busca un valor específico de tipo Enum en el origen de datos de enumeración especificado utilizando el nombre de enumeración especificado como un valor de tipo Cadena. Si el valor Enum se encuentra, la función lo devuelve. De lo contrario, la función devuelve el valor de enumeración nulo.
Sintaxis
GETENUMVALUEBYNAME (enumeration data source path, enumeration value text)
Argumentos
enumeration data source path
: Enumeración
La ruta válida de un origen de datos de uno de los siguientes tipos de enumeración:
- Enumeración de modelo de informes electrónicos (ER)
- Enumeración de formato de ER
- Enumeración de Microsoft Dynamics 365 Finance
enumeration value text
: Cadena
Un valor de cadena que representa el nombre de un valor de enumeración único.
Valores de retorno
Enum anulable
El valor de enumeración resultante.
Notas de uso
No se produce ninguna excepción si no se encuentra un valor de tipo Enum con el nombre del valor de enumeración especificado como un valor de tipo Cadena.
Ejemplo 1
En la siguiente ilustración, la enumeración ReportDirection se introduce en un modelo de datos. Tenga en cuenta que se definen etiquetas para los valores de enumeración.
La siguiente ilustración muestra estos detalles:
- El origen de datos $Direction se configura en un informe de ER. Este origen de datos se configura en función de la enumeración del modelo ReportDirection.
- La expresión
$IsArrivals
está diseñada para usar el origen de datos $Direction basado en la enumeración del modelo como un parámetro de esta función. - El valor de esta expresión de comparación es TRUE.
Ejemplo 2
Las funciones GETENUMVALUEBYNAME
y LISTOFFIELDS
permiten obtener valores y etiquetas de enumeraciones compatibles como valores de texto. (Las enumeraciones admitidas son enumeraciones de aplicaciones, enumeraciones de modelos de datos y enumeraciones de formato).
En la siguiente ilustración, el origen de datos TransType se introduce en una asignación de modelos. Este origen de datos hace referencia a la enumeración de aplicación LedgerTransType.
En la siguiente ilustración se muestra el origen de datos TransTypeList que se configura en una asignación de modelos. Este origen de datos se configura en función de la enumeración de aplicación TransType. La función LISTOFFIELDS
se utiliza para devolver todos los valores de enumeración como una lista de registros que contienen campos. De esta manera, se exponen los detalles de cada valor de enumeración.
Nota
El campo EnumValue está configurado para el origen de datos TransTypeList mediante la expresión GETENUMVALUEBYNAME(TransType, TransTypeList.Name)
. Este campo devuelve un valor de enumeración para cada registro de esta lista.
En la siguiente ilustración se muestra el origen de datos VendTrans que se configura en una asignación de modelos. Esta fuente de datos devuelve registros de transacciones de proveedores de la tabla de aplicación VendTrans. El tipo de libro mayor de cada transacción se define por el valor del campo TransType.
Nota
El campo TransTypeTitle está configurado para el origen de datos VendTrans mediante la expresión FIRSTORNULL(WHERE(TransTypeList, TransTypeList.EnumValue = @.TransType)).Label
. Este campo devuelve la etiqueta de un valor de enumeración de la transacción actual como texto, si este valor de enumeración está disponible. En caso contrario, devuelve un valor de cadena en blanco.
El campo TransTypeTitle está vinculado al campo LedgerType de un modelo de datos que permite que esta información se utilice en todos los formatos ER que utilizan el modelo de datos como fuente de datos.
La siguiente ilustración muestra cómo puede utilizar el depurador de fuente de datos para probar el mapeo del modelo configurado.
El campo LedgerType de un modelo de datos expone las etiquetas de tipos de transacciones como se esperaba.
Si planea utilizar este enfoque para una gran cantidad de datos transaccionales, debe considerar el rendimiento de la ejecución. Para obtener más información, vea Realizar un seguimiento de la ejecución de los formatos de ER para solucionar problemas de rendimiento.