MS Dynamics CRM 2011 (私にとっては初めてで、数週間前まで使用していませんでした) で、フォームの onsave イベントからカスタム エンティティ フィールドの値を更新しようとしています。フォームに添付された WebResource に保存されたスクリプトとそこの onsave イベントを次に示します (_orgDataPath はページ コンテキストから取得され、同じフォームの取得要求などで機能するため、ここでは問題の原因ではないようです)。 :
function updateRecord(id, type) {
var object = { new_CurrentIndex: 12345 };
var req = new XMLHttpRequest();
req.open("POST", encodeURI(this._orgDataPath() + type + "Set(guid'" + id + "')"), false);
req.setRequestHeader("Accept", "application/json");
req.setRequestHeader("Content-Type", "application/json; charset=utf-8");
req.setRequestHeader("X-HTTP-Method", "MERGE");
var jsonEntity = window.JSON.stringify(object);
req.send(jsonEntity);
}
これをフォームの onsave イベントで実行すると、カスタム エンティティの new_CurrentIndex 値が更新されません。
私の質問は次のとおりです。1) 上記のコードは、javascript を使用した同期 REST 更新に対して正しいですか? 2) 上記の基本的な REST 更新のコードが正しい場合、更新の成功を妨げる CRM 構成設定はありますか?