Creating a calculated field in Dynamics CRM2011

In this short post I’ll explain to you how you can create a calculated field in dynamics CRM2011. It’s actually just the same as in CRM4. The only thing now is that we have to use web resources. Web resources is new in CRM2011 and needs to be used whenever it comes down to using resources (like JavaScript) in dynamics CRM.

Ok lets start:

1) First create some fields. For this demo I’ll use: val1, val2 and result

image

2) The calculation will be a simple multiplication. I’ll multiply val1 and val2 and output the result in the result field.

3) Now we need to create the JavaScript that will do the actual calculation of the fields.

   1: function calculate()

   2: {

   3:     var val1 = Xrm.Page.entity.attributes.get['new_val1'].getValue();

   4:     var val2 = Xrm.Page.entity.attributes.get['new_val2'].getValue();

   5:     

   6:     if(val1==null)return;

   7:     if(val2==null)return;

   8:  

   9:     var result = val1 * val2;

  10:     Xrm.Page.entity.attributes.get['new_result'].setValue(result);

  11: }

Mind the new Xrm page model functions that I’m using. More information can be found on MSDN.

A little more information on the JScript. First I grab the data from both fields, check if they are not null and then do the actual calculation. Finally I set the result for the “calculated field”.

4) Now we need to add the JavaScript as a Web Resource. Go to the Web Resource section (Settings – customizations – Customize the System – Web Resources).

5) Add a new Web Resource. Here you can give a name, description etc. For the “type”, select Script (JScript). Finally click on the button “Text Editor” and add the code we’ve created above.

image

6) Once the Web Resource is created and published we can use it in our Account form where the custom fields are located.

7) Customize the form and select “Form Properties”. We first need to make the Web Resource available in this specific form.

8 ) Under the Events tab, add the Web Resource that we just created.

image

9) All that’s left to do is to configure the onChange events for the two fields and we’re done. Doubleclick on the field val1 and val2, go to the Events tab and configure the onChange event. The final result for each field should look like this:

image

10) Publish the form and you’re ready for testing.


No comments yet. Be the first.

Leave a reply

*
To prove you're a person (not a spam script), type the security word shown in the picture. Click on the picture to hear an audio file of the word.
Click to hear an audio file of the anti-spam word