Archive for December, 2013

My blog report for the year 2013

December 31, 2013 Leave a comment

First of all thanks to all my blog visitors who posted valuable comments and suggestions.

I wish you all a great year ahead that starts with happiness and ends with that too. Happy New year 🙂 prepared a 2013 annual report for my blog.

Here’s an excerpt:

The Louvre Museum has 8.5 million visitors per year. This blog was viewed about 130,000 times in 2013. If it were an exhibit at the Louvre Museum, it would take about 6 days for that many people to see it.

Click here to see the complete report.


Categories: Misc

Identify “Auto Save” in JScript onload & onsave events – CRM 2013

December 30, 2013 1 comment

CRM 2013 has got a new ‘Auto Save” feature which periodically saves the form after new data entered.

Problem with frequent auto save

  • The problem with this design is whenever auto-save fires, it causes  unwanted execution of the registered onload & onsave events.

To identify ‘Auto Save’ event in ‘onload & onsave’ below is useful approach

On Save 

  • Check  the ‘Save Mode’ of ‘Event Args’, If Save Mode is ‘70’ then save event is caused by ‘Auto Save’
  • Make sure to check ‘Pass execution context as first parameter’ while registering ‘onsave’ event
Passing execution context

Passing execution context

function onsave(eventArgs) {

var saveMode = eventArgs.getEventArgs().getSaveMode();

// 70 – AutoSave

if (saveMode == 70) {

alert(“Save caused by AutoSave”);

// By setting Form dirty, we will make sure the traditional save event executes when you click on ‘Save’ button;


else {

alert(“Traditional Save event”);




  • Since the ‘AutoSave’ periodically saves the form data, you might not get traditional ‘onsave’ event fired.
  • If you want your logic to be executed in traditional ‘onsave’ event, set form dirty to ‘true’ in ‘AutoSave’ save mode.

On Load 

‘onload’ event caused by ‘AutoSave’ does not clears the global variables. So use below steps to check ‘AutoSave’ event on ‘onload’

  • Declare and set a global variable
  • Check the variable on onload event

var formLoaded = false;

function onload() {

if (!formLoaded) {

alert(“Traditional form load happend !!!”);


formLoaded = true;


  • Above function the ‘If’ block executes only first time when you open the form


Categories: CRM 2013 Tags: , ,

Field’s tooltip in CRM 2013

December 29, 2013 Leave a comment
  • In CRM 2011, when you hover mouse pointer on a field you get field’s ‘Display Name’ as Tooltip.
  • In CRM 2013, there is a slight design change. Whatever you specify in field’s ‘Description’ appear as Tooltip.
fields Description

Fields Description

Fields tooltip

Fields tooltip


Categories: CRM, CRM 2013 Tags: ,

Table alias is not unique amongst all top-level table and join aliases – Exception

December 18, 2013 2 comments

Recently we upgraded from UR 8 to UR 13 and from then I was getting ‘Unexpected’ error when I was adding members to my ‘Dynamic Marketing list’ using ‘Advanced Find’ window.

Below is the error log from my Event viewer

Exception type: CrmException

Exception message: Table alias a_7f4fc1baff99e111bef200155dc87c59 is not unique amongst all top-level table and join aliases

This is a known issue  with UR 12 and would be resolved in UR 15.

Here is the link which has solution/workaround for the issue.


Free CRM online book by Power Objects

December 6, 2013 Leave a comment

Power Objects has come up with a free online CRM book.

The content of this book covers below topics

The best part is, this book will be updated as the CRM software changes.

Check this out @ CRM Book


Categories: CRM Tags: , ,