Archive for September, 2014

Recently we noticed a problem where some users were not seeing that a field was required in Dynamics CRM 2013. The field still behaved the same, and would display a notification if the field was left blank, however it simply would not show the red asterisk beside the field letting the user know the field is required.

There were also some other unusual looking things, such as boxes showing up around the social pane headings etc. This was happening on all browsers, but only for certain users.

As it turns out, there is a setting in Personal Options to ‘Enable high contrast’ which was doing this. It appears that the setting was on by default for certain users, possibly as a result of their browser or OS settings. The solution was to simply uncheck this option for each user.

You may have to clear the user’s browser cache to see the changes. Once that’s done though you should be able to refresh your form and see it normally again.

This issue occurs in both CRM 2013 and also CRM 2015.

Advertisements

Business Rules were introduced in CRM 2013, which allowed customizers to create simple conditions to manipulate the form without needing to write any JavaScript. The only limitation of this was that to create If-Then-Else style conditions we had to create multiple business rules to accommodate each possible scenario.

Dynamics CRM 2015 now introduces the ability to add additional conditions into a single business rule, allowing us to maintain all the logic for a single rule in one place, rather than across several business rules.

You can see we now have a button at the bottom ‘Add Else’. If we click this a new CONDITION/ACTION block will be added.

We can leave the CONDITION blank, and this will act as an ELSE, meaning if the first condition is not met, this action will fire no matter what. Otherwise if we specify a condition, this will become an ELSE IF, and we will have the option to add an additional ELSE below this.

We can repeat this as many times as we need to, creating as many ELSE IF’s as is required for this rule. I’ve added a few more conditions for if the Rating is ‘Cold’ to set Probability to 20, and finally an ‘ELSE’ which sets it to 0 if there is no Rating set for some reason.

Once we’re done we can activate the rule and test it out.

When creating a new Opportunity, straight away we can see the Probability is set to 60 since the Rating is Warm by default.

If we change the Rating to Hot or Cold the Probability will be updated based on our rules.

Dynamics CRM 2015 adds a new feature to Business Process Flows that were introduced in CRM 2013, which now allows us to branch the process in a different direction based on some condition. Similar to in a workflow or dialog where we might have several different paths that can be taken based on the type of record etc.

In CRM 2013 business process flows only had 1 branch that they could follow. If you wanted multiple branches you’d need to create multiple process flows and have the user switch between them. This has become much easier now, as we can simply select to add a branch into the process.

When we click to add a branch, we are able to specify a condition which would take a user down this branch.

We can also add additional Add/Or conditions to this branch by clicking the ‘plus’ button just below the condition. For example we could do: Industry = Accounting AND No. of Employees > 100.

At the time of writing this blog (which is based on the beta release) it seems like we can only specify one type of grouping for each branch, e.g. ‘this OR this OR this’, or ‘this AND this AND this’, but not this AND this OR this. If we have 3 or more conditions and change one of them from AND to OR or vice versa it will change all the other conditions for this branch as well.

Once the condition is created, we can add a stage within the branch by clicking ‘Insert Stage’ below the condition.

We can add additional branches to our existing branch by clicking ‘Add branch’ above the entire condition (the same way we added the first branch), which will by default add an ‘Else’ condition, meaning if the first branch’s condition isn’t met it will always fall back onto the ‘Else’ branch. We can also convert the ‘Else’ to an ‘Else If’ which allows us to specify another condition if the first condition isn’t met. We can add as many ‘Else If’ conditions as we need to which will create multiple possible branches from the same point.

Once we’ve completed our process flow with branches it’s time to test it out. The process flow I’ve created runs on Account, and has 2 branches. It starts with identifying the industry, number of employees, and annual revenue. Depending on these values, the process should either go into the ‘Develop’ and ‘Propose’ stages, or into the ‘Research’ stage.

When we create a new Account, since there are no values entered yet, the process is shown with the Research stage.

If we enter in some values the process flow will update automatically.

When we go to the ‘Next Stage’, we will be moved down the branch that meets our conditions. Once moved into the next stage, changing the values that took us down this branch will not change the process. For example, once in the Develop phase, if the Annual Revenue is changed we will remain on the current branch.

Finding records in CRM has never been easier than it is now in CRM 2015. Not only has Microsoft added global search into the global nav so we can search for a single term across several entities from anywhere in the system, but they’ve also taken on feedback from the community and have added Advanced Find into the global nav as well.

I had already released a solution for CRM 2013 which adds Advanced Find to the Global Nav (which still works in 2015 if you’re upgrading).

The new button has been added to the right of the ‘Search Entities’ box, beside our user/org name. The icon is a little bit confusing at the moment, as it’s not using the classic advanced find icon everyone is used to with previous versions of CRM – however since I’m only using the ‘beta’ release, the icon may be updated for the full release.

When we click on this button from anywhere in CRM that has a global nav bar, an advanced find window will be opened. If we’re on a view for an entity, the advanced find window will automatically open up to that entity and the view we’re on. If we’re on a form the advanced find window will open the ‘new query’ window for the current entity, however the behaviour is a little bit different for forms.

When we click the advanced find button from a view, a dashboard, or another area of the sitemap, the advanced find window that opens is opened in a new window which can be minimized or resized, and depending on your browser settings can open in a new tab instead of a popup. This is great as it means we can open advanced find and continue doing what we were doing with advanced find still open in the background.

You can see in the image above that the advanced find window that opens from a view has the minimize and maximize buttons available.

When we click the advanced find button from a form however, it is opened in a dialog box which cannot be minimized, and cannot be opened in a new tab. This means we cannot keep the advanced find window open while continuing to use the rest of the system. Hopefully this is only an issue for the beta release.

In the image above you can see that the advanced find window opened from a form does not have the minimize or maximize buttons, and we cannot click back onto our other window without closing advanced find.

Advanced Find has also now been removed from all command bars, as it is no longer needed.

Overall I think this feature is very cool and I’m sure everyone will be glad to have this available. Hopefully it can be made a little bit easier to use in the full release, as this blog post is based on the beta.