Thursday, December 20, 2012

Add mapping for custom attribute of Order product to Invoice product

To map custom attributes of Opportunity Product to Quote Product, Quote product to Order Product and Order product to Invoice product CRM does not provide direct access to the “Mapping” page. To get the mapping page, you need to follow below steps.

Below are the steps to set the mapping of Order product and Invoice product:

1.  Replace the CRM server name in the below URL and browse the below URL in the Internet Explorer.

 Online CRM

On-premise CRM
http://crmserver/testorg/XRMServices/2011/OrganizationData.svc/EntityMapSet?$select=EntityMapId&$filter=SourceEntityName eq 'salesorderdetail' and TargetEntityName eq 'invoicedetail

2.  Then you will get the below result. Copy the Entity map id highlighted in red.

When you try to browse above URL, you might get the below page instead of above result in XML format.

Then you need to do below setting in the Internet Explorer.
Go to Internet Explorer à Tool à Internet options àContent à Setting (Feed and Web slices). Now uncheck the “Automatic mark feed as read when reading a feed” and “Turn on feed reading view”. Click on Ok. Then restart the Internet explorer and browse the above URL again.

3. Replace the mapping id with the entity map id you get from above URL in the below URL and then browse it.

4. You will get the below window where you can add new mappings,

Hope this helps!

Sunday, December 16, 2012

Display more than 2000 characters in SSRS report

We would like to share one of our experiences with SSRS reports. One of the reports we were building required displaying of notes that could hold more than 2000 characters.
 Including a text box worked fine for most of the records but we observed that the ones that had more than 2000 characters reported error. To show the entire content of the notes in SSRS reports you can try the following workaround:
Add a textbox with the following expression

 =IIF(Len(Fields!description.Value) >= 2000,Left(Fields!description.Value,2000) ,Left(Fields!description.Value,2000))
This will show the first 2000 characters.
For the next 2000 add a blank row and include a textbox with the following expression
=IIF(Len(Fields!description.Value) >= 2000, cstr(Fields!description.Value).Substring(2000), "")
If the content included is less than 2000 characters in the first place itself, then to hide the blank row add the following expression to the visible property
=IIF(Len(ReportItems!txtDescription.Value) >= 2000,false,true)
Note ReportItems!txtDescription refers to the same textbox that we are hiding
This way we were able to increase the display limit to 4000 characters to increase it further add another text by using the same logic as above.

Hope this helps!


Friday, December 14, 2012

Developer Toolkit: "No Organization has been specified" error.

You may come across the following error when you try to open a project that was created using Developer toolkit

To resolve this problem you need to delete *.SUO(VS Solution User Option) file from Visual Studio Project folder.
(These file records all of the options that you might associate with your solution so that each time you open it, it includes customizations that you have made)
This .SUO file is hidden in the project folder next to solution file which you can see in below screenshot.
Simply delete the above selected red rectangle file(.SUO) and run solution file.
 Now it will prompt for Connect CRM Explorer.

Note: SUO (solution user options) are user settings files. Completely disposable, you can delete it and the most common thing you will lose are breakpoints.

Tuesday, December 11, 2012

Import attachments using OOB Import Wizard in Dynamics CRM 2011

As we all know that the there is no separate entity for the attachments in Dynamics CRM 2011. We can add the attachments into the Note (annotation) entity.
But in order to import Notes and attachments in the CRM 2011, it is essential that you must have the separate files for them.

For importing Notes with the attachments by the import wizard you need to Arrange all of your files and attachments into a zip folder as shown into the below screenshot.

Where the “Notes.csv” contains the data of the Notes as shown into the below screenshot.

And “Attachments” folder above contains all the attachment documents. The files contained in the Attachments folder are as shown below.

After that please zip both the Attachments folder and Notes.csv into a single folder, and then import with the following mappings.

After completing the import it will display the data as follows under the corresponding regarding records.

Important points to note:
  • Only map that column of the source file to the Document (documentbody) field of the Note record type which includes information about attachments. The mapped value in the source column to the document is the file name that is used to search a file in the Attachments folder in the .zip file.

  • Each note record can have one attached file. You cannot import attachments to e-mail messages, sales literature items, or to any record type that does not support notes. The types of files that can be attached are determined in the Set blocked file extensions for attachments section of the System Settings dialog box.

  • If you import file attachments, each attachment has two names: a physical name (Document in our case)and a logical name (File Name in our case). The logical names might not be unique. The physical names must be unique.

  • During import, you must map the column with physical names to the "Document" field of the Note record type. You must map the column with logical names to the "FileName" field of the Note record type.

  • The value in source column that is mapped to the Document is the file name that is used to search a file in the Attachments folder in the .zip file.

  •  Each attachment must have a unique name to import. It is mandatory to include a column for the physical names in the source file. Also include a logical names column assigned to the file that is imported. You must map the column containing the logical file name to the File Name attribute in the Note (annotation) record type.

  • We recommend that you map the column that contains information about the parent record to the Regarding field of the Note record type. This column creates the relationship between the note and the parent record to which the note is attached.

  • In the .zip file, the folder containing attachments must be named Attachments.
