Как обновить записи подсетки в CRM 2013, используя OData JSON JQuery
Ниже приведена моя подсетка для продукта на Субъекте.
Теперь при добавлении нового продукта я рассчитываю налог на услуги и налог на основе цены за единицу, количества и скидки.
Теперь мне нужно установить рассчитанный налог на услуги и значение налога в подсети.
Я хочу обновить запись подсети в Цитате. Я попробовал приведенный ниже код, но все еще не смог обновить свою вспомогательную сетку.
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 я также пытался предупредить сообщение об успехе, но ни сообщения об успехе, ни сообщения об ошибке.
2 ответа
Я только что импортировал свое решение с вышеуказанным кодом в свою производственную среду (CRM2013 Online). и это работало нормально.
Проверьте, законны ли операции, которые вы делаете. Возможно ли, что вы передаете значение, которое приводит к пустой строке.