シナリオ:
ステップ 1: MS CRM 2011 を使用しています。To フィールド値を取得するための JavaScript 関数 (電子メール エンティティ) を記述し、その値を関連フィールドに設定します。正常に動作していました。
ステップ2:関連フィールドの値を更新するプロセスを明確に記述します。関連フィールドは自動的に値を取得するため、関連フィールドを空に変更する必要があります。正常に機能していました。
ステップ 3: onchange イベントで JavaScript 関数を呼び出します。
問題:関連フィールドの値は、プロセスの実行後にクリアされます。これは、関連フィールドで古い値が置き換えられ、新しい値が取得されることを意味します。これは、変更イベントのようなものです。古い値は空として置き換えられます。
しかし、関数はトリガーされません。メールフォームを開いて、関連するフィールドを変更すると、正常に機能していました。つまり、Javascript が機能することを意味します。
概要: Process から値を変更したときに onchange イベントが呼び出されませんでした。
この問題を解決する方法。
**次のスクリーン ショットを参照してください。
この Java スクリプトの使用:
ステップ 1 コーディング 関数 TofieldValuetoOtherField() {
var lookup = new Array();
lookup = Xrm.Page.getAttribute("to").getValue();
if (lookup != null)
{
var name = lookup[0].name;
var id = lookup[0].id;
var entityType = lookup[0].entityType;
Xrm.Page.getAttribute("regardingobjectid").setValue([{ id: id, name: name, entityType: entityType }]);
//Xrm.Page.data.entity.save();
}}
このように Onchange を呼び出します。