0
を保存するときに保存しないPostRetrieveの間に更新フィールド私はPostAccountRetrieve(私は行を削除した)中にいくつかのコードを持っています。フォーム上のCRM 2011:フォームが
Entity entity = (Entity)localContext.PluginExecutionContext.OutputParameters["BusinessEntity"];
Account account = entity.ToEntity();
...
account.test_TerminationDate = DateTime.SpecifyKind((DateTime)subscriber.TerminationDate, DateTimeKind.Local);
account.test_MaxPositions = subscriber.MaxLivePos;
account.test_Locked = subscriber.Locked;
entity.EntityState = Microsoft.Xrm.Sdk.EntityState.Changed;
...
フィールドは、コードによって記入されています、ただし、ユーザーが[保存]を押すと、これらの値はアカウントに保存されません。私はEntityStateを設定することでこれが処理されると考えました。私は何が欠けていますか?
答えに感謝します。プラグイン内からこれらのフォーム属性にアクセスする方法があると思いますか?すべてのコードを1つの場所に保存しようとしています。 – Wavel
いいえ - あなたは2つの異なる「層」を扱っています。クライアント・フォームがレンダリングされる前に、Retrieveプラグインがサーバー上で実行されているため、プラグインにはまだフォームの概念がありません。 興味深いのは、 "FieldsToForceSubmit"などの4番目のフィールドを追加することです。 Retrieveプラグインで、他の3つのフィールドのコンマ区切りリストに設定します。次に、クライアント側で、これらのフィールドをループし、setSubmitModeをループするジェネリックJavascriptを記述します。この方法では、少なくともクライアント側のコードを維持する必要はありません。 –
解決策を試してみました。送信モードを設定すると、これらのフィールドを保存する必要があることがフォームに通知されますが、フォーム上で何かが手動で変更され、IsDirtyフラグが設定されている場合に限ります。この問題を回避するためのアイデアはありますか? – Wavel