Browsing articles in "Dynamics CRM/365"

Dynamics CRM: Almost xRM

I’ve been getting some emails from readers praising some of the tutorials I wrote round Dynamics CRM customisation and wondering if I have any further tutorials planned. As a matter of fact I do – or perhaps I did. Upon examining some of the topics I was hoping to write about, I came to a poignant realisation: The vast majority of subjects I was hoping to write are about how to circumvent limitations of the Dynamics CRM platform.

As I investigated these limitations on forums, blogs and other sources about Dynamics CRM I can only conclude that Microsoft is doing little to nothing to address most of these concerns. I’ve been working with Dynamics CRM for years and I’m starting to feel as if Microsoft might be in denial about some of the feature requests they receive on Microsoft Connect website.

With all that in mind I feel that before I write any further articles about Dynamics CRM, I should write one article about the Dynamics CRM limitations I find intolerable. In case you’re wondering, I agree that this post has a “ranting” connotation. However I’d like readers to see beyond my frustration and consider the points I am raising as a way to encourage further enhancements on the xRM framework. I truly believe that if Microsoft follow-up on these issues, it will greatly increase the competitive advantage of Dynamics CRM to the point it will become the de-facto market leader. Read more >>

Dynamics CRM 2011: Diving into the sales pipeline – Polaris Addendum

With the release of Dynamics CRM 2011 Update Rollup 12 (UR12, also known as Polaris), Microsoft introduced a lot of new features such as cross-browser support and new forms based on the modern interface (formally known as Metro).

One particular new feature has been driving a lot of traffic to this site, and people emailing me asking for advice: the sales pipeline editor. This new feature allow system customisers to specify the stages within the sales process the steps within through the use of an online editor. Unfortunately, this editor lacks the flexibility and features required to customise a sales process like I have I have discussed in my Diving into the sales pipeline series for Dynamics CRM 2011. The purpose of this post is to serve as an addendum for the series when considering the Polaris update.


Dynamics CRM: Workflows revisited

In the third post of my Diving into the sales pipeline series, we covered the creation of workflows to handle the different stages (i.e.: pipeline phases) of the sales process. If you followed the series from the beginning, you would recall that in that example, we did not want users to be able to jump back and forth through the pipeline phases. For example, a user with an opportunity located in the first pipeline phase shouldn’t be able to jump forward without first passing through the second stage, or be able to move backwards in the sales process.

There are a number of reasons why I stuck with this requirement. First, the whole article series is based on the real requirements of one of my past clients, and the client strictly required users not to be able to move back or jump steps forward. Second, this requirement introduced a nice JScript (the bonus JScript in the second post of the series) which handles the hiding of options within an option set based on conditionals. There is a third reason, however. I must say that I was quite comfortable with such “inflexible” requirement: It made my job easier, and thus easier to document it in order to share it as part of the sales pipeline trilogy of articles.

There is a degree of mea culpa here. In the third post of the series, which covers workflow design, I asserted that the online workflow designer for Dynamics CRM doesn’t handle jumping back and forth through workflow stages, like the GOTO statement found in many programming languages. Although this statement is correct if we considering an orthodox view of what “GOTO” means from the mindset of a developer, it doesn’t mean that we couldn’t achieve similar results using the online workflow designer for Dynamics CRM. In this post I will be explaining how we can achieve such results using the online workflow designer. Read more >>

Dynamics CRM: Disabling the selection of contacts for opportunities all the way

I recently got a requirement for a Dynamics CRM implementation that all recorded sales should follow the B2B (business to business) and therefore, opportunities should only able to be related to accounts, and not contacts as well.

This is a common scenario which can be easily covered with some simple JScript in the opportunity form. However I found out that in some circumstances, an opportunity could still be created for a contact, thus violating the requirement and even worse, breaking some of the implemented processes and business logic. Here is how I fixed this issue.


Dynamics CRM: The importance of the Address entity

Earlier this year I wrote an article about considerations when customising address fields. I was happy with the reception the article got, as it sparked some interesting discussions not only with some of my clients, but also with fellow Dynamics CRM consultants.

Today I would like to expand further on that discussion and talk about an often neglected entity in Dynamics CRM: The Address entity and its importance in every single Dynamics CRM deployment out there (yes, including yours).


Dynamics CRM: Set Title Case for a text field using JScript; but only once

Today I had to work on a interesting JScript for Dynamics CRM. When creating a new Contact record, the text values within the fields for First Name, Middle Name and Last Name should have a Title Case enforced to them. For example, if a user types “JOhN” in the First Name field, the case should be automatically corrected to “John”.

To make things more interesting, here is the second part of the requirement: After a case correction has been performed in a field, it shouldn’t be performed again. So if the user now proceeds to type “JOHN” in the First Name field after the first case correction, the system should leave the case as it is.

Now, I am not saying that I agree with this requirement, but it is a requirement nonetheless. I make no secret that I am far from having the JScript knowledge I aspire for, so this was a good exercise for me and I hope the community can benefit from it.


Dynamics CRM: JScript vs workflow – Caveats

JScripts in Dynamics CRM are a powerful feature to enhance the user interface in Dynamics CRM. We can use JScripts to perform calculations and validate fields in forms in order to introduce a better user experience. However, JScripts are a client-side based, and only work with the desktop-based (main) forms. In other words, if the user is accessing Dynamics CRM through a mobile device displaying the mobile forms, or using a 3rd party client for a tablet device, the JScripts will not be loaded at all. Workflows on the other hand are server-based, and they will execute no matter which device and client is used to access Dynamics CRM.

This often raises the question of JScript versus workflows when customising Dynamics CRM, particularly when designing a sales pipeline workflow. In this posts I explain how to combine the usage of both JScript and workflows in order to get the best of both worlds, and the most out of Dynamics CRM.


Dynamics CRM: Considerations when customising address fields

The perceived issue on customising address fields and how to store addresses in computer systems always fascinated me. Not because of any apparent complexity one might believe that exists when handling addresses, but mostly because of people’s undeserved anxiety around the subject. And in Dynamics CRM it is no different.

The issue tends to surround the myth that countries and regions with different subdivisions would require complex requirements for address handling. I came across a couple of clients who believe that they require such a complex solution that their Dynamics CRM deployments almost came onto a halt because of such hurdle. I the end, the solution relies not on complex customisation, but on standards compliance, a little bit of compromising, but most importantly: common sense.

Please note that while this post relates to address fields in Dynamics CRM perspective, the data management considerations presented here should be taken into account regardless of the applications. Read more >>

Dynamics CRM 2011: Diving into the sales pipeline – Part 3

In my previous post of this series we discussed how to apply our previously defined sales pipeline through the customisation of the Opportunity entity form. We went through the design of the Opportunity form, which included the addition of fields built-in fields which aren’t part of the default form, and we added some scripts for the calculation of our probability matrix.

Important Update: This article series has been written before the release of Dynamics CRM 2011 Update Rollup 12 (also known as Polaris). You might continue to read the articles in this series, but it is strongly recommended that you read this addendum before performing any customisations suggested in the series.

In this final post we will go through the creation of some workflows that will be part of our sales pipeline process.


Dynamics CRM 2011: Diving into the sales pipeline – Part 2

In my previous post of this series, we discussed some fundamental concepts of the sales pipeline and how Dynamics CRM handles the sales process. While considering the requirements of ACME (a fictitious company), we defined the stages of their sales pipeline, and started to outline the functional specification of the opportunity entity, including the elaboration of an opportunity probability matrix.

In this post we will discuss how to apply what have been defined so far by covering the customisation of the Opportunity entity form, including some scripting.