CRM 2011 – Average CRM wages UK – May 2011

I recently wrote a blog about CRM recruitment from a recruiters perspective and you can read about that here, the gist of the article was there had been an increase in the amount of CRM work.

I wondered if this would have any difference on the wages paid to CRM developers/consultants so I had a google for information and found the IT job board had some information which I have pasted below.  The results are interesting, it seems the average salary has gone up from last year, the number of permanent jobs has gone up but not by much over the last 3 months.  The rank for developer has dropped.  Still it’s interesting the average wage is £45000

Permanent

Description Rank
3 Months to
30 May 2011
Rank Change
on Same Period
Last Year
Average Salary
3 Months to
30 May 2011
Average Salary
% Change
on Same Period
Last Year
Matching Job Ads
(% of Permanent
IT Job Ads Sampled)
Last 3 Months
Find
Jobs
CRM 66 Down-11 £47,500 +5.55 % 4560 (3.70 %)  
Rank up 27 places Dynamics CRM 249 Up+27 £45,000 1167 (0.95 %)  
Dynamics CRM Consultant 732 Down-28 £47,500 +11.76 % 129 (0.10 %)  
Dynamics CRM Developer 746 Down-31 £45,000 115 (0.09 %)  

Contract

Description Rank
3 Months to
30 May 2011
Rank Change
on Same Period
Last Year
Average
Daily Rate
3 Months to
30 May 2011
Average Daily Rate
% Change
on Same Period
Last Year
Matching Job Ads
(% of Contract
IT Job Ads Sampled)
Last 3 Months
Find
Jobs
CRM 66 No change0 £400 +4.57 % 1647 (2.74 %)  
Rank up 91 places Dynamics CRM 276 Up+91 £375 -0.66 % 378 (0.63 %)  
Rank up 11 places Dynamics CRM Developer 503 Up+11 £375 +7.91 % 81 (0.13 %)  
Dynamics CRM Consultant 552 Down-31 £350 -2.43 % 32 (0.05 %)  

 

CWJobs also had an average CRM wage calculator, although I would say it didn’t have a section for Microsoft or dynamics CRM jobs

Salary results for CRM

Sample size
916

Low
£37,500

High
£77,500

Average
£57,500

Advertisements

CRM 2011 – Quick tip – using EntityLogicalName in query expressions

This is a tiny small tip for writing query expressions and using the EntityLogicalName value.

When you write a queryExpression you have to specify the name of the entity you want to query.

The name is a text string you can create a string and put the name of the entity

                QueryExpression query = new QueryExpression("account");

a better way which makes the code easier to read and will ensure you don’t mistype the query is to use the EntityLogicalName attribute of a CRM entity.  Below is an example of doing a query expression for the account

                QueryExpression query = new QueryExpression(Account.EntityLogicalName);

 

CRM 2011 – Setting an OptionSetValue in a plugin

I had to set an OptionSetValue in a plugin this week and for some reason I totally forgot how to do it, which kept causing my plugin to crash.

Like all things in CRM, once you have done it you wonder what all the fuss was about and how simple it seems but before you have cracked it, it can be very frustrating.

The other unusual thing I found was I couldn’t Google any examples, so I thought I would show an example on this blog so if I can’t do it in the future at least I would know where to look.

I will briskly take you through the basics.  OptionSetValue is a drop down list in CRM.  The OptionSetValue is a list of int values linked with a metadata list of text values.  I think it is done like this so you can store the OptionSets in a database and you have to split them up.

If  you want to find the text value you have to lookup the value in the metadata, I have blogged about that before, go here if you want to know how to look up the metadata value of an optionSet

The main thing which was confusing me is firstly OptionSetValue is a class and to then get the actual OptionSetValue you have to put you class name and then Value.  For some reason I was then trying to set just the value, which is stupid when I think about it but it was late on a Friday and my brain had clearly stopped working for the week.

OptionSetValue is a class and it has two constructors, click here for the api

Name Description
OptionSetValue () Initializes a new instance of the OptionSetValue class
OptionSetValue (Int32) Initializes a new instance of the OptionSetValue class

Now you can see that one of the constructors takes an int32 value.  Most of the time if you are creating an OptionSetValue which you want to write to a CRM object then you will pass in the int value of the optionset.  This is a common Gotcha, people will often set this value to a value which isn’t in the OptionSet values in CRM.  To find the values, you need to open the entity going through solutions (basically as if you are going to edit it) with the optionset you want the values for.

Selected the optionSet in the fields, open the optionSet until you have a list of the Options.  When you select one of the options you will see on the right it shows you the optionset Label and below that is the value (which is an int)

So from the above you can see the int number you want to assign to the optionSetValue is 143570000.

so to create and set an OptionSetValue you would do this

    OptionSetValue op = new OptionSetValue(143570000);
                shortlist.new_StatusSelectedCheckbox = op;

In the example shortlist is an entity object and new_StatusSelectedCheckbox is the field.  To get the value from an optionSetValue you would do this

op.Value;
143570000

the number below is the value.

As I have said before one of the most common problems people will experience is they will try and set an OptionSetValue to an int number not in the list of dropdown values.

The OptionSetValue class api is here but it really only has the Value method to set and get int value of the OptionSetValue class