{New utility}Activity Timeline for Dynamics CRM 2015

Activity timeline is a chart that depicts how a set of activities were planned over time.

If you’re managing a Sales pipeline and want to illustrate who is doing what and when, or if you’re organizing a

conference and need to show progress, a timeline is often a reasonable visualization choice.

Download link: Click here

1. Open to the CRM organization and navigate to Settings->Solutions.

2. Now click on import solution and select the managed solution of activity timeline control.


3. Now click on next and install the solution. Review that the solution installs without any error.


4. Now open the entity form on which you want to enable the time line control.

Add a new tab and in the tab, add a web resource pointing to “dya_timelinecontrol”


5. For better visual representation, set the number of rows property to 18.


Save and publish the customizations.

6. Open the form to see the web resource.


7. Hover over the dot symbol to view the activities on that date. As per the color coding there will be various activities. If you click on any of the row, it will redirect to the respective activity.




Hope it helps and Happy CRMing! Please leave feedback in comments.

A special thanks to Simaranjit for this, you can connect us on:

{Quick Tip} 3 TIPS to be a more productive Dynamics CRM Professional

I was asked recently by one of the guys about what are the most important things which are needed by a

CRM professional to be more productive.

This question goes beyond the discussion of technical or functional expert. I took note of penning what I

have seen in the industry that productive people do. There is no dedicated formulae to be more productive

in ever so fast paced Dynamics CRM world. Here are 3 tips that I feel are important:

· Create Reusable Assets:

Ø One thing I have noticed what Productivity bring is by saving time on whatever you can.

Ø If you are technical, create reusable snippets/frameworks/technical documentation templates.

Ø If you are functional, create reusable pre-sales content, demos, etc.

Ø Store them and be able to locate them is also as important as creating them so that they can be

referred quickly when needed.


· Use the right tools

Ø One thing I have noticed what Productivity bring is by using tools.

Ø If you are technical or functional, it doesn’t matter as long as you know that there are lot of tools in the community and

open source out there for Dynamics CRM to consume. A great example is XRMToolbox by a great MVP Tanguy Touzard

Ø Again Storing them and be able to locate them is also as important as using them so that they can be referred quickly when needed.

Do not try to hit a nail with a screw driver!!


· Take breaks at proper intervals

Ø One thing on how Productivity can be increased is by having proper breaks.

Ø If you are technical or functional, it doesn’t matter as long as you are taking proper breaks. Human brain has a tendency

to perform well when it is fresh. Remember the day to office break from a vacation is lot fresher and brighter for new ideas.

A mind which is not fresh is not productive.

Ø Not taking breaks doesn’t prove a great work ethic but many organisations and people have a habit of sitting

till late just to prove a point that they are working hard which I haven’t seen is mostly the case

Ø Smart people manage their time well, take breaks and do not tire there brain and work late.


Get a coffee and come back for that CRM problem again!

Hope it helps and Happy CRMing!

{Advanced scripting tip}Traversing and reading column values in Sub Grids in Dynamics CRM 2015 Update 1

Before 2015 Update 1, it was very difficult to traverse through the sub grid elements in Dynamics CRM form.

Now with introduction of support for Grid events it has become easier.

Having said that, there are not enough code samples or blogs on this topic.

In a recent project, this became a necessity and I went through the code to read individual column values, sum them as well.

In this example I am putting a save of the column values using a function and alerting on form save:

Here is the code base:

