Error while calculating fields using JavaScript in MS Dynamics CRM 2011 Online

Answered Error while calculating fields using JavaScript in MS Dynamics CRM 2011 Online

  • Wednesday, April 25, 2012 2:49 PM
     
      Has Code

    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 PM
    Moderator
     
     Proposed

    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.

  • 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
     
     Answered Has Code

    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
     
     Proposed Has Code
    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!



  • Thursday, April 26, 2012 3:47 PM
     
      Has Code

    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
     
      Has Code
    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