REST – Retrieve Multiple Example

Retrieve Multiple

Syntax: SDK.REST.retrieveMultipleRecords(type, options, successCallback, errorCallback, OnComplete)

Name Type Description
type String The Schema Name of the Entity type record to retrieve.
options String A String that represents the OData System Query Options to control the data returned.
successCallback Function The function that will be passed through and be called for each page of records returned.
This example uses the retrieveContactsCallBack function.
errorCallback Function The function that will be passed through and be called by a failed response.
This example uses the errorCallBack function.
OnComplete Function The function that will be called when all the requested records have been returned.
This example uses the contactsRetrieveComplete function.

Task:  Retrieve all Contacts contains MobilePhone data
Solution: Add the below Script in “new_sdkOperations” Webresource and click Ok.

Please do check REST – Retrieve for Initial Setup.

function retrieveMultipleContacts() {
var options = "$select=FullName,MobilePhone&$filter=MobilePhone ne null"; //Write your own Query to get Records
SDK.REST.retrieveMultipleRecords("Contact", options, retrieveContactsCallBack, errorCallBack, contactsRetrieveComplete);
}

function retrieveContactsCallBack(retrievedContacts) {
var outputString = "";
outputString = "FullName\t\t\tMobile Phone\n";
outputString = outputString + "--------------------------------------------------\n";
for (var i = 0; i < retrievedContacts.length; i++) {
outputString = outputString + retrievedContacts[i].FullName + " \t " + retrievedContacts[i].MobilePhone + "\n";
}
alert(outputString);
}

function errorCallBack(error) {
alert(error.message);
}

// This function is called after all the records have been returned
function contactsRetrieveComplete() {
}

Add OnLoad event in Contact Form, Library: new_sdkOperations & function retrieveMultipleContacts. Save and Publish

Image

Output:
Open any Contact Record to see the below output,

Image

Please provide your valuable comments on this article.

Advertisements

4 thoughts on “REST – Retrieve Multiple Example

  1. Dear Arun Potti,

    Thank you for the example. It worked perfectly.

    I am however, stuck at a point where I cannot cancel a Form save event within my REST call. It works fine when executed outside the REST call.

    Here is my code snippet:

    function TSOCheckForProducts(ExecutionObj) {
    var Products = 0;
    var opportunityid = Xrm.Page.data.entity.getId();
    SDK.REST.retrieveMultipleRecords(
    “OpportunityProduct”,
    “$select=PricePerUnit&$filter=OpportunityId/Id eq (guid'” + opportunityid + “‘) and (new_ProductService eq false)”,
    function (results) {
    Products = results.length;
    },
    function (e) { //on error
    alert(e.message);
    },
    function () { //on Complete
    ExecutionObj.getEventArgs().preventDefault(); //This does NOT work
    }
    );

    ExecutionObj.getEventArgs().preventDefault(); //This works
    }

    Now, how do I prevent form close event??

    Thanks!

    Like

      • Hi Arun,

        Thank you for replying back.

        Consider the following example:
        I have form in CRM 2011 called ‘Contacts’.
        Now in this form, if a user enters data in some fields and then clicks on ‘Save & Close’, then I wish to cancel his form close event i e. prevent the user from saving and closing the form.

        For this I am using the following line of code:
        ExecutionObj.getEventArgs().preventDefault();

        Now, this code does not work when called inside the successCallback function of REST’s retrieveMultipleRecord().

        However, it works successfully when called outside the successCallback function.

        Now, How do I make that line of code work inside REST method??

        Like

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s