0

CreateイベントでSalesOrderエンティティに接続されたMicrosoftDynamicsCRM2011プラグインに取り組んでいます。一部のプロパティにアクセスするには、Orderの親アカウントを取得する必要があります。メソッド内で次のコードを試していますExecuteが、実行時にキー「accountid」が存在しません。

Entity entity = (Entity)context.InputParameters["Target"]; // A salesorder entity
EntityReference accountRef = (EntityReference)entity.Attributes["accountid"];

プラグインは、同期モードで実行するために操作後の段階で登録されます。次の画像は、すべての構成を示しています。

プラグイン登録構成

SalesOrderエンティティの親アカウントを取得する別の方法はありますか?

4

2 に答える 2

2

プラグインを非同期モードで実行するように構成しても、salesorder エンティティでaccountid属性を使用できないため、SDK ドキュメントではエラーのようです。accountid属性の変更をcustomeridで終了しました。これは実際にはアカウントである可能性があります (デフォルトの動作)。これで問題が解決し、注文が属するアカウントへの参照を取得できました。

Entity entity = (Entity)context.InputParameters["Target"]; // A salesorder entity
EntityReference accountRef = (EntityReference)entity.Attributes["customerid"];
if (accountRef.LogicalName != "account") return;
于 2012-10-21T16:28:58.980 に答える
0

ここには 2 つの問題が考えられます。まず、プラグインは同期実行モードで登録されており、実行前のイベント パイプライン ステージがありますか? この設定を確認してください。問題がある可能性があります。

次に、プラグインを正しく登録した場合、SalesOrder フォームに ParentAccount を設定していない可能性がありますが、これはおそらく問題ではありません :)

于 2012-10-21T08:53:23.700 に答える