以下は、Quote Entity の製品サブ グリッドです。
現在、新製品の追加に伴い、ユニットあたりの価格、数量、割引に基づいてサービス税と税金を計算しています。
ここで、計算されたサービス税と税額をサブ グリッドに設定する必要があります。
Quote Entity の Sub-grid のレコードを更新したい。以下のコードを試しましたが、まだサブ グリッドを更新できません。
function OnRefresh()
{
var gridControl = document.getElementById("quotedetailsGrid").control;
var ids = gridControl.get_allRecordIds();
for (i = 0; i < ids.length; i++) {
var quotedetail = new Object();
quotedetail.new_service_tax = "1000";
var id = ids[i].replace("{", "").replace("}", "");
QuoteProductRecord(id,quotedetail);
}
}
function QuoteProductRecord(id,quotedetail) {
var jsonEntity = window.JSON.stringify(quotedetail);
var ODataPath = Xrm.Page.context.getServerUrl() + "/XrmServices/2011/OrganizationData.svc/QuoteDetailSet";
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
datatype: "json",
data: jsonEntity,
url: ODataPath + "(guid'" + id + "')",
beforeSend: function (XMLHttpRequest) {
XMLHttpRequest.setRequestHeader("Accept", "application/json");
XMLHttpRequest.setRequestHeader("X-HTTP-Method", "MERGE");
},
success: function (data, textStatus, XmlHttpRequest) {
alert("Success");
},
error: function (XMLHttpRequest, textStatus, errorThrown) { }
});
}
問題は、エラーがスローされないことですが、サービス税とサブ グリッドの税額が空白のままです。
JSON関数では、成功メッセージも警告しようとしましたが、成功メッセージもエラーメッセージも表示されませんでした。