Разработка
04
Сен
0

Удаление записи с помощью oData

Чтобы удалить какую-либо запись с помощью JS и конечной точки oData выполните такой код:

function deleteRecord(recordId, odataSetName) {
    // Формируем oData запрос
    var oDataReq = Xrm.Page.context.getServerUrl() + "/XRMServices/2011/OrganizationData.svc/" + odataSetName + "(guid'" + recordId + "')"
    
    // Отправляем oData запрос
    var delRecReq = new XMLHttpRequest();
    delRecReq.open('POST', oDataReq, false); // Синхронно
    delRecReq.setRequestHeader("Accept", "application/json");
    delRecReq.setRequestHeader("Content-Type", "application/json; charset=utf-8");
    delRecReq.setRequestHeader("X-HTTP-Method", "DELETE");
    delRecReq.onreadystatechange = function () {
        delCallBack(this, recordId);
    };

    delRecReq.send(null);
}

function delCallBack(delReturnValue, recordId) {
    if (delReturnValue.readyState == 4 /* complete */) {
        if ((delReturnValue.status == 204) || (delReturnValue.status == 1223)) {
            alert("Удалена запись с Id : " + recordId + ".");
        }
        else
            alert("Ошибка во время удаления записи.");
    }
}

Тут Вам нужно вызвать функцию deleteRecord и передать ей GUID удаляемой записи и название объекта + Set. Например, на онлоаде объекта это делается так:

"12E25FE5-73E2-E111-B2D5-000C29CDB72E","AccountSet"


Тот же результат с помощью jQuery:

function deleteRecord(recordId, odataSetName) {
    // Формируем oData запрос
    var oDataReq = Xrm.Page.context.getServerUrl() + "/XRMServices/2011/OrganizationData.svc/" + odataSetName + "(guid'" + recordId + "')"

    // Отправляем oData запрос
    $.ajax({
        type: "POST",
        contentType: "application/json; charset=utf-8",
        datatype: "json",
        url: oDataReq,
        beforeSend: function (XMLHttpRequest) {
            XMLHttpRequest.setRequestHeader("Accept", "application/json");
            XMLHttpRequest.setRequestHeader("X-HTTP-Method", "DELETE");
        },
        success: function (data, textStatus, XmlHttpRequest) {
            alert("Запись успешно удалена.");
        },
        error: function (XmlHttpRequest, textStatus, errorThrown) {
            alert("Ошибка при удалении – " + errorThrown);
        }
    });
}
Комментарии (0)

*

code