0

field_1ユーザーが を変更した場合に備えての値を変更したいと思いますfield_2。通常、JS を使用してクライアント上でこれを行います、この場合、ユーザーは再び気が変わって元の値に戻る可能性があります。それで、プラグインのフィールドを更新したいと思います。

の変更を正常に検出してfield_2いますが、値を に代入するfield_1と、データベースに保存されません。私は何を間違っていますか?

if (IsField_2Changed())
   (Context.InputParameters["Target"] as Entity).Attributes["field_1"] = 666;

クラッシュも苦情もありません、値 666 (ハロウィーンのため) がデータベースに保存されません。コードは update のメッセージで実行されます。

ユーザーは変わりませんのでご注意くださいfield_1。後で読み取り専用フィールドとして設定されます。

4

2 に答える 2

1

プラグインの登録方法について言及していないため、これは少し推測です。

ただし、プラグインは Pre にあるはずのときに Post に登録されていると思います。

Target を使用して更新する場合は、Pre で行う必要があります。

プラグインを Post に配置する必要がある場合は、webservice update 呼び出しを使用してください。

于 2012-10-30T13:08:38.457 に答える
0

これはJavaScript内で実行できます。field2のOnChangeイベントに関数を追加するだけです。これはOnBlurイベントではないため、ユーザーが変更後にフィールドを離れたときにのみ発生します。

ユーザーがフィールドを離れるたびに起動する必要がある場合は、JavaScriptを介してOnBlurイベントにバインドすることもできます(changeイベントのフィールドではありません)が、サポートされていません。

プラグインについては、ここに良いウォークスルーがあります(ロジックは完全に同じではありませんが) http://nzcrmguy.blogspot.com/2011/03/updating-fields-on-crm-2011-plugin.html

于 2012-10-30T02:59:50.630 に答える