function onSaveSumNotification()


      //Get all Rows of Child Grid

      var allRows = Xrm.Page.getControl(“Child”).getGrid().getRows();

      var allGridRowData = [];

      allRows.forEach(function (row, i)




      var sum = 0;

      //Read values of all the child grid fields and add them

      for (var i = 0; i < allGridRowData.length; i++)


            sum += parseInt(allGridRowData[i].getEntity().getAttributes().getByName(“dynamics_integer”).getValue());


      //Show notification

      Xrm.Utility.alertDialog(“Sum of integers is: ” + sum.toString());



And the result:


Note: Due to the asynchronous loading of the sub grids it might not be best suited for on load handler

as the sub grid might not have loaded till the point when the on load event gets hit.

Hope it helps and Happy CRMing!

{New and improved Utility announcement}Security Role browser for Dynamics CRM 2015/2015 Update 1

The clock is ticking. I did the first version for 2011 and it continued on for CRM 2013 as well:


It was one of the most liked utilities I developed and 2000+ downloads means it is useful!

There were some cool feature requests and other bug fixes.

Here is a sneak peak of what Latest version will bring:

· Support for 2015 and 2015 update 1

· New skin!


· Addition of Business units for filtering:


· Addition of Business unit on exported Grid:


· Addition of Miscellaneous privileges:


Some other new features will release with the main tool soon Smile Stay tuned

So, why the wait? Because all good things take time to build and the build is going through Pre-Live test.

Hope it helps and Happy CRMing!


The idea of Stand up meeting is very simple but meetings are always disliked by developers.

Daily CRM stand up calls give a clear idea on the ground level delivery of a CRM project during most phases of the project.

This blog particularly is targeted for Development phase.

The whole team (usually no more than 10 people) does something similar to a stand up so everyone can see each other.

In a Lync/Skype call it is moderated one by one in a given order.

The “facilitator” that was chosen for the team will go one by one and ask each team member three simple questions:


What did you do yesterday?

This can be things that were completed by a developer and helps to keep track

of the progress made on Development items.


What are you going to do today?

This can be things that are planned by a developer and helps the team to know

the work which will be done today by each developer.


Is there anything stopping you from getting your work done?

This are blockers that will stop the developer for getting his or her job done on time and must be resolved.

Usually it is the responsibility of Team lead/Project manager to get a quick resolution for this problems/issues.



· Make it a technical discussion

· Make it a forum for personal issues

· Make it an advisory board.

It will prove effective strategy as long as above 3 points are not made part of this meeting!

Hope it helps and Happy CRMing!

{Customization and Scripting Tip} Workaround for showing some number fields without comma in Dynamics CRM

Dynamics CRM provides a wide range of fields, one of them is whole number fields.

Sometimes there is a requirement to show this whole number fields in Dynamics CRM without the “,” in the value.

This can be easily achieved if we want to remove “,” from all whole number fields by

navigating to Personal settings and remove it for all whole number fields.

However, it is not often the case when I would want to remove comma from all my whole number fields.

So, the workaround?

I went through a few options and choice is totally dependent on the business scenario at hand.

I am taking example of a Year field below:

If you have a pre-set field for year you can go for a lookup field or option set if the number of years

in the field is lesser.

In my case I have done a small text field of length 4 and added some scripting to the same

End result is something like this:

If I enter a non-numeric field in the Text year field and hit save:


When numeric value is entered, lets the user save:


Volla, without a comma, which was indeed the base of the problem.

And the script behind (You can definitely add a year range validation also, I skipped it in

This example):

function onsave(context)


 var stringValue = Xrm.Page.getAttribute(“dynamics_year”).getValue();

 var numberValue = parseInt(stringValue);

    if(isNaN(numberValue)) {

    Xrm.Page.ui.setFormNotification(“Year is not entered in correct format.”, “ERROR”,“1”);

    // Do not let user save









One last thing, to note: During registering the script on save event on the form do not forget

the highlighted checkbox (to pass the context to the script as first parameter):


Hope it helps and Happy CRMing!

{New Utility} Synchronous Rollup for Dynamics CRM 2015

Synchronous Rollup is a utility to apply rollup synchronously as well as has some advantages over the

limitations provided by Rollup fields for specific business scenarios.

How to Apply Sync Rollup?

The solution comes with a Parent and Child entity, a sample workflow and a custom workflow activity.

The allowed values for operation name are:

· sum

· avg

· min

· max

The allowed value for output type are:

· money

· decimal

· int

Conditions can be set in the workflow when to use them.

Series of workflows can be used in Tandem.


· You can define a maximum of 100 rollup fields for the organization and up to 10 rollup fields per entity.

No such restrictions, only performance considerations while using this utility.

· A workflow can’t be triggered by the rollup field updates, no such restrictions using this utility.

· A rollup over the rollup field is not supported, but in this utility is supported.

· The business rules, workflows or calculated fields always use the last calculated value of the rollup field.

Using this utility they give the latest value.

Where to Download? Here: Click here

Sample Configuration:




How it is done?

Aggregate Fetchxml queries

Note: Only works for 1:n relationship types.

Please let me know if there are any issues in comments.

Hope it helps and Happy CRMing!