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

}

No comments:

Post a Comment