Saturday, 27 April 2013

Retrieve entity using ODATA in CRM 2011 Javascript

Retrieve a entity data using ODATA in CRM 2011 javascript


function retrieveSelectedProduct(productid) {
    var entity = "Product";    //Entity name
    var select = "?$select=ProductId,DefaultUoMId,ProductNumber"  // Columns Name
    var oDataSelect;
   var context = Xrm.Page.context;
   var serverUrl = context.getServerUrl();

    // build query string
    oDataSelect = "/XRMServices/2011/OrganizationData.svc/" + entity + "Set(guid'" + productid + "')" + select + "";

    $.ajax({
        type: "GET",
        contentType: "application/json; charset=utf-8",
        datatype: "json",
        url: serverUrl + oDataSelect,
        beforeSend: function (XMLHttpRequest) { XMLHttpRequest.setRequestHeader("Accept", "application/json"); },
        success: function (data, textStatus, XmlHttpRequest) {
            // Use for a single selected entity
            ProcessReturnMsg(data.d);
        },
        error: function (xmlHttpRequest, textStatus, errorThrown) {
            alert("Status: " + textStatus + "; ErrorThrown: " + errorThrown);
        }
    });
}

function ProcessReturnMsg(productEntity) {
    if (productEntity.DefaultUoMId != null) {
        var uomId = productEntity.DefaultUoMId.Id;
        var uomName = productEntity.DefaultUoMId.Name;

        // insert the default unit of measure
        var defaultuomid = new Array();
        defaultuomid[0] = new Object();
        defaultuomid[0].id = uomId;
        defaultuomid[0].name = uomName;
        defaultuomid[0].entityType = "uom";

        Xrm.Page.getAttribute("uomid").setValue(defaultuomid);
    }
}

No comments:

Post a Comment