Quantcast
Channel: Microsoft Dynamics CRM Forum - Recent Threads
Viewing all articles
Browse latest Browse all 55831

Error while performing a batch operation using Web API

$
0
0

Hi All,

I am trying to perform a Web API batch update operation using Javascript. I am getting the error as "Incorrect attribute value type System.Decimal". Please find the below code which I am using for update.

function UpdateTimeCardEntries(selectedItemIds) {
    debugger;
    var data = [];
    data.push('--batch_123456');
    data.push('Content-Type: multipart/mixed;boundary=changeset_BBB456');
    data.push('');
    if ($('#lunchentryoptionset').val() == "961360000") {
        var end = new Date($('#enddatetime').val());
        end.setMinutes(end.getMinutes() - end.getTimezoneOffset());
        var lunchStart = new Date($('#lunchstartdateandtime').val());
        lunchStart.setMinutes(lunchStart.getMinutes() - lunchStart.getTimezoneOffset());
        var lunchEnd = new Date($('#lunchenddateandtime').val());
        lunchEnd.setMinutes(lunchEnd.getMinutes() - lunchEnd.getTimezoneOffset());
        for (var i = 0; i < selectedItemIds.length; i++) {
            var id = (i + 1);
            data.push('--changeset_BBB456');
            data.push('Content-Type:application/http');
            data.push('Content-Transfer-Encoding:binary');
            data.push('Content-ID:' + id);
            data.push('');
            data.push('PATCH ' + parent.Xrm.Page.context.getClientUrl() + '/api/data/v9.1/nth_timecardentries(' + selectedItemIds[i].replace('{', '').replace('}', '') + ') HTTP/1.1');
            data.push('Content-Type:application/json;type=entry');
            data.push('');
            var timeCard = {};
            timeCard.nth_end = end.toISOString();
            timeCard.nth_lunchentry = parseInt($('#lunchentryoptionset').val());
            timeCard.nth_lunchstart = lunchStart.toISOString();
            timeCard.nth_lunchend = lunchEnd.toISOString();
            data.push(JSON.stringify(timeCard));
        }
    }
    else {
        var end = new Date($('#enddatetime').val());
        end.setMinutes(end.getMinutes() - end.getTimezoneOffset());
        for (var i = 0; i < selectedItemIds.length; i++) {
            var id = (i + 1);
            data.push('--changeset_BBB456');
            data.push('Content-Type:application/http');
            data.push('Content-Transfer-Encoding:binary');
            data.push('Content-ID:' + id);
            data.push('');
            data.push('PATCH ' + parent.Xrm.Page.context.getClientUrl() + '/api/data/v9.1/nth_timecardentries(' + selectedItemIds[i].replace('{', '').replace('}', '') + ') HTTP/1.1');
            data.push('Content-Type:application/json;type=entry');
            data.push('');
            var timeCard = {};
            timeCard.nth_end = end.toISOString();
            timeCard.nth_lunchentry = parseInt($('#lunchentryoptionset').val());
            data.push(JSON.stringify(timeCard));
        }
    }
    data.push('--changeset_BBB456--');
    data.push('--batch_123456--');
    var payload = data.join('\r\n');
    var req = new XMLHttpRequest();
    req.open("POST", window.parent.Xrm.Page.context.getClientUrl() + "/api/data/v9.1/$batch", false);
    req.setRequestHeader("OData-MaxVersion", "4.0");
    req.setRequestHeader("OData-Version", "4.0");
    req.setRequestHeader("Accept", "application/json");
    req.setRequestHeader("Content-Type", "multipart/mixed;boundary=batch_123456");
    req.setRequestHeader("Prefer", "odata.maxpagesize=1");
    req.onreadystatechange = function () {
        if (this.readyState === 4) {
            req.onreadystatechange = null;
            if (this.status === 200) {
                debugger;
                alert("The selected time card entries are successfully signed out.");
                window.top.opener.Xrm.Page.getControl("crmGrid").refresh();
                window.close();
            }
            else {
                alert(this.responseText.match('message":"(.*)","innererror"')[1]);
            }
        }
    };
    req.send(payload);
}


Any help is appreciated.


Viewing all articles
Browse latest Browse all 55831

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>