AX 2009 で、特定のドキュメントが投稿されたときに顧客に自動的に送信される電子メール テンプレートの設定に取り組んでいます。投稿された特定のドキュメントを特定の電子メール テンプレートに関連付けることができるフレームワークを用意しています。
現在、電子メールの情報を動的に入力するために、キーと値のペアを保持するマッピング オブジェクトを使用しています。このキーは、テンプレート自体の特定の変数に関連付けられています ( Dynamics Ax 2009の質問のサンプルを参照してください。メール テンプレート)。ただし、利用可能にする必要がある情報が大幅に変更されていることを非常に簡単に確認できるため、クラス内の実際のコードを変更することなく、このマッピングを変更できるようにしたいと考えています。
私の考えは、2 つの文字列フィールドを含む単純なテーブルを持つことです。1 つはマッピングのキーで、もう 1 つは情報が見つかった場所の文字列表現です"salesTable.SalesId"。
値の文字列式を評価して、自動的に「SO-XXXXXXXX」を取得することはできますか? この場合、評価の時点で salesTable バッファーが既に存在すると想定できます。eval()これは Javascriptコマンドに似ています。また、(理想的には) などのより複雑な式も評価する必要"CustTable::find(salesTable.InvoiceAccount).CustGroup"がありますが、現時点では、それを求めるには多すぎる可能性があります。
私が見ることができる他の唯一の代替手段は、可能なすべてのマッピングを含み、フレームワーク全体でそれを使用する巨大なマッピングオブジェクトを作成することですが、それでもテンプレートに必要なすべての情報が含まれていないというリスクがあるため、不足している情報を取得するための追加のコード変更。