Как обновить записи подсетки в CRM 2013 с помощью OData JSON JQuery

Ниже приведена моя вспомогательная сетка продукта в 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 я также пытался предупредить сообщение об успехе, но я не получил ни сообщения об успехе, ни сообщения об ошибке.


person User5590    schedule 15.04.2014    source источник
comment
Просто любопытно, зачем вам использовать javascript для обновления значений? Есть ли причина, по которой вы не используете плагин до / после создания?   -  person Thijs Kuipers    schedule 15.04.2014


Ответы (2)


Убедитесь, что выполняемые вами операции законны. Возможно ли, что вы передаете значение, которое приводит к пустой строке.

person Mauro De Biasio    schedule 22.04.2014

Я только что импортировал свое решение с приведенным выше кодом в свою производственную среду (CRM2013 Online). и все работало нормально.

person User5590    schedule 23.04.2014