Experiences on CRM, .Net and DHTML


  • Join Us on Facebook!
  • Follow Us on Twitter!
  • LinkedIn
  • Subcribe to Our RSS Feed

Releasing CrmXpress Theme Editor for Dynamics CRM 2016

I am very pleased to present new years' gift (although I am 10 days off of the mark ;)) from all of us at CrmXpress. As by the post's title you would have guessed, this is a theme editor for Dynamics CRM 2016.
The new theme editing features of Dynamics CRM 2016 is one of the well-received feature since 2015 update 1. Only challenge with the current editor is, you have to entre HEX values manually which can be problematic for non-technical users.

It is simple and straight forward to use. Still someone might find it useful so here is quick guide demonstrating how to use CrmXpress Theme Editor.

  1. Download the solution from here.
  2. Import the solution in your organization and publish it.
  3. Now, open the solution and you will see the screen below:

Figure 1 Configuration Page

  1. Click on Edit against the theme you want to edit and you will be presented with the editor.

Figure 2 Theme Editor

  1. Make desired changes and click on submit.

Figure 3 Theme Editor - Color Picker

Figure 4 Save the changes by clicking Submit

As theme editing in CRM is a new feature and we have external dependencies, this release is a Beta release. Please provide your valuable feedback/bugs/feature requests to help us improve and stabilize Theme Editor.

Update: CrmXpress Drag-n-Drop Upload Control for Dynamics CRM 2016/2015/2013

 have written a post detailing this control here so I am not going to write the whole story. I am bit surprised that Microsoft Dynamics CRM 2016 does not support drag-n-drop support yet. It allows you to upload templates for Word and Excel (maybe it is directly coming from OneDrive family). Anyways, here is a screenshot and a brief tutorial on how to use this control.

  1. Download the suitable solution from here.
  2. Import the solution in your organization and publish it.
  3. This control provides adding files via drag-n-drop to Email and Notes so you have to add (AttachmentsUpload.htm or NotesUpload.htm respectively) as a web resource.
    For example, in the screenshot below, you can see NotesUpload,htm has been added as a web resource for Contact entity form.

Figure 1 Add a WebResource on Form Designer

  1. Set Properties as shown below. Please note you must un-check Restrict cross-frame scripting, where supported and check Pass record object-type code and unique identifier as parameters.

Figure 2 Set Properties

  1. You can format the control as per your requirements. For recommended format options, see the screenshot below

Figure 3 Set Format

  1. Save the form and Publish Changes.
  2. When you are creating a record you will see appropriate message is displayed.

Figure 4 Create Record

  1. Once the record is saved, you can start using Drag-n-Drop to upload files.

Figure 5 Saved Record


Happy Holidays J

Microsoft Dynamics CRM migration from On-Premises to Online

Microsoft is adhering to the cloud first strategy for Dynamics CRM. There has been an increased time gap to when the CRM On-Premises customers receive the new features (or even bug fixes) as compared to the CRM Online customers. There are also features like Office 365 integration, Social apps etc., which are better suited for CRM Online users. This has triggered an interest among the CRM On-Premises customers to migrate to CRM Online. There could also be a number of other reasons like reduced infrastructure cost, maintenance etc. Moving to CRM Online isn’t just a database restore as Microsoft will not support that. Instead, the Solution files must be imported and the data has to be migrated. Here are a few things to plan for

  1. License: Licensing is different for CRM Online and On-Premise. A Microsoft partner can help you get the required licenses. Ideally, licenses (cost) should also be a factor in making the migration decision.
  2. Customizations: Import any managed solutions that you may have into CRM Online. Then import the unmanaged solution from the On-Premise version.
  3. Data Migration: Depending on the amount of data and the complexity of the data structure, you can choose from Import wizard, SSIS based migration (Kingswaysoft), or use third party tools is Scribe/ Synchronicity Echo. This step is the complex one of all. In that, fields like system fields ( like ModifiedOn, ModifiedBy, ActualClose, ActualStart etc.), have to be taken care of, record status (especially activities) might have to be set, multiple currencies and exchange rates have to be managed, plugins/workflows might have to be disabled during the data migration.

It is also worth noting that, if you are upgrading in addition to migration ( moving from an older version of CRM On-Premises to CRM Online), then an analysis of whether the features in new version can alleviate the existing customizations will be beneficial. This is also a good time to check on what exactly is being used/unused in the CRM implementation.

If for some reason, you decide to go back to CRM On-Premises, all you need is to request the support team for a database backup and restore it on the On-Premises instance. Here is a document that details the steps needed for migration. Keep in mind that you might not be seeing some of the features that were available on CRM Online but not yet released in the On-Premises version.


