Showing posts with label Dynamics CRM. Show all posts
Showing posts with label Dynamics CRM. Show all posts

Saturday, 27 April 2013

Retrieve Entity using FetchXML in CRM 2011 Java Script


var pricelistlookup = null;
var accountname = null;

FetchPriceList = function (pricelistfield) {
    pricelistlookup = pricelistfield;

    if (Xrm.Page.getAttribute(pricelistlookup).getValue() == null) {
        var _oService;
        var _sServerUrl = Xrm.Page.context.getServerUrl();

        var fetchXml =
         "<fetch mapping=\"logical\">" +
                "<entity name=\"pricelevel\">" +
                    "<attribute name=\"name\" />" +
                    "<attribute name=\"pricelevelid\" />" +
                    "<filter>" +
                        "<condition attribute=\"statecode\" operator=\"eq\" value=\"" + "0" + "\" />" +
                         "<condition attribute='name' operator='eq' value='Default Price List' />" +
                    "</filter>" +
                "</entity>" +
            "</fetch>";

        _oService = new FetchUtil(_sServerUrl);
        _oService.Fetch(fetchXml, FetchPriceListCallBack);
    }
}

FetchPriceListCallBack = function (results) {
    try {
        if (results.length > 0) {
            var lookupData = new Array();
            var lookupItem = new Object();

            // Set the id, typename, and name properties to the object.
            lookupItem.id = results[0].attributes.pricelevelid.value;
            lookupItem.entityType = 'pricelevel';
            lookupItem.name = results[0].attributes.name.value;
            lookupData[0] = lookupItem;
            Xrm.Page.getAttribute(pricelistlookup).setValue(lookupData);
        }
    }
    catch (e) { alert("Default Price List Not found!!!"); }

}

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);
    }
}