CRM 2011 – free Javascript Mapping Add-on

A great tool added to codeplex this week, CRM 2011 Javascript mapping

http://crmmapping.codeplex.com/

It provides free and basic mapping using Microsoft Bing (of course).  What I really like about this project is it also has instructions on how to add this to the Ribbon and uses only javascript.

The person we all have to thank is Hadley Pettigrew and he has an excellent blog posts about this which you can read here

here is the screen shot from codeplex so you can get an idea what it looks like

Project Description
This project provides an easy to install mapping component for CRM 2011, it is made to be easily configured for any customisations and may be used for a good starting point for other projects.

It provides a basic bing maps integration with a configuration resource to help configure which fields reference the address or Latitude and Longitude. The configuration has a default setup that can be changed to suit your deployment.

Example Screenshots
Advanced Find Window

Results

CRM 2011 – Visual Studio Plugin Templates

Excellent blog post from someone who sounds like Pob but is actually Pogo69, he may have an unusual name but his blog is excellent.

he has published some Visual Studio templates for CRM 2011 and you can read about it here

Here are the links and installations instructions from his blog

The Templates

Custom Workflow Activity

http://www.mediafire.com/?5ai40s51qjqv24o

Plugin

http://www.mediafire.com/?ip9avvd5wnc87f0

How to Install

Simply copy the zip files (do not extract them – just copy the archives directly) into the folder:

<My Documents>\Visual Studio 2010\Templates\ProjectTemplates\Visual C#\CRM 2011\

I called my new folder ‘CRM 2011′ – you can call it what you wish.  The name you choose will appear as a new category when you create a new Visual Studio project:

CRM 2011 – Reports – removing lines if blank for address

I had a tricky problem of adding an address to a report.  The address had the usual

address 1

address 2

city

county

etc

The problem was a lot of the addresses didn’t have a value for address 2 and it was leaving a nasty look blank row on my report.  So I asked one of the reports gurus at work and he found this lovely if statement for my expression.  It checks to see if the value is blank, if the field has a value and then puts in a carriage return and then goes to the next line.

=

IIf(IsNothing(First(Fields!Address1_Name.Value, “DataSet5″) ),””,(First(Fields!Address1_Name.Value, “DataSet5”) ))&

IIf(IsNothing(First(Fields!Address1_Name.Value, “DataSet5″) ),””,ChrW(13)&ChrW(10) ) &

IIf(IsNothing(First(Fields!Address1_Line1.Value, “DataSet5″) ),””,(First(Fields!Address1_Line1.Value, “DataSet5”) ))&

IIf(IsNothing(First(Fields!Address1_Line1.Value, “DataSet5″) ),””,ChrW(13)&ChrW(10) ) &

IIf(IsNothing(First(Fields!Address1_Line2.Value, “DataSet5″) ),””,(First(Fields!Address1_Line2.Value, “DataSet5”) ))&

IIf(IsNothing(First(Fields!Address1_Line2.Value, “DataSet5″) ),””,ChrW(13)&ChrW(10) ) &

IIf(IsNothing(First(Fields!Address1_Line3.Value, “DataSet5″) ),””,(First(Fields!Address1_Line3.Value, “DataSet5”) ))&

IIf(IsNothing(First(Fields!Address1_Line3.Value, “DataSet5″) ),””,ChrW(13)&ChrW(10) ) &

IIf(IsNothing(First(Fields!Address1_City.Value, “DataSet5″) ),””,(First(Fields!Address1_City.Value, “DataSet5”) ))&

IIf(IsNothing(First(Fields!Address1_City.Value, “DataSet5″) ),””,ChrW(13)&ChrW(10) ) &

IIf(IsNothing(First(Fields!Address1_StateOrProvince.Value, “DataSet5″) ),””,(First(Fields!Address1_StateOrProvince.Value, “DataSet5”) ))&

IIf(IsNothing(First(Fields!Address1_StateOrProvince.Value, “DataSet5″) ),””,ChrW(13)&ChrW(10) ) &

IIf(IsNothing(First(Fields!Address1_PostalCode.Value, “DataSet5″) ),””,(First(Fields!Address1_PostalCode.Value, “DataSet5”) ))&

IIf(IsNothing(First(Fields!Address1_PostalCode.Value, “DataSet5″) ),””,ChrW(13)&ChrW(10) ) &

IIf(IsNothing(First(Fields!Address1_Country.Value, “DataSet5″) ),””,(First(Fields!Address1_Country.Value, “DataSet5”) ))&

IIf(IsNothing(First(Fields!Address1_Country.Value, “DataSet5″) ),””,ChrW(13)&ChrW(10) )