Hope you find this information helpful.

Monday, November 26, 2012

Maplytics Release Announcement !!

The much loved Geo-analytical tool for Dynamics CRM 2011 which uses Bing Maps API now has an update available that will make Maplytics a must have tool for Dynamics CRM

We have added the following new features in Maplytics 5.4 version,
    1.      Support for all entities defined in Dynamics CRM. Configurable entity maps
    2.      Ability to map the address fields to be used for Geo-coding
    3.      Color coding of pushpins based on configurable categorizations
    4.      Heat Maps added
    5.      Configurable tool-tips
    6.      Dashboards. You can now include Maplytics component as a Dashboard web resource
    7.      Dashboard   queries is configurable
    8.      Overlay of nearby locations like airports, restaurants etc. along with the Dynamics CRM search results
    9.      Ability to save the geographic search results as static views in Dynamics CRM for later use
    10.      Ability to export search results to external file
    11.      Ability to save the geographic search results as static views in Dynamics CRM for later use

For more details have a look at the White Paper

Maplytics supports all CRM Deployment models namely On-Premise, On-Line, Office 365 and Partner-Hosted.

It is supplied as a managed solution that is easy to install and un-install without affecting your existing customization.

We already have a 15 day fully functional trial available of our product. We are now also making available for a limited period only, a Community Light version of the product. This product is free to use for the next 6 months for up to 5 users after which you can order the product from us and upgrade to the unlimited full license of the product.

You can download the light version from This is valid until 26th December 2012.

The light version has the following limitations.
    1.            Available for use with only account, contact and opportunity entities
    2.            Mapping capabilities restricted to plotting of 50 addresses at a time on the map
    3.            Only 5 dashboards can be configured
    4.            Only 5 way-points can be defined for routing

After downloading contact us with your CRM install details to avail the 6 month free license.

Contact us for the 15 day full trial of the product.

Note: Bing Maps API is chargeable and you need to purchase Bing Maps subscription from Microsoft. We have entered a contract with Microsoft Bing Maps partner to make this license available to you for use with Maplytics at a reasonable price.

Here is a complete list of features included in Maplytics:
    1.       Plot any entity record on the map
    2.       Street View for any address
    3.       Color coding of pushpins based on configurable categorizations
    4.       Routing using multiple way-points
    5.       Geo-spatial analysis of Opportunity and Sales data for summary analysis
    6.       Uses Dynamics CRM views that can be easily created using the Advanced Find feature of Dynamics CRM. No learning curve required
    7.       Print the Map and Driving directions
    8.       Configurable Entity maps and Dashboards to support any Dynamics CRM entity
    9.       Dashboards. You can now include Maplytics component as a Dashboard web resource
    10.       Dashboard queries is configurable
    11.       Overlay of nearby locations like airports, restaurants etc. along with the Dynamics CRM search results
    12.       Ability to save the geographic search results as static views in Dynamics CRM for later use
    13.       Ability to export search results to external file
    14.       Ability to save the geographic search results as static views in Dynamics CRM for later use

Go ahead and request the trials and pour in your valuable feedback!

Thursday, October 25, 2012

Report not running on more than 25 records

We created  a SSRS on-premise report using CRMFiltered parameter and the report was working fine except for the case when we ran this report on more than 25 records. In that case the report was crashing. When we used Diagnostic Tool then we found the below error.

The error was that it was concatenating the GUID’s instead of separating each other.


We found that the CRM FilteredAccount parameter only returns 25 records, not more than that. Hence, to fix this we used CRMAF_filteredAccount parameter and then the report was working fine.


Hope this trick helps!!!


Monday, October 22, 2012

Filter issue with Excelsheet exported from Report

As we all know, we can export the CRM report in various formats and one of them is “Excel sheet”. After exporting the report in the excel sheet, there are chances that you may not be able to see the filter on certain columns. You will also notice that two columns get merged in single column and have empty columns. Hence there are two issues, one with column filter and other with the merged columns, as you can see in the below :

The actual problem is with the report column and not with the excel sheet. The problem in report is the column width. If a column has width more than 1in then it adds a column extra in it.

Now you just need to set the column width to 1in which is default width of a column, which will solve these problems and there will be no extra column or filter issue.
Hope this help while designing the report which can be exported to the excel sheet.

Friday, October 12, 2012

Update Rollup 11 now available!

