Saturday, 27 April 2013

CRM 2011 Basic Javacript Syntax



Set the value of a CRM field
Xrm.Page.getAttribute(“CRMFieldName“).setValue(“New Value”);


Get the value from a CRM field
var value = Xrm.Page.getAttribute(“CRMFieldName”).getValue();

Get the value from a CRM OptionSet field
var value = Xrm.Page.getAttribute(“CRMFieldName”).getValue();

Get the text from a CRM OptionSet field
var text = Xrm.Page.getAttribute(“CRMFieldName”).getText();

Set the value of a CRM OptionSet field
Xrm.Page.getAttribute(“CRMFieldName”).setValue(“1″); // OptionSet Value

Get the selected text of a CRM OptionSet field
Xrm.Page.getAttribute(“CRMFieldName”).getSelectedOption().text;

Get the selected value of a CRM OptionSet field
Xrm.Page.getAttribute(“CRMFieldName”).getSelectedOption().value;

Get the text and value of a CRM Lookup 
var lookupObject = Xrm.Page.getAttribute(“CRMLookupName”).getValue();
lookupObject[0].name; 
lookupObject[0].id;

Set the value of a CRM Lookup field
var lookup = new Array();
var Item= new Object();
Item.id = "Guid Value"
Item.name = “Contact”; // Entity name
Item.entityType = “EntityName”;
lookup [0] = Item;
Xrm.Page.getAttribute(“CRMLookupName”).setValue(lookupData);

Disable CRM field
Xrm.Page.ui.controls.get(“CRMFieldName”).setDisabled(true);

Hide CRM field
Xrm.Page.ui.controls.get(“CRMFieldSchemaName”).setVisible(false);

Hide a Tab in CRM
Xrm.Page.ui.tabs.get(“tabName”).setVisible(false);

Hide a Section in CRM
var tab = Xrm.Page.ui.tabs.get(“tabName”);
tab.sections.get(“sectionName”).setVisible(false);

Set the Requirement level in CRM
Xrm.Page.getAttribute(“CRMFieldName”).setRequiredLevel(“required”);
Xrm.Page.getAttribute(“CRMFieldName”).setRequiredLevel(“none”);
Xrm.Page.getAttribute(“CRMFieldName”).setRequiredLevel(“recommended”);

Set Focus on a field in CRM
Xrm.Page.ui.controls.get(“CRMFieldName”).setFocus(true);

Cancelling Onsave Event in CRM
event.returnValue = false;
return false;

Check IsDirty in CRM field
var isDirty = Xrm.Page.getAttribute(“CRMFieldName”).getIsDirty();
alert(isDirty); // returns true if the field is dirty

Check IsDirty for all the fields in CRM
var isDirty = Xrm.Page.data.entity.getIsDirty();
alert(isDirty); // returns true if any of the field is dirty in the entire form.

Force Submit a read only field in CRM
Xrm.Page.getAttribute(“CRMFieldName”).setSubmitMode(“always”);

Preventing an attribute to be saved in CRM form
Xrm.Page.getAttribute(“CRMFieldName”).setSubmitMode(“never”);

Get Unique Organization Name in CRM
Xrm.Page.context.getOrgUniqueName();

Get Server url in CRM
Xrm.Page.context.getServerUrl();

Get the record Id in CRM
Xrm.Page.data.entity.getId();

Get the User Id in CRM
Xrm.Page.context.getUserId();

Get the Entity Schema Name in CRM
Xrm.Page.data.entity.getEntityName();

Get the UserRole Id’s in CRM
var userRoles = Xrm.Page.context.getUserRoles();
for (var i = 0; i < userRoles.length; i++)
{
var userRole = userRoles[i]; // returns the Role Id
}

Get the Form Type in CRM
Xrm.Page.ui.getFormType();

Save a record in CRM
Xrm.Page.data.entity.save(); // for saving a record
Xrm.Page.data.entity.save(“saveandclose”); // for save and close
Xrm.Page.data.entity.save(“saveandnew”); // for save and new

Close the form in CRM
Xrm.Page.ui.close();

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