Monday, 22 June 2015

Duplicate Appointments in Outlook 2013

Recently I was working on a project where service appointment and recurring appointment in client's outlook 2013 client kept duplicating itself when the appointment is tracked / created in CRM. This is what resolved the issue for us:
 
Resolution:  

1: The presence of the HKEY_CLASSES_ROOT\TypeLib\{2DF8D04C-5BFA-101B-BDE5-00AA0044DE52} registry key.
 
Followed these steps:

1.       Exit Outlook.

2.       Click Start, click Run, type regedit, and then click OK.


3.       Locate the following registry subkey:

HKEY_CLASSES_ROOT\TypeLib\{2DF8D04C-5BFA-101B-BDE5-00AA0044DE52}

4.       Right-click on the registry key, and then select Export. Save the export to your desktop to create a backup.

5.       Right-click on the key again, and then select delete.

6.       Start Outlook.

 
2: Previous version of Office had left behind reference to an older OLB file.
 
Followed these steps:

1.       Exit Outlook.
 
2.       Click Start, click Run, type regedit, and then click OK.
 
3.       Locate the following registry subkey:
 
                                 4.       HKEY_CLASSES_ROOT\TypeLib\{00062FFF-0000-0000-C000-000000000046}
 
                              5.       Delete the version keys (e.g. 9.4  and 9.3) for any version of Outlook that is not installed on your system based on the version table provided below. For example, if you are not using Outlook 2013 then remove the "9.5" entry. If you are not using Outlook 2010 then remove the "9.4" entry. If you are not using Outlook 2007 then remove the "9.3" entry.

Outlook
Version
Outlook 2003
9.2
Outlook 2007
9.3
Outlook 2010
9.4
Outlook 2013
9.5
 
3:  Removed third party add-ins

o   Business Connectivity Services Add-ins

o   GigaTrust Desktop Client Outlook Add-ins

o   McAfee E-mail Scan Add-ins

4: Upgrade CRM client for outlook from Service Pack 1 to Service Pack 1-UR1 for CRM 2013

 
 
Note: Please backup the registry before making any changes. Also please make registry changes at your own risk.
 

Tuesday, 16 June 2015

Async maintenance job schedule

When we deploy CRM and are in a rush to go Live, we often forget to check for time the asynchronous maintenance job executes.
 
The Dynamics CRM platform's asynchronous jobs are automatically scheduled to run at a default frequency scheduled at the random start time when CRM organisation is created. By default CRM will create six maintenance jobs which are scheduled to run daily. These jobs are executed by the Microsoft Dynamics CRM Asynchronous Processing Service (maintenance).


◾Deletion Service

◾Indexing Management

◾Reindex All

◾Clean up Workflows

◾Create Audit Partition

◾Check For MUI Updates

This means that the maintenance job might execute at the peak system usage time. To avoid having performance issues it is suggested to schedule this job to run after hours.

You can use the tool available on codeplex to reschedule the jobs after hours.

Hope this helps.


 
 

Saturday, 16 May 2015

Alternate key for CRM 2015 spring release


Have you ever wished that CRM had a composite key to reference the entity data? Guess what your wishes are now granted With Spring release, CRM now makes keys available for all entities.
 
 
 
 
You can create a composite key/alternate key for multiple columns like Account Name + Account suburb or any such combinations. So the question in many people's mind would be how does this help?
 
With this, you can now define a non-clustered index in the database. This will allow quick searches as now non-clustered index can be created for alternate keys and that means table scans will not be necessary and the records can be fetched a lot faster.

This can also be used to identify data imported into CRM from external system. Please note alternate key is not GUID. It is new way to allow external systems store CRM reference.

Here is the code example which uses alternate keys

string accountNumber = "12345";
Money NewCreditLimit = new Money(5000000);
string newPrimaryContact = name1@company.com;

using (OrganizationServiceProxy service = GetOrgService())
{
    Entity account = new Entity() { LogicalName = "account",
                                    KeyAttributes = { { "new_subcode", "FABRIKAM" },
                                                      { "new_subacctcode", accountNumber } }
                                 };

    //update account
    account["creditlimit"] = NewCreditLimit;
    account["primarycontactid"] = new EntityReference("contact", "emailaddress1", newPrimaryContact)
    UpdateRequest request = new UpdateRequest();
    request.Target = account;
    UpdateResponse response = (UpdateResponse)service.Execute(request);
}

Further details on alternate keys available on following MSDN article:

https://msdn.microsoft.com/en-us/library/dn932139.aspx

Looking forward to more tightly integrated systems.
 

Thursday, 23 April 2015

Hide Charts Pane

It is possible to hide the charts pane from the view. To achieve this simply select Chart Pane from the view section of Dynamics CRM for relevant entity and select Off.


 Please note you will need system customizer / administrator rights to perform this change OOTB.

Wednesday, 15 April 2015

Track folder in Exchange

How many times you have thought I wish I could have a folder where if I drop an item in there, CRM tracks this item automatically?

Guess what, this is now possible with CRM 2015 Update 1. You can now setup a tracking folder which could be any folder in your inbox and then drag an incoming email message to that folder to automatically track it. You can associate the entire folder to a specific record if need be so if the folder is linked to a client, all emails in the folder will be linked and tracked in CRM against the same client record in CRM. Pretty handy!!!!

Please note this only works with Server Side Synchronisation.

Hope this helps.

Monday, 13 April 2015

Enhancement for Export to Excel with Dynamics CRM 2015 Update 1


Remember the days where custom export solutions were required when large data was required to be exported to Excel? Not any more!!!!!

With Dynamics CRM 2015 Update 1, Microsoft has redesigned the export to Excel. Following enhancements were included as part of this release:

1) Microsoft preserves the formatting of Excel so you can compute your data in Excel and reimport the data back in Dynamics CRM. This is a huge win!!!!

2) You can now export up to 100,000 records using Out of the Box features like export to Excel. No need to write custom code for this. Previous limit for this was 10,000. So lot of custom coding will be prevented hopefully. Please consider volume and number of users before performing this many times to avoid performance bottlenecks. Suggest sticking to after hours to perform this.

3) Users can now use Excel Online to do quick analysis right from Excel Online. This will help users hoping to get the quick analysis done.

 
Enjoy more Excel time with Dynamics CRM.

 

Friday, 27 March 2015

Theming with CRM 2015

How long you have wanted to have the branding in your CRM applications for your clients? With CRM 2015 you will now be able to use branding and change the colours for navigation. You can also give the colour to your entity which is quite cool.

There will be a new option in solutions area called Themes.

This allows you to select the existing sample CRM Default Theme which user should be able to copy and create a new one.



You can preview the theme to make sure you are happy with the final outcome and if you are, you can then publish the theme just like any other solution.

All themes are not solution aware. However users can export and import themes to different organisations just like solutions.

There are few things that is still not possible:
1) Changing the font
2) Changing the background colour
3) Changing the OOTB icons

Hope to see many colourful CRM implementations now.