Today I was adding a picklist to a form and then I needed to added the same picklist again onto the form.
Do I really have to add it again I thought, surely Microsoft with it’s eye on reusable code might have done me a good deed and made it easy for me.
Then I noticed when you create a new field that firstly picklist was gone!!!
In it’s place was something called Option Set, with the words picklist in brackets. If you have picklist in brackets why change it. When I selected this I saw it you have the option
Use existing Option Set
Excellent this is exactly what I want. When I click on use existing option set the previously created Object Set does not appear. VERY FRUSTRATING.
So I need to find a Global Option set setting. After scratching my head for a while, I finally see it.
I found it with in Solutions, Components and the first choice after the entities you can see Option Sets.
If you want a good tutorial on this subject then you have to go and see the Knudson’s blog where he has an excellent blog entry which will run you through the process and even has a video on it.
how do you add a global picklist
It did get me thinking. I wish there was some functionality which allowed you to copy an existing field and then just rename it. Maybe if you could create a template field that would save me a lot of time. Especially when you are mapping some fields from one entity to another, if you could copy them and them rename them.
I have been looking at Form Scripting in CRM 2011 and it’s all change.
The first change you notice is they have added a new Web Resource area, which means that you can load a Jscript library which can be accessed by all the entities.
This means we can finally create reusable Jscript libraries. It basically works by you uploading a Jscript file (you can also load other things like gifs, html, silverlight, icons, style sheet, css etc). You can then access any of these Web Resources from any entity. The reason you can do this is because rather than place these files somewhere on the CRM server, they get loaded into the database. The other benefit of this is these files are the same for offline, in the cloud and over any servers (in a farm/load balancing way).
I have to mention at these point I didn’t find the CRM 2011 SDK very useful.
It mentions in detail the context object you can get lots of lovely entity variables from.
The Xrm.Page and it’s variable parts (collections, tabs etc)
but it didn’t have much of a Hello World example, which is slightly surprising because it is quite different in the basic setup. Well maybe it did have a basic jscript example but I couldn’t find it.
I was going to write a basic example and then I found two brilliant blog postings so I thought I will just post a link to those. I couldn’t write a better basic example so I’m not going to
Re-usable JScript Libraries in Dynamics CRM 2011
Form Scripting in CRM 2011
I ran through these and I liked the idea of ordering the various Jscript libraries in an entity, event framework.