View Personal Views created by other users in Microsoft Dynamics CRM

Frequently in our project, we receive issues from our users complaining that they have created a personal view for their chart. However the chart is not showing any data. The only option we have left then is a screen sharing session with the user to check the filters of his/ her personal views or to go into database and check the fetchxml of the personal view and identity the filters. This is because in MSCRM, even if you are an administrator, you cannot view other person’s personal views.

Off-course these are not great options and what if you are operating in an Office 365 environment. No option other than screen sharing right?

So ever wished if you could see other’s personal views in CRM? If so you now have a tool to do this. This tool will allow you to share other user’s personal views with yourself as well as with other users of CRM just the way you share your personal views in CRM with other users.

And as usual like my all other tools its free and deployed in codeplex.

For details regarding the security privileges to run the tool and how to use the tool, navigate to the codeplex link below.



Hope this helps!

User Missing prvReadComplexControl privilege Error in Microsoft Dynamics CRM

Recently in our project we faced this error. Users of our system were getting this whenever they were trying to create/ update a contact.

The error seems to talk about some complex control in CRM to which the user does not have read privilege. Perplexed that you never heard of any ComplexControl entity in CRM? Don’t worry me too was.

However a little bit of search in SDK regarding this privilege and this is what I got from the SDK.

ComplexControl entity is for internal use only. However, users need read access to this entity in order to see the updated experience for lead and opportunity forms.

Still can’t find the complexcontrol entity? No worries. Open the security roles of the user who is getting this error.

Go to Customizations tab and search for the Process Configuration entity and assign the privileges for the security role. Check the below screenshot.




The SDK also clearly states out that this privilege is for Process Configuration entity.



Hope this helps!

Understanding currency field in Microsoft Dynamics CRM

The currency field of CRM is something that we use in almost every project. However I find that there is always some confusion related to this currency field because of the way CRM handles it.

Let us see exactly what happens when you create a currency field in CRM.

I have a custom entity called “Test Entity 2”. I have just created this entity and till now I haven’t created any custom field of the entity. If you check the screenshot below, you would find that as of now the entity has 19 fields.


Now I create a new  currency field called “Currency field 1”. As soon as I create this, the system creates two additional fields one to hold the base currency value and the other to hold the currency value that we are using for our application. This is perhaps we all know. Look for the screenshot below. the name of the fields are “crmtr_currencyfield1” and “crmtr_currencyfield1_base”


Great!. So far so good. But look carefully at the bottom of the screenshot. From 19 field suddenly the count has increased to 23 fields. Oops. Are we missing something then?

Ok lets look carefully.

When we create a currency field for the first time, then additional two fields also gets created. One is “exchangerate” which is of type “Decimal”. And the other is transactioncurrencyid lookup field. Check for the screenshot below. Please note that these two additional fields are created only for the first time when a currency field in created for the entity. If we add another field, then from the next time onwards only two fields are created.


Now let’s see what these fields are storing. I create a record for Test Entity 2 with Currency Field 1 value of $20. Note my base currency and application currency are same.


lets look at the database and check for the values in the fields that we are interested in.

Look at the screenshot below which gives the query and results


The TransactionCurrencyId refers to the currency that is used as the default currency for the application which is stored in the TransactionCurrencyBase Table.


Hope this helps!