Lead and Opportunity management in AX 2012

A lead is someone who may be interested in doing business with you and is sometimes referred to as a Suspect. Leads in AX 2012 are part of the Sales and Marketing module. An abstract on the Lead management in AX 2012 and the details of the Form elements are on Microsoft TechNet. In this blog I shall discuss the functionality available in AX 2012 R3 CU9 in detail. 

Lead Creation

Below are the different ways to create leads in AX. We will only discuss the options provided OOB (Out Of the Box) in the AX rich client.

  1. Manual: The step-by-step instructions are provided in technet.
  2. Import: There is an option to import Leads in Sales and Marketing –> Periodic –> Import –> Leads. However, I haven’t been able to get it to work due to the lack of formats. Haven’t been able to get help from Microsoft too. So, if you know how to get this to work, let me know! Another way to import leads is using DIXF (Data Import eXport Framework.. it works! Smile ).
  3. Generate Leads from Campaign: A Campaign Response can be converted to a Lead as shown below. The Campaign will be set as the Source on the Lead so the relationship detail is available for Campaign performance analysis.


Qualify Process

Qualify Process is essentially the series of steps/activities that the sales rep has to follow to help nurture the lead. There is no default process that comes OOB. However, it can be configured easily using a Click-to-configure utility available in Sales and Marketing –> Setup –> Leads –> Qualify Process.

Once the required actions are performed on the lead according to the qualify process, then the lead can be qualified or disqualified, if it doesn’t meet the required criteria. Here is how to qualify/disqualify a lead. Once qualified / disqualified, the status of the lead is updated. However, the record is not deactivated.

A setting in Sales and Marketing parameters helps configure if an opportunity or customer has to be created on lead qualification.


Background Process
  1. When a Lead is created for a new Party (When you type in a new Name instead of selecting from the dropdown) then AX auto creates Prospect and Party records.
  2. When an existing Party record is used to create the Lead then a new Prospect is not created until the Lead is qualified. Note that Prospect is an individual/organization with potential business.
  3. When an existing Customer is used to create Lead then Prospect is not created. Ideally, for an existing Customer, an Opportunity has to be created instead of a Lead.
What are Party and Prospect?

A party is a person or organization that is either internal or external to your organization. Some examples are Worker, Customer, Vendor etc. Party records are maintained in the global address book (GAB) and can be created in the following ways:

  • Create a party record when you do not know the entity type – When you create a party record and you do not know the entity type, for example you do not know if the entity is a customer or an opportunity, you create the record in the GAB. You can select the entity type later.

  • Create a party record when you know the entity type – If you know the entity type for the party, you can create a record in the applicable form for that type. For example, for a customer, you create a record in the Customer form. When you create and save a record by using the applicable form, the record is automatically created in the GAB.


Prospects are the organizations and individuals with whom you will potentially interact for business purposes. They are most likely to be external to your organization. Prospects records can be used to store details like sales demographics, delivery defaults, financial dimensions, credit & tax etc. All the details that the sales reps gather as part of the sales process have to be captured in the opportunity and prospect records

I would suggest not to create Party records from the GAB directly but to instead use a Prospect or Lead when you know that it is a potential sale.


Opportunity Creation

An opportunity is a lead who is now almost ready to buy —in other words, it's a deal that you're ready to win and have details like budget, timeline, requirement etc. Summary of Opportunity management and the form level details are on Microsoft TechNet. Opportunity can be auto created when a lead is qualified or can be created manually. Step-by-step procedure to create opportunity is also detailed on TechNet.  When an Opportunity is created for a new Party then AX auto creates Prospect and Party records. Oddly, the owner of the Opportunity/Lead is not set by default and is commonly desired to be the current user. So, remember to customize it as part of the initial setup.

There is no pre-defined sales process that comes with AX installation. It could be because the process varies by industry. Configuring a sales process is easy and can be done using a click-to-configure utility available in Sales and Marketing Setup.
Sales Process

There is no pre-defined sales process that comes with AX installation. It could be because the process varies by industry. Configuring a sales process is easy and can be done using a click-to-configure utility available in Sales and Marketing –> Setup –> Opportunities –> Sales Process.

By default, the product of interest cannot be associated with an opportunity. Customization is required to relate a product family/category with an opportunity. There are a few settings that can help create an opportunity or update its status based on the quotation. When you create a quotation from the opportunity, you would be able to associate the product, price list etc.,


Once an opportunity is Won (status is changed to won), the opportunity details are made inactive and are not editable. However, when an opportunity is lost, the record is still editable and can also be reactivated.


Hope this helps!