Posts Tagged ‘MSCRM General’

MSCRM and MapPoint Integration – A picture is worth a thousand words.

Microsoft Provides MapPoint Web Service to enrich application with mapping functionality. It allows you to integrate maps, driving directions, order tracking and proximity searches into a wide range of solutions.

For those of you who want to start using MapPoint for test and development purposes you can sign up for a free developer account here:


With a developer account, you get full access to the MapPoint Web Service APIs and staging environment, which you can use to build applications for trial, demonstration, and proof-of-concept purposes.



Microsoft Dynamics CRM Account entity already has longitude and latitude parameters for address. But mostly organizations don’t use those parameters. MapPoint web service provides FindAddress service to resolve addresses and returns longitude and latitude parameter as shown in the code snippet below. 

Find Address Longitude and Latitude FindServiceSoap FindService = new FindServiceSoap ();
FindService.Credentials = new NetworkCredential(“”, “”);
FindService.PreAuthenticate = true;
MyAddress mAddress = new MyAddress();

mAddress = (MyAddress)addresses[i];

FindAddressSpecification spec = new FindAddressSpecification();
spec.InputAddress = new Address();
spec.InputAddress.AddressLine = mAddress.Line1;
spec.InputAddress.CountryRegion = mAddress.Country;
spec.InputAddress.Subdivision = mAddress.StateProvince;
spec.InputAddress.PrimaryCity = mAddress.City;
spec.InputAddress.PostalCode = mAddress.Postalcode;
spec.DataSourceName = “MapPoint.NA”;
FindResults results = FindService.FindAddress(spec);

Populating Location and Pushpin Array 

Location and pushpins objects require longitude and latitude values for address. Following code is used to populate Location and Pushpin objects of MapPoint API. 

Location[] myLocation = new Location[addresses.Count];
myLocation[i] = new Location();
myLocation[i].LatLong = new LatLong();
myLocation[i].LatLong = results.Results[0].FoundLocation.LatLong;
Pushpin[] pushpins = new Pushpin [addresses.Count]; pushpins[i] = new Pushpin();
pushpins[i].PinID = “pin0”;
pushpins[i].IconName = “0”;
pushpins[i].Label = mAddress.Name;
pushpins[i].IconDataSource = “MapPoint.Icons”;
pushpins[i].LatLong = results.Results[0].FoundLocation.LatLong;
There is no simple way to provide hyperlink at Pushpins, although Pushpin label and icon can be set to custom settings. Getting image and automatic zoom based on the geography covered by the addresses

MapPoint Web Service provides Render Service API to automatic zoom based on the geography covered by addresses. Here is the code snippet to do this:

//Call MapPoint Render Web Service RenderServiceSoap RenderService = new RenderServiceSoap();
RenderService.Credentials = new NetworkCredential(“”, “”);
MapViewRepresentations mvRep = RenderService.GetBestMapView(myLocation,”MapPoint.NA”);
mviews[0] = new ViewByBoundingRectangle();
mviews[0] = mvRep.ByBoundingRectangle;
MapSpecification mspec = new MapSpecification();
mspec.Options = moptions;
mspec.Views = mviews;
mspec.Pushpins = pushpins;
mspec.DataSourceName = “MapPoint.NA”;

MapImage[] image = RenderService.GetMap(mspec);

So the final image can be displayed in some ASP.NET page to show in Microsoft Dynamics CRM. Please find below my integration of MapPoint web service with MSCRM. One can select Accounts to be plotted on MapPoint and click Show Accounts Map Button at Account Entity grid toolbar.  All selected accounts will be plotted on the MapPoint in a new web dialog with Invalid addresses at the bottom.  

Step 1 

 Here is the final Image generated in Web Dialog:
Step 2 For any comments or suggestion do let me know. Your suggestions and comments are valuable for me. Thanks!

Setting Default View for Account Activities???

 I have been searching a lot in Newsgroups and forums to find this issue. Issue is “How can I set the default view when I open certain Account Activities”. The default view set is “Next 30 Days” as given in the picture below. I want to set this to “All Activities”. I am looking for any supported and unsupported way of doing this task. I have been told my some MSCRM experts that it is a common issue and I will not be able to set this as this is all set by managed code.Setting Default View for Account Activities???

Anyone doing some tricky JavaScript. Some unsupported way of doing this, please comment. Thanks!

Categories: MSCRM General Tags:

MSCRM – External Connector License

Integrating your CRM system with external world is a tricky business.  For example if you need to gather customer information from your website and populate in your CRM system as leads you need an external connector license. This License is required to view, manipulate and query data by non-CRM user. 

If you want to share Microsoft CRM data with external users such as your customers or partners, you can purchase an External Connector License that allows you to share Microsoft CRM data with an unlimited number of third-party users and systems.  

By using the External Connector License, you do not need to purchase a user license (create an Active Directory Account) for each external user. For example, you can create and external Web Site that lets customer log on and retrieve Microsoft CRM data real time. You could also create a special Web site for your partners to enter and update Microsoft CRM data. You need and External Connector license for every server required to support external access.

For more information, please look into this post:

Are you ready for daylight saving time changes?

This year, daylight savings time in the U.S. and Canada will start earlier (March 11, 2007) and end later than years past.  

You may face following problems in your MSCRM Server:

  • When you view appointments or tasks in the Microsoft Dynamics CRM Web client or in the Microsoft Dynamics CRM client for Microsoft Office Outlook, the appointments and the tasks may be scheduled one hour ahead of or one hour behind the actual scheduled time.
  •  Some activities and some resources in the service calendar in Microsoft Dynamics CRM may be may be scheduled one hour ahead of or one hour behind the actual scheduled time.
  • You may experience an issue when you schedule resources by using the service calendar. For example, a resource that is listed in the calendar may be scheduled one hour ahead of or one hour behind the actual scheduled time.

For complete steps to successful implementation of DST changes at Microsoft Dynamics CRM 3.0, please look into details at: 

Followings are the Product listing affected by DST changes: 

Product Family No Update Needed Update Available
Windows Server   Windows Server 2003 SP1
Windows Server 2003
Windows 2000 Advanced Server Service Pack 4
Windows Embedded for Point of Service
Windows Fundamentals for Legacy PCs
Windows Client Windows
Windows XP Home SP2
Windows XP Professional SP2
Exchange Server Exchange Server 2007 Exchange Server 2003 Service Pack 2
Exchange Server 2003 Service Pack 1
Exchange Server 2003 Lotus Notes Connector
Exchange Server 2000
Exchange Conferencing Server 2000
Outlook   Outlook 2007
Outlook 2003
Outlook 2002 (Outlook XP)
Outlook 2000
Windows SharePoint Services Windows SharePoint Services 3.0 Windows SharePoint Services 2.0
SQL Server Notification Services   SQL Server 2005 Notification Services
SQL Server 2000 Notification Services
Office Live Meeting   Office Live Meeting
Dynamics CRM   Dynamics CRM 3.0 (as of March 2007)
Visual SourceSafe   Visual SourceSafe 2005 and 6.0d
Windows CE   Windows CE-based devices
Entourage   Entourage

For in detail solution to your product please look into this MSDN support center:

Enabling Development Errors – Tip for Developers

By default, Microsoft CRM shows a friendly error message whenever an error/exception occurs. Usually this error does not contain any error log or stack trace. But, developer can enable error details by modifying configuration file typically located at C:\Inetpub\wwwroot\. Here are the steps to enable the development errors in MSCRM.

1.      On the Microsoft CRM Web server, navigate to <web installation path>\ (typically C:\Inetpub\wwwroot\).

2.      Open the Web.config file.

3.      Look for the DevErrors key, and change its value to On.

4.      Save the Web.config file.