Sunday, July 29, 2012

How to get all the selected records id for the bulk edit form

Further to one of our previous blog spot

We can write scripts on bulk edit form to check that the entered field value is unique for the selected group of records. If the value is duplicate then the user should get an alert and the bulk edit form should be closed.

To achieve this, we need to retrieve all the records and compare the new value with the existing values.

But to retrieve we require the ids of all the selected records for bulk edit. To get ID we normally use

Xrm.Page.data.entity.getId()

But this will not give us the id of all the selected records. To get ids of all selected records we need to use a window command window.dialogArguments.

 //check whether the form is bulk edit form

 var formType = Xrm.Page.ui.getFormType();

if (formType == 6)
{

 //Read ids from dialog arguments

 var records = window.dialogArguments;

 for(i=0; i<records.lenght;i++)
 {
   alert(records[i]);
 }
}

Hope this helps and is useful!!

Friday, July 20, 2012

Outlook Authentication issue fixed in Rollup 8

We have noticed this with the Online and IFD environment, that, if you are using "CRM 2011 Outlook Client" and try to open any web resource like html file and Silverlight application (.xap file) or any entity record using window.Open() or Response.Redirect() then you get prompt for user name and password.

Window.Open() methods opens the CRM record in the browser (IE) and outlook does not pass your CRM credential. As you are not logged-in in the CRM from browser (IE), it asks credentials of user.

If you are already logged-in from browser and open CRM record from Outlook client then it will not prompt for the user credential.

Microsoft has released Rollup 8 which exposes two new methods through SDK. These methods will open window in the process Outlook.exe instead of Iexplore.exe. So it will not ask for credentials.

Below are two methods:
 
     1)  openWebResource(string webResourceName, string webResourceData, int width, int height):

This opens a HTML web resource page.

             i.   webResourceName: This is the name of the web resource that you want to open.
             ii.  webResourceData: Parameter that is to passed to the web resource. Web page (HTML) or Silverlight Web resource page can only accept a single custom parameter called data.
              iii. width: Width of the window
              iv.  height: Height of the window.
 e.g. Xrm.Utility.openWebResource("new_/pages/test.html",null,700,700);
 
 
     2)  openEntityForm(string name, string id, Dictionary parameters):
This opens an entity form dialog e.g. Account record.
 
                  i.            name: Name of the entity of which record is to be opened. e.g. account.
                  ii.           id: GUID of the record. e.g. "89A2F3FB-18FF-E011-A003-00155D005515".
                  iii.          parameters: Parameter that is to passed to the record. 
e.g. Xrm.Utility.openEntityForm("account","89A2F3FB-18FF-E011-A003-00155D005515",null)

Tuesday, July 17, 2012

Quick Tip - Allow Lookup fields to search by multiple attributes

Lookups as you know in CRM show a list of records of a related entity. Using the lookup, you can search for records by typing in the search key words to filter the list.

This search is performed on all fields that is listed in the Find columns in the Quick Find View of the entity.

Instead of clicking the lookup button, the same search can be performed by directly typing in the search string in the lookup field.

The Lookup field is designed to auto-resolve the text to a matching record in the lookup entity.

This little known feature is very helpful in cases, where you identify the records not by thier names but by a unique id. Take for example you have a form in CRM that you need a user to fill in, and the user is aware of the SSN # of the contact and it would be a time saver if the user could type in the SSN# in the Contact lookup and it would auto-resolve to the Contact.

To acheive this follow the steps below

1. Customize the Contact entity
2. In Views, Select Quick Find View


3. Click on the Add Find Columns

4. Check the SSN field


5. Save and publish the entity.

Open the Account form. In the Primary contact type in the SSN# and tab out...



It will auto resolve to the contact that has that SSN# assigned.


Hope this little trick saves a lot of data entry time!

Monday, July 9, 2012

R8 aka Q2 2012 Service Update Plans revised

The Q2 Service Update plans have been revised. As per the road map made available earlier this year, Q2 Service update was all about "CRM Anywhere". It planned to include Cross Browser availability and Mobility that would let Dynamics CRM be accessible "anywhere" be it any browser or any device.

However in the recent Press Release posted on 6th July, Cross Browser availability and Mobility plans have been delayed and these would not be included in the Q2 update. Here is what it says

On July 19th, as we committed, our Q2 release will include Microsoft SQL Server 2012 support, Industry templates and certifications for our online service. After listening to the feedback from our customers and partners we are delaying availability of Microsoft Dynamics CRM Mobile and cross-browser support. These were previously scheduled to be delivered in the Q2 2012 Service Update, and we now plan to deliver them in the service update scheduled for Q4 2012


You can read the entire post here

This was one of the features that I was most excited about and I am little disappointed with the delay... Q4,,, a bit too long a wait :( Nonetheless it is always better to have a great finished product than half-baked one and as long as this feature is made available in the future with no scope for issues/errors.... I would be willing to wait...

Waiting for a great Cross-Browser Release!!!