Question

Method name was not calling from schema page

Hi Team ,

I was created one own method in opportunitypagev2 and if i calling this method it is not working.Here my requirement is based on lookup value decimal value to be filled.

Here the code:

In this code onPropertyChanged is my method name.

If i placed this code inside onEntityInitialized function after save function and use this.onPropertyChanged(); means it is working but if i refresh the page then only decimal value is changing.

if i use this code not with in the onEntityintilized the whole method it self not calling.

define("OpportunityPageV2", ["ConfigurationConstants"], function(ConfigurationConstants) {

    return {

        entitySchemaName: "Opportunity",

           attribute:{

            "Stage": {

                "dataValueType": Terrasoft.DataValueType.LOOKUP,

                "lookupListConfig": {

                    columns: ["MaxProbability"]

                    },

                "dependencies": [

                {

                    columns: ["Stage"],

                }

               ]

             },

             "UsrVertical": {

                "dataValueType": Terrasoft.DataValueType.LOOKUP,

               

            "dependencies": [

            {

                columns: ["UsrVertical"],

                methodName: "onPropertyChanged"

            }

        ]

    },

        },

methods:  {

            onEntityInitialized: function(){

                this.callParent(arguments);

                var oppStage = this.get("Stage");

                this.set("Probability",oppStage.MaxProbability);

                 this.onPropertyChanged();

            },

            getStageEndStatusEsq: function() {

                    var esq = this.Ext.create("Terrasoft.EntitySchemaQuery", {

                        rootSchemaName: "OpportunityStage"

                    });

                    esq.addColumn("MaxProbability");

                    return esq;

            },

            setMaxProbability: function(){

                var oppStageId = this.get("Stage").value;

                var esq = this.getStageEndStatusEsq();

                esq.getEntity(oppStageId, function(response) {

                        var stageItem = response.entity;

                        if (!(response.success && stageItem)) {

                            return;

                        }

                        var maxProbability = stageItem.get("MaxProbability");

                        this.set("Probability",maxProbability);

                       // console.log(maxProbability);

                    }, this);

                } ,

       

            save: function(){

                this.setMaxProbability();  

                this.callParent(arguments);

            },

      onPropertyChanged: function() {

                var budg;

                var budgt;

            

            var vertical = this.get ("UsrVertical").displayValue;

            

            if (vertical==="Recruiting Companies")

            {

                budg=100000.00;

                this.set("Budget",budg);

            }

            else if (vertical==="Recruiter Companies")

            {

                budg=100000.00;

                this.set("Budget",budg);

            }

                else if (vertical==="Staffing Companies")

            {

                budgt=2000000.00;

                this.set("Budget",budgt);

            }

                else {

                    budgt=0.0;

                    this.set("Budget",budgt);

            

            }

        }, 

            

        },

                 

            If i use the same method after completion of above code this method is not calling. 

        /*   onPropertyChanged: function() {

                var budg;

                var budgt;

            

            var vertical = this.get ("UsrVertical").displayValue;

            

            if (vertical==="Recruiting Companies")

            {

                budg=100000.00;

                this.set("Budget",budg);

            }

            else if (vertical==="Recruiter Companies")

            {

                budg=100000.00;

                this.set("Budget",budg);

            }

                else if (vertical==="Staffing Companies")

            {

                budgt=2000000.00;

                this.set("Budget",budgt);

            }

                else {

                    budgt=0.0;

                    this.set("Budget",budgt);

            

            }

        }, 

                

            */

can anyone have idea how to figure out this issue and auto populate decimal value without refresh based on lookup values.

Thanks&Regards,

Praveenkumar

        

Like 0

Like

1 comments

There is a syntax error in the code (https://prnt.sc/pjmmtz). The name of the property should be "attributes" instead of "attribute". 

Show all comments