Update Rollup 11 for Dynamics CRM 2011 is now available for download from

This update includes compatibility with Windows 8 and IE10 besides other fixes. A complete list of this can be found at

In addition to this, a few days back new bits for UR10 were made available. These included fix for issues reported from the original version of UR10. This can be found at

Wednesday, October 3, 2012

How to Dynamics CRM

New to Dynamics CRM or already using Dynamics CRM? But do you do CRM the way it should be? Learn to CRM from the experts. 

Roughly around 20 CRM MVP's (I was not one of them) have got together and come out with a collaborative offering called CRMFieldGuide.

To say the least.. Its simple and powerful. CRM is simple and the book will let your CRM be effective by letting you keep it simple.

The book touches upon all offerings/tools related to Dynamics CRM. It is not restricted to explaining the functional concepts of Sales/Marketing and Service. It goes way beyond and includes the entire process right from Installing and Configuring CRM to the Best Practices for customizations and Server Maintenance. It has a total of 25 chapters to touch upon the various topics some of which we generally need to search on the web to find information on like

  • Sharepoint Integration
  • Dynamics Connector
  • Best practices for upgrade from CRM 4 to 2011
  • Understand Solutions to make it work better for you
  • Data Import

Who better than the experts to share with you their collective knowledge in one CRMFieldGuide.

Its a must have for anyone who needs to CRM the right way!

This book was released on October 1st 2012. Grab a copy right now from

Thursday, September 20, 2012

How to convert silverlight 4 application to silverlight 5

When we open Silverlight 4 application in Silverlight 5 we get following errors

1) error  : Unable to read the project file 'Silverlight4App.csproj'.

2) Silverlight4App.csproj(137,3): The imported project "C:\Program Files\MSBuild\Microsoft\Silverlight\v4.0\Microsoft.Silverlight.CSharp.targets" was not found. Confirm that the path in the declaration is correct, and that the file exists on disk.

This error occurs as the application was earlier built using Silverlight-4 Reference. So while opening this in Silverlight-5, the Visual studio looks for the Silverlight 5 reference files but it cannot find it.

To resolve this error you will have to follow following steps:

1) Open the project in Visual studio.

2) Go to solution explorer

3) Right click on the project that is not loaded and click on edit the CSPROJ file

4) And then change the Target Frame Work version to 5.0

5) Save and close this file and again right click on the project which is not loaded and click on Reload project.

6) Now the project will be reloaded successfully.

By following above steps your Silverlight 4 application will be converted to Silverlight 5 application.

If in case you again want to go back to Silverlight 4 then just repeat the above steps and set the Target Framework version to “v4.0”.

Hope this helps!!

Friday, September 14, 2012

Cross domain access from Silverlight

Silverlight control hosted at http://myserver/mypage.aspx can access only services on that same domain by default – for example http://myserver/service.svc, but not a service at http://otherserver/service.svc. This prevents a malicious Silverlight control hosted on the http://myserver domain from calling unauthorized operations on a service hosted on the http://otherserver domain.

To enable a Silverlight control to access a service in another domain, the service must explicitly opt-in to allow cross-domain access. By opting-in, a service states that the operations it exposes can safely be invoked by a Silverlight control, without potentially damaging consequences to the data that the service stores.

To allow cross domain access place clientaccesspolicy.xml and crossdomain.xml file at the root of the domain where the service is hosted. In the above example the file will be placed at the http://otherserver.
Create a clientaccesspolicy.xml file to allow the access from any other domain to service of the current domain.
<?xml version="1.0" encoding="utf-8"?>
      <allow-from http-request-headers="SOAPAction">
        <domain uri="*"/>
        <resource path="/" include-subpaths="true"/>
There are three types of wildcards allowed:
1.      <domain uri=”*”/>:This option is used to allow access to all domains of the same scheme. An HTTP service will allow all HTTP callers. An HTTPS service will allow all HTTPS callers.
2.      <domain uri=”http://*”/> or <domain uri=”https://*”/>:The first option is used to allow access to HTTP service from HTTP callers and HTTPS service from HTTP callers. The second option is used to allow access to HTTP service from HTTPS callers and HTTPS service from HTTPS callers.
3.       <domain uri=”http://*”/>(subdomain):This option uses a wildcard at the first segment of the path ("http://*", for example) that allows all subdomains of the domain specified. So for the example. would be allowed. Note that a uri path where the wildcard does not occur as a prefix (http://web.*.com, for example) is disallowed.
To prevent malicious attacks, you should never provide one client access policy file for both HTTP and HTTPS services on your domain that enable calls from both HTTP and HTTPS clients.
To allow access to specific domain, you need specify the particular uri e.g. <domain uri=””/>. So http://myserver/service.svc service will be accessible from only (other domain).

You can implicitly deny access for all domains not listed in a <domain> element tag in a Silverlight policy file.

Create a crossdomain.xml file that contains the following configuration. The file must be configured to allow access to the service from any other domain, or it is not recognized by Silverlight 4.

<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM "">
  <allow-http-request-headers-from domain="*" headers="SOAPAction,Content-Type"/>

Monday, September 10, 2012

Phone Formating in SSRS report

Many a times there had been requirements to format the CRM phone number in the SSRS report in following format.

We tried to achieve this by creating 12 text boxes and in each textbox we applied the below logic in the expression.

= IIF(Fields!telephone1.Value.toString().Length>=1, GetChar(Fields!telephone1.Value.toString(),1), “”)

It works successfully when the length of phone number is equal to 10. But it fails when the length of phone number is less than 10 and you will get an error while running this report.

To resolve this issue we found a work around for this.

First you need to format the data using the SQL query and PAD the spaces into the field. As given below.

LEFT(ISNULL(telephone1, '') + '          ', 10)

The above statement will format the telephone1 attribute. If the user enters errorneuos or junk data into the telephone1 field like “99”, then the above statement will return the value “99        ”, i.e. 99 + additional 8 spaces . And in the textboxes expressions you just need to write the following expressions without checking the IIF condition.

= GetChar(Fields!telephone1.Value.toString(),1)
= GetChar(Fields!telephone1.Value.toString(),2)
= GetChar(Fields!telephone1.Value.toString(),3)
= GetChar(Fields!telephone1.Value.toString(),4)

Hope this helps!

Monday, August 6, 2012

Tips to Install CCA for CRM 2011

The Customer Care Accelerator for Microsoft Dynamics CRM 2011 delivers contacts center functionality. The CCA for Microsoft Dynamics CRM will work with all deployment models for including on-premise and Microsoft Dynamics CRM Online.

You can follow below Steps to Install CCA:

1.       To install CCA you need to download the setup from Microsoft Marketplace. The installation package contains source code, binaries, customizations, and documentation.
2.       Unzip the downloaded file. It contains an Accelerator folder (CCA setup files) and a UII folder (the UII framework install files). You also get a couple deployment guides.

3.       From the UII folder run the executable file (32 bit or 64 bit). It is a simple installation process. While installing you will be asked to specify the organisation name where you intend install CCA. Please refer below screen. Specify the Organization Name and proceed with complete package install to use all features of CCA.

 4.       Now from the Accelerator folder run the 32 or 64 bit executable file. This will unzip few more files into the install folder. After this run, the “Microsoft UII” folder will contain all the source code and other files which are required to proceed with the further steps.
5.       In next step you need to import some solution files in CRM. Import the two solution files listed in below screen shot:
           a)      Import the solution “” from the location specified below:

b)      Import another solution “” from the location specified below.

  6)       After importing the above managed solution you need import below specified data files which you need to map with “UII Hosted Applications” entity as shown in below screen.
(Note: Please make sure that you have installed standard Sample Data in your CRM. Go to Settings -> Data Management -> Sample Data and install sample data into your system)


 While Importing these files you need to fix the 2 field mapping errors before you process the files which are listed below:

 Map the Above fields to their associated field and proceed with import.
7)      Next Step is to generate “RIConfigLoader” application. For this you need to follow the instructions from the UII Deployment Guide to Install UII Component.
8)      Open the “Microsoft.Crm.Accelerator.Cca.AgentDesktop.sln” solution file and build the solution.

To resolve this issue you need to download the “Microsoft.Practices.CompositeUI.Windows.dll”, add reference to the project and build the solution. This will generate the “RIConfigLoader“ application. Run the application shown in below screen shot.

9)      Once you run this, you will get the below screen to connect with CRM.

Provide the connection details required to connect to CRM. To get the CRM Service URL Go to Settings -> Customizations -> Developers Resources. Look for the Discovery Service URL. When the connection is successful you need to select CRM Organization and click on “Deploy” as shown in below screen.

10)      Go to the location where Agent Desktop’s “config” file is located and open it in Notepad. We only need to change the Organization Service URL and Authentication Mode in the “AgentDesktop.exe.config” file as shown in below screen shot.

11)      Run the Agent Desktop Application.

12)      You will get the pop up of CCA Agent Desktop screen as below.

13)      When you click the Case it will automatically navigate to the Customer i.e. Account page. You can also find the Task explorer where you can select workflow list from which you can initiate a CCA workflow as shown in below screen shot.

14)      When you select “Service Case By Phone” and follow the steps you will get the below screen to Dial a Number on the step of Call Customer.

15)      After this you can add your notes in the Text Box to update Notes in the Selected Case. Please see below screen shot.