以下是报价实体上的产品子网格。
现在添加新产品后,我将根据每单位价格,数量和折扣计算服务税和税。
现在我需要在子网格中设置计算的服务税和税值。
我想在Quote Entity中更新子网格的记录。我试过下面的代码,但仍然无法更新我的子网格。
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功能中,我也尝试提醒成功消息,但我既没有成功消息也没有任何错误消息。
答案 0 :(得分:0)
检查您正在进行的操作是否合法。您是否可能传递导致空字符串的值。
答案 1 :(得分:0)
我刚刚在我的生产环境(CRM2013 Online)中使用上述代码导入了我的解决方案。它运作良好。