1

注文の更新時に SOAP メッセージで販売注文のデータを送信する MS Dynamics CRM 4.0 用の単純なプラグインを作成しようとしています。奇妙なことに、/(プラグインを実行) を保存しようとするたびにこのエラーが発生します。したがって、salesorder の (任意のフィールド) を更新してから保存すると、エラーが発生します。

The given key was not present in the dictionary.

その後すぐに再度保存すると(2回の保存の間に何も変更せずに)、正しく実行され、必要なすべてのデータが得られます。本当に毎回同じです: 最初の保存: エラー、2 回目の保存: 正しく実行されます。

これが何であるかについてのアイデアはありますか?

これは私のコードの最初の部分です。この場合、実際に salesorder のデータセットを取得する場所:

   public class CompleteOrderPlugin : IPlugin


    {      


        public void Execute(IPluginExecutionContext context)
        {




                DynamicEntity entity = null;
                if (context.InputParameters.Properties.Contains(ParameterName.Target) &&
                        context.InputParameters.Properties[ParameterName.Target] is DynamicEntity)
                {

                    entity = (DynamicEntity)context.InputParameters[ParameterName.Target];
                    if (entity.Name != EntityName.salesorder.ToString()) { return; }

                }
                else
                {

                    return;
                }

残りは、属性の値を使用して独自の変数を埋める場所です。

4

1 に答える 1

1

最初にプラグイン登録ツールで販売注文の投稿画像を作成し、販売注文から直接取得した値ではなく、投稿画像の値を使用することで、これを修正しました。これは、更新時に実際に変更された値のみを取得するためです。

于 2009-12-08T19:43:44.260 に答える