GETENUMVALUEBYNAME ER 機能
GETENUMVALUEBYNAME
関数は、文字列値して指定された列挙名を使用して、指定された列挙データソースの特定の列挙値を検索します。 列挙値が見つかった場合、関数によって返されます。 それ以外の場合、関数は null 列挙値を返します。
構文
GETENUMVALUEBYNAME (enumeration data source path, enumeration value text)
引数
enumeration data source path
: 列挙型
次のいずれかの列挙型のデータ ソースの有効なパス。
- 電子申告 (ER) モデル 列挙型
- ER 形式列挙型
- Microsoft Dynamics 365 Finance の列挙型
enumeration value text
: 文字列
単一の列挙型値の名前を表す文字列値。
戻り値
Nullable 列挙
結果列挙型の値。
使用上の注意
文字列値として指定された列挙型値の名前を使用して列挙値が見つからない場合は、例外がスローされません。
例 1
次の図では、ReportDirectionの列挙はデータ モデルで導入されます。 列挙型値のラベルが定義されていることに注意してください。
次の図は、これらの詳細について説明しています。
- $Direction データソースが、ER レポートで構成されます。 このデータ ソースは、ReportDirection モデルの列挙型に基づいて構成されます。
$IsArrivals
式は、この関数のパラメーターとして $Direction データ ソースに基づきモデル列挙型を使用するため設計されています。- この比較式の値は、TRUE です。
例 2
GETENUMVALUEBYNAME
および LISTOFFIELDS
関数を使用すると、サポートされている列挙の値とラベルをテキスト値としてフェッチできます。 (サポートされている列挙は、アプリケーション列挙、データ モデル列挙、形式列挙です。)
次の図では、TransType データ ソースはモデル マッピングで導入されます。 このデータ ソースは、LedgerTransType アプリケーション列挙を参照しています。
次の図は、モデル マッピングで構成されている TransTypeList データ ソースを示しています。 このデータ ソースは、TransType アプリケーション列挙に基づいて構成されます。 この LISTOFFIELDS
関数は、すべての列挙値を、フィールドを含むレコードの一覧として返すために使用します。 このようにして、すべての列挙値の詳細が公開されます。
メモ
EnumValue フィールドは、GETENUMVALUEBYNAME(TransType, TransTypeList.Name)
式を使用して TransTypeList データソースに対して構成されます。 このフィールドは、このリストのすべてのレコードの列挙値を返します。
次の図は、モデル マッピングで構成されている VendTrans データ ソースを示しています。 このデータ ソースは、VendTrans アプリケーション テーブルから仕入先トランザクション レコードを返します。 すべてのトランザクションの元帳タイプは、TransType フィールドの値によって定義されます。
メモ
TransTypeTitle フィールドは、FIRSTORNULL(WHERE(TransTypeList, TransTypeList.EnumValue = @.TransType)).Label
式を使用して VendTrans データソースに対して構成されます。 このフィールドは、この列挙値が使用可能な場合に、現在のトランザクションの列挙値のラベルをテキストとして返します。 それ以外の場合は、空白文字列の値を返します。
TransTypeTitle フィールドは、データ モデルの LedgerType フィールドにバインドされ、データ ソースとしてデータモデルを使用するすべての ER 形式でこの情報を使用できます。
次の図は、データ ソース デバッガー を使用して、構成済みモデル マッピングをテストする方法を示しています。
データ モデルの LedgerType フィールドは、期待どおりにトランザクション タイプのラベルを公開します。
大量のトランザクション データにこのアプローチを使用する場合は、実行パフォーマンスを考慮する必要があります。 詳細については、電子申告形式の実行をトレースしてパフォーマンスの問題をトラブルシューティング を参照してください。