Keying in the values for a large picklist in CRM can prove quite tedious. While we try to steer clear of creating picklist attributes with too many values (~20 is a good general cut off) it is often required by the business rules. For example, records created in CRM may be passed to another application via integration and only certain values are allowed. The tedium of creating the list is magnified if you have to create more than one large picklist attribute with the same values in the same order (this would be required for example if the two attributes are mapped within the relationship between two entities).
So if you do have to create some large picklists, here's a great tool for generating the XML for the picklist values. In addition, the tool has been updated to support CRM version 4.0.
http://www.beatnik.at/picklist_for_mscrm.php
Following are the steps for creating and populating the picklist attribute:
Within CRM
- Create the attribute in CRM and assign it at least one value
- Export the entity
- Make a backup copy of the XML file in case of errors in the following steps
XML Generator website
- Take your picklist (you can copy from a row in Excel for example) and paste it into the window on the picklist generator website.
- Select the CRM version, Base Language, and Starting Value
- Click the Genereate XML button and a window will open with the XML message
- Copy the XML text
Within Notepad or other text editor
- Open the XML file for your exported entity
- Locate the attribute within the XML file
- Replace the section of the XML file from your entity with the XML text copied from the website
Note- it will start with:
<options>
<option value="1">
<labels>
Within CRM
- Save the XML file for your entity
- Import the entity into CRM

Be careful, test it out. I used one of these once, afterwards I was not able to edit the generated picklists from within the customization forms.
Posted by: brad | May 31, 2008 at 11:37 AM