Error while calculating fields using JavaScript in MS Dynamics CRM 2011 Online
-
Wednesday, April 25, 2012 2:49 PM
Hello,
I am just calculating few fields in MS Dynamics CRM using the Javascript (Web Resource).
The Code i have created is the below.
function calculate() { var val1 = Xrm.Page.entity.attributes.get['new_pricesglm'].getValue(); var val2 = Xrm.Page.entity.attributes.get['new_pricedblm'].getValue(); var val3 = Xrm.Page.entity.attributes.get['new_pricetplm'].getValue(); var val4 = Xrm.Page.entity.attributes.get['new_pricequadm'].getValue(); var val5 = Xrm.Page.entity.attributes.get['new_pricequantm1'].getValue(); var val6 = Xrm.Page.entity.attributes.get['new_pricesglh'].getValue(); var val7 = Xrm.Page.entity.attributes.get['new_pricedblh'].getValue(); var val8 = Xrm.Page.entity.attributes.get['new_pricetplh'].getValue(); var val9 = Xrm.Page.entity.attributes.get['new_pricequadh'].getValue(); var val10 = Xrm.Page.entity.attributes.get['new_pricequanth'].getValue(); var val11 = Xrm.Page.entity.attributes.get['new_totaltransportation'].getValue(); var val12 = Xrm.Page.entity.attributes.get['new_totalvisa'].getValue(); var val13 = Xrm.Page.entity.attributes.get['new_totalflights'].getValue(); if(val1==null)return; if(val2==null)return; if(val3==null)return; if(val4==null)return; if(val5==null)return; if(val6==null)return; if(val7==null)return; if(val8==null)return; if(val9==null)return; if(val10==null)return; if(val11==null)return; if(val12==null)return; if(val13==null)return; var total = val1 + val2 + val3 + val4 + val5 + val6 + val7 + val8 + val9 + val10 + val11 + val12 + val13; Xrm.Page.entity.attributes.get['new_pricetotal'].setValue(total); }
Now, When i go and type something on the field it pops up with an error!
The error is :-
Error:Unable to get the value of the property 'attributes': Object is null or undefined!
Please help me out to solve this error.
Thanks.
Kasim
All Replies
-
Wednesday, April 25, 2012 3:14 PMModerator
Hi,
you need to use like below
var val1=Xrm.Page.getAttribute("new_pricesglm").getValue(); // to get value
Xrm.Page.getAttribute("new_pricetotal").setValue(total); // to set value
Mahain : Check My Blog
Follow me on Twitter
Make sure to "Vote as Helpful" and "Mark As Answer",if you get answer of your question.- Proposed As Answer by Mahender PalMVP, Moderator Wednesday, April 25, 2012 3:15 PM
-
Wednesday, April 25, 2012 3:25 PM
Hello Bro,
I tried using that.
But Still i am getting the same error! :(
Any other solution?
Thanks
Kasim
-
Wednesday, April 25, 2012 3:38 PM
try this first with two fields:-
function Calculate() { try { if (Xrm.Page.getAttribute("new_pricesglm").getValue() != null) { var val1 = parseFloat(Xrm.Page.getAttribute("new_pricesglm").getValue()); } else { var val1 = 0; } if (Xrm.Page.getAttribute("new_pricedblm").getValue() != null) { var val2 = parseFloat(Xrm.Page.getAttribute("new_pricedblm").getValue()); } else { var val2 = 0; } var total = val1 + val2; Xrm.Page.getAttribute("new_pricetotal").setValue(total); Xrm.Page.data.entity.attributes.get("new_pricetotal").setSubmitMode("always"); } catch (err) { // alert(err); } }Regards Faisal
- Marked As Answer by Kasimme Thursday, April 26, 2012 3:46 PM
-
Wednesday, April 25, 2012 5:52 PM
Use the below code you have alot of syntax errors in your code i have correct them all
1) Syntax Error var val1 = Xrm.Page.entity.attributes.get['new_pricesglm'].getValue(); do not use [] Proper CRM syntax is var val1 = Xrm.Page.entity.attributes.get("new_pricesglm").getValue();
function calculate() { var val1 = Xrm.Page.entity.attributes.get("new_pricesglm").getValue(); var val2 = Xrm.Page.entity.attributes.get("new_pricedblm").getValue(); var val3 = Xrm.Page.entity.attributes.get("new_pricetplm").getValue(); var val4 = Xrm.Page.entity.attributes.get("new_pricequadm").getValue(); var val5 = Xrm.Page.entity.attributes.get("new_pricequantm1").getValue(); var val6 = Xrm.Page.entity.attributes.get("new_pricesglh").getValue(); var val7 = Xrm.Page.entity.attributes.get("new_pricedblh").getValue(); var val8 = Xrm.Page.entity.attributes.get("new_pricetplh").getValue(); var val9 = Xrm.Page.entity.attributes.get("new_pricequadh").getValue(); var val10 = Xrm.Page.entity.attributes.get("new_pricequanth").getValue(); var val11 = Xrm.Page.entity.attributes.get("new_totaltransportation").getValue(); var val12 = Xrm.Page.entity.attributes.get("new_totalvisa").getValue(); var val13 = Xrm.Page.entity.attributes.get("new_totalflights").getValue(); if (val1 == null) return; if (val2 == null) return; if (val3 == null) return; if (val4 == null) return; if (val5 == null) return; if (val6 == null) return; if (val7 == null) return; if (val8 == null) return; if (val9 == null) return; if (val10 == null) return; if (val11 == null) return; if (val12 == null) return; if (val13 == null) return; var total = val1 + val2 + val3 + val4 + val5 + val6 + val7 + val8 + val9 + val10 + val11 + val12 + val13; Xrm.Page.entity.attributes.get("new_pricetotal").setValue(total); }
I hope this helps. If my response answered your question, please mark the response as an answer and also vote as helpful.
Mubasher Sharif
Check out my about.me profile!
http://mubashersharif.blogspot.com
Linked-In Profile
Follow me on Twitter!
- Proposed As Answer by MubasherSharif Wednesday, April 25, 2012 6:14 PM
- Edited by MubasherSharif Wednesday, April 25, 2012 6:19 PM
-
Thursday, April 26, 2012 3:47 PM
try this first with two fields:-
function Calculate() { try { if (Xrm.Page.getAttribute("new_pricesglm").getValue() != null) { var val1 = parseFloat(Xrm.Page.getAttribute("new_pricesglm").getValue()); } else { var val1 = 0; } if (Xrm.Page.getAttribute("new_pricedblm").getValue() != null) { var val2 = parseFloat(Xrm.Page.getAttribute("new_pricedblm").getValue()); } else { var val2 = 0; } var total = val1 + val2; Xrm.Page.getAttribute("new_pricetotal").setValue(total); Xrm.Page.data.entity.attributes.get("new_pricetotal").setSubmitMode("always"); } catch (err) { // alert(err); } }
Regards Faisal
Hey Thanks a lot. This one works!
Really Thanks for your help! :)
-
Thursday, April 26, 2012 3:48 PM
Use the below code you have alot of syntax errors in your code i have correct them all
1) Syntax Error var val1 = Xrm.Page.entity.attributes.get['new_pricesglm'].getValue(); do not use [] Proper CRM syntax is var val1 = Xrm.Page.entity.attributes.get("new_pricesglm").getValue();
function calculate() { var val1 = Xrm.Page.entity.attributes.get("new_pricesglm").getValue(); var val2 = Xrm.Page.entity.attributes.get("new_pricedblm").getValue(); var val3 = Xrm.Page.entity.attributes.get("new_pricetplm").getValue(); var val4 = Xrm.Page.entity.attributes.get("new_pricequadm").getValue(); var val5 = Xrm.Page.entity.attributes.get("new_pricequantm1").getValue(); var val6 = Xrm.Page.entity.attributes.get("new_pricesglh").getValue(); var val7 = Xrm.Page.entity.attributes.get("new_pricedblh").getValue(); var val8 = Xrm.Page.entity.attributes.get("new_pricetplh").getValue(); var val9 = Xrm.Page.entity.attributes.get("new_pricequadh").getValue(); var val10 = Xrm.Page.entity.attributes.get("new_pricequanth").getValue(); var val11 = Xrm.Page.entity.attributes.get("new_totaltransportation").getValue(); var val12 = Xrm.Page.entity.attributes.get("new_totalvisa").getValue(); var val13 = Xrm.Page.entity.attributes.get("new_totalflights").getValue(); if (val1 == null) return; if (val2 == null) return; if (val3 == null) return; if (val4 == null) return; if (val5 == null) return; if (val6 == null) return; if (val7 == null) return; if (val8 == null) return; if (val9 == null) return; if (val10 == null) return; if (val11 == null) return; if (val12 == null) return; if (val13 == null) return; var total = val1 + val2 + val3 + val4 + val5 + val6 + val7 + val8 + val9 + val10 + val11 + val12 + val13; Xrm.Page.entity.attributes.get("new_pricetotal").setValue(total); }
I hope this helps. If my response answered your question, please mark the response as an answer and also vote as helpful.
Mubasher Sharif
Check out my about.me profile!
http://mubashersharif.blogspot.com
Linked-In Profile
Follow me on Twitter!
Hey brother.
I think this may work for some users.. but it did not work for me.
Well the above answer worked.
Anyways Thanks a lot. :)
Kasim