Archive for 2010

Email Router Outgoing Email Delays


We have a client who uses workflows to guide their sales and marketing process very heavily and relies on certain emails being automatically sent as notifications from their CRM instance.

When we first set-up their solution we used the Outlook plug-in to send emails but as the minimum polling time for emails using the plug-in is 15 minutes this wasn’t going to work either. So, we set about using the Email Router. It was installed, setup and configured properly but for some reason there was this random delay in sending emails. Sometimes an email would be sent within a minute or 2 and other times it would take over 10 minutes. Sometimes a single email would be delivered and at other times 4 or 5 would come through at the same time?!!

We found out today what the problem was.

The issue lies firmly in the XML configuration file for the email router. The polling time for outgoing mail was set within the Microsoft.CRM.EmailAgent.xml was set to 1000 seconds. This polling was obviously based on the system time. So therefore, if the CRM Email Router polled the CRM at 10:00am and someone sent an email at 10:01 it not be delivered until 10:16ish, therefore the user would be aware of the delay. On the other hand if the user sent the email at 10:15, they would think that the emails were sending immediately “as they should be”. The solution was to change the polling time to 60 seconds (we didn’t want to push it!) and it worked a treat.

To make the change follow these steps:
  1. Go to your exchange server (the server where the email router is installed)
  2. Navigate to C:\Program Files\Microsoft CRM Email\Service
  3. Copy the Microsoft.CRM.EmailAgent.xml file to a safe location as a backup.
  4. Edit the Microsoft.CRM.EmailAgent.xml within Notepad (I prefer PSPad)
  5. Find the SchedulingPeriod element
  6. Change the value to 60 (it should be 1000 currently)
  7. Save the file.
  8. Open up the CRM Email Router and publish the changes
  9. Restart the Microsoft CRM Email Router service
  10. Your done!
Credit to Michael Cross for a great forum post

Monday, 25 October 2010
Posted by XRM Consultant

Cannot See Customization In Settings Area


Sorry its been a while…..

I have had this REALLY annoying issue on my desk machine for a while. Anytime I accessed our internal CRM system, even though I had the System Administrator  security role, I could see everything except for the Customizations navigation option. This was very frustrating as I would have to VPN into our CRM server to do any work.

However, after a quick search I found the answer today. It relates to the Site Map and having Outlook open when using CRM via the Web interface.

Apparently, if you have the Customizations navigation option configured to web only, when you run CRM using the outlook interface and the try using the web interface it wont display!!! Weird
Anyway, easy to fix…..
  1. First I would recommend that you delete your browsing history, stored passwords, cookies etc as this will clear any stored logon information that may be muddying the waters.
  2. Export your Site Map from your CRM instance. I know this goes without saying but ALWAYS store a backup of your Site Map in case everything goes pear-shaped!
  3. Find the following entry… 1
  4. Change Client=”Web” with Client=”All”
  5. Save the changes to the Site Map and import into CRM.
Credit to the following brilliant blog post by Peter Gernburd

Posted by XRM Consultant

Resize Form & Hide Left Navigation Area of CRM Form


As much as I like the look and feel of CRM when you are developing a true xRM solution for a client, as we all know, less can be more.

With this in mind, whilst developing a solution for a client recently, I wanted to hide the entire left-hand navigation menu to give my form a simpler feel to it. So when setting it up I used 2 handy little pieces of JavaScript.

The first resized the window, OnLoad, to the size I wanted for my form:


This gave me the following OnLoad:


As you can see though, most of the screen is taken up with the Left Navigation are, which for this form I didn't need.  So, i hid it using the following code: = "none";
document.all.tdAreas.colSpan = 2;

Which game me the following results….


As I said, nice simple JavaScript but I think it makes a huge difference to the appearance of the form and therefore (hopefully) how well the user interacts with it.



Monday, 6 September 2010
Posted by XRM Consultant

MS Dynamics Convergence Europe 2010


Very pleased to say I have just booked to go to Convergence 2010 Europe.

Got to be honest, never been before but very much looking forward to meeting different people within the Dynamics Community, exchanging ideas etc.

I have been searching for good Dynamics CRM events or even CRM events to keep my knowledge up to date without much joy at the moment. Please feel free to get in touch if you have any recommendations by email ( or twitter (@xrmconsultant)

Hope to see you there,


Friday, 3 September 2010
Posted by XRM Consultant

Set CRM Form To Full Screen


Quick but useful piece of JavaScript for you. Put this in the OnLoad event of any CRM form and it will maximise the window to fill your current screen size. Handy eh?!


window.resizeTo(screen.availWidth, screen.availHeight);



Wednesday, 1 September 2010
Posted by XRM Consultant

Outlook Sync Issues After Installing CRM Plugin


A customer contacted us today as they were getting a large number of Sync Issues in their outlook Sync Issues folder that relate to CRM. Puzzled and baffled we were…

After a bit of searching we found that this is a known issue that had been fixed as part of recent (10) update roll-ups.

The issue is caused when: (From Microsoft KB Article)

  • You share a calendar or a contacts folder in Microsoft Office Outlook with another user.
  • You and the user who you shared the calendar or the contact folder with are Microsoft Dynamics CRM 4.0 users.
  • Both of you have the CRM Outlook client online or offline.
  • The shared calendar or the shared contacts folder contains items that are tracked in Microsoft Dynamics CRM.
In this scenario, the person who is viewing the shared calendar or the shared contacts folder will receive Outlook sync messages in the Sync Issues folder for their mailbox. The sync issue resembles the following:

This item was not completely updated during the last server synchronization. Click here to review other versions.A

Additionally, the items may become untracked if the following conditions are true:

  • The person who you shared the calendar or the contacts folder with does not track items in Outlook to Microsoft Dynamics CRM.
  • The user has Write privileges to the shared data in Outlook.

CRM obviously struggles to resolved what it is viewing in outlook against the current active user profile within CRM.

Applying the update roll-up resolves this issue and stops your users Sync Issues box filling up. In addition it reduces the considerable performance overhead that this would cause

Hope this helps



Posted by XRM Consultant

Changing Entity Primary Attribute


One thing that always used to wind me right up was the fact that once you hit save to create an entity in MSDYNCRM, you could not change any details about the primary attribute.


However, after a bit of searching i found this blog on the Microsoft Dynamics Community site that was very helpful. 

Modifying properties of primary attribute is disabled when you try to do it from “Primary Attribute” tab. However you can change the properties if you opened the attribute from Attributes left navigation instead.

1. Go to Attributes and select “name” i.e. primary attribute of entity. As shown in below screen shot.

2. Open primary attribute i.e. name and change its Requirement Level to “No Constraint” then Save and Close.

3. The changes will also get reflected in Primary Attribute tab. Publish account and test the changes.

Brilliant eh?! Above you have seen how to change the requirement level but this obviously also applies to the display name of the entity. This is particularly handy if you are renaming entities.



xRM Consultant – Mobile Site!

Hi Guys,

I am very excited to release the xRM Consultant Mobile App for Iphone & Android!

To access this, open your web browser and go to on your mobile device. This will give you access to all the features including the following:

  • xRM Consultant Twitter Feed
  • Blog Posts
  • YouTube Videos
  • Polling Questions

In addition, if you add it to the Home Screen on the IPhone, it loads as an app with no Safari bars getting in the way (as shown below)

Have to give credit to this to the guys at Widget Box. Fantastic site that allows you to create a host of widgets for your blog.

I have added some screen shots of it on the iPhone below for your perusal.


IPhone Installation:

IMG_0244[1]              IMG_0245[1]           IMG_0246[1]

IMG_0247[1]              IMG_0248[1]           IMG_0249[1]      IMG_0250[1]

Tuesday, 31 August 2010
Posted by XRM Consultant

Changing A CRM Username


Came in this morning to find a client had submitted a support request asking for a users surname to be changed. A simple task……

Problem is that even though it is simple to change the name in Active Directory, CRM will not allow you to change the profile in CRM. This is because when you create a user profile in CRM it keeps a copy of the GUID of the Active Directory record in the CRM user profile. So when you try and assign the profile to the new username, CRM thinks you are assigning it to a different active directory profile and wont let you save this. Obviously, you can setup a new user in AD and CRM to get around this, but this is not practical as all historical actions assigned to the previous profile will not be moved across to the new profile

Microsoft have provided a workaround for this, which i have tried this morning and does work so i thought i would outline the steps below

  1. Modify the user account in Active Directory. For example, change the user name, and then change the logon name.
  2. Open Microsoft Dynamics CRM 4.0 as a System Administrator user.
  3. Click Settings, click Administration, click Users, and then open the user record that you want to change.
  4. In the Domain Logon Name box, type an Active Directory user account that is not used by a Microsoft Dynamics CRM 4.0 user record.
    Note If all the Active Directory user accounts are used by Microsoft Dynamics CRM 4.0 user records, create a temporary Active Directory user account.
  5. Click Save.
  6. In the Domain Logon Name box, type the Active Directory user account. Then, click Save and Close.
    Note The Active Directory user account that you type in this step is the account that is used by a Microsoft Dynamics CRM 4.0 user record. The Microsoft Dynamics CRM 4.0 user record is the record for which you want to change the user name and the logon name in Microsoft Dynamics CRM 4.0.

Hope this helps


Showing Queue Manager In Other CRM 4.0 Area’s


We had a client for whom we developed a very complex CRM solution. It would seem simple; Sales Process and Stock Management Process. Not so. Their internal processes made this a complicated system that required a lot of thought, particularly when it came to the layout (Site Map) as we wanted to create areas for each of the relevant areas within CRM, putting all their entities in one place for them.

The problem came when trying to show the Queue Manager in another area other than Workplace. Not a big fan of editing Site Map XML directly, so we had been using the Demonstration Tools Utility. This awesome little tool that has been around for years, allows you to do a host of things including editing the Site Map and publish it to CRM directly.

3 However, the problem came when trying to add the Queue Manager entity as it didn't appear in the list of entities.

There’s a simple reason why……its not an entity! We found that it was actually, what appears to be, an ASPX page that displays the information. So, with a bit of lateral thinking we realised we could simply add this to the Site Map by referring to the URL. We actually got the URL in the end by using the Outlook Plug-in. If you navigate to the Queue Manager Folder in outlook, right click and then click on properties it brings up the properties box for that folder.


Click on the Home Page tab and as if by magic you get the URL for the Queue Manager view!

 2                                     123123123

From here we simply put this link in as the destination URL for the Site Map item!

2Once you have published your Site Map changes to CRM, you will find your Queue Manager view no in the place you want. For our client this proved to be a great way keeping everything in a single area and making things simpler for the people “on the ground” .

As far as I can see, you can also use this method to find the URL of any non-entity CRM function.

Hope This Helps


Tuesday, 24 August 2010
Posted by XRM Consultant

Displaying Visio Diagrams In CRM 4.0

Hi All,

My friend and colleague at , , developed a fantastic method  for displaying Visio Diagrams in MS Dynamics CRM 4.0.

Within Chorus, we had a requirement to display Visio Diagrams of our clients networks to aid the support engineers in their work. We had played around with a few ideas, but eventually Rob came up with the method he talks about in his blog. This method retains the formatting and viewing tools that Visio gives you giving great flexibility.


Anyway, for a more details explanation, pop over to his blog and have a read.



Live Writer


In an effort to try and update this blog and the blog (.net) I started looking for a blogging client.

Unfortunately, I found a distinct lack of decent clients that had all the features that we were looking for. We needed a client that we could use to update more than one blog with a single post as well as incorporating our twitter accounts.

Low and behold, I found that I had one installed on my latop already! Windows Live Writer. This gave us all the features we needed and I would highlighy recommend it.

Over the next few weeks both myself and my friend and colleague () will be posting more and more Javascript snippets etc that hopefully you will find interesting.


Thursday, 19 August 2010
Posted by XRM Consultant

Return Of The xRM Consultant

Hey Guys,

I realise it has been an age since I have added anything to the xRM Consultant Blog so apologies.

Truth is, I have been on holiday and then on-site with a client for over 4 weeks rolling-out what has been a major project for us here at Chorus IT. The client had an almost completely paper based business process and had been using an outdated piece of software that was no longer fit for purpose.

This meant a big challenge; write a MS Dynamics CRM solution that was completely customised to fit the business processes of a client who's business processes were changing on a daily basis.

The truth is this is almost impossible! This project has highlighted for us the importance of an extensive scoping process. This involves more than just a few sessions with key staff members. Multiple sessions with key staff as well as consultations with other heavy users throughout the organisation are essential. Also, making sure that each of the key decision makers read, agree with and sign-off the functional scoping document means that when the business process moves, your solution only alters if agreed.

Anyway, I will be blogging over the next few weeks about some of the challenges we have faced in delivering what has become a comprehensive Sales & Stock Management system. I will include as many of my scripts as possible to share the knowledge.

Looking forward to blogging to you guys again soon


Tuesday, 29 June 2010
Posted by XRM Consultant

Extract Text Value of Lookup Field And Place In Another Field...

Another nice quick bit of useful Javascipt...


I'm sure this can also be adapted to place the value in other fields too but its a start...
Monday, 8 March 2010
Posted by XRM Consultant

Fire OnChange Event In Another Field Using JavaScript

Nice quick one for everyone...

document.getElementById ('AttributeID').onchange ();

where AttributeID is the name of your attribute with the desired OnChange event!
Posted by XRM Consultant

CRM 5 & Windows Azure Video - Looking Good MS!

A fellow CRM Guru found this great video which shows windows azzure but also previews a lot of nice features in CRM 5.0 including things like Nested Grids, Visualizations and Dashboards. The new ribbon looks fantastic too!

It gets interesting from about 5 minutes in..

Click Here To Watch The Video


Monday, 11 January 2010
Posted by XRM Consultant

Dynamics CRM 4.0 - Reference Picklist Values With Values Over 200,000 in JavaScript


Recently a fellow CRM guru was having some trouble with hiding a tab based on a picklist value. Its a simple piece of code:

//Hide Or Show Display Options Tab
if (crmForm.all."nameofyourpicklistattribute".DataValue == 2)
//hide the second tab = "none";

else {
//show the second tab = "";

However, its wasn't working. The JavaScript was correct and the field references were also correct. 

The problem lies in that the value for the picklist item was 200,014! Now, why on earth was the picklist value so high? Especially when there was only about 20 items in the list?

It comes from a new feature added to CRM 4.0. The best explanation i have heard of the issue was given by Michael Höhne on another blog site:

"It's a new feature. CRM 3.0 did not allow changing the integer value which
caused a lot of unwanted trouble. Say you added a new picklist to the
account and contact and also added a field mapping. You continue to add new
values and remove some options. At some time you notice that the picklist
values are out of sync. Having the option to overwrite the integer values
ensures that you can fix this issue. However, it does not change existing
values in the database, so it should be used carefully.

Michael Höhne, Microsoft Dynamics CRM MVP"

The problem this created was that for some reason JavaScript was not recognizing the value when executing the script. It would run, without bringing up an error but just wouldn't do anything! Personally, i believe this is because the comma (200,014) throws it off. 

So, taking a different approach, we referenced the text value of the option we were looking for and it works perfectly. So the JavaScript is now:

//Hide Or Show Display Options Tab
if (crmForm.all."nameofyourpicklistattribute".SelectedText == "text of your picklist item")
//hide the second tab = "none";

else {
//show the second tab = "";

Hope this helps a little. 



Posted by XRM Consultant

Search This Blog

Popular Post

About xRM

Having worked with Microsoft Dynamics CRM 4.0 in a sales & development environment, my focus now is on customising this awesome solution and showing its true potential.
Powered by Blogger.

- Copyright © xRM Consultant -Metrominimalist- Powered by Blogger - Designed by Johanes Djogan -