Using an onChange Script on a Selection list to set a value of another field

Less than one minute read time.

This is a simple real world example.

There was a customer need to set a field values based on value of another field on the opportunity screen. The screens had been customized. The oppo_forecast and oppo_certainty fields were removed from the opportunitystatusbox and oppo_certainty was added to the opportunitydetailbox screen along with a new field called oppo_forecastcategory. Oppo_forecastcategory was a Selection list. Its values were either 'None', 'A' 'B', 'C', 'D.

If the changes the drop down field Forecast Category to "˜B', the Certainty value needs to set to 40.

This can be expressed as an onChange rule

The code used was:

switch (this.value) {
case 'A' :
oppo_certainty.value = '20';
break;
case 'B' :
oppo_certainty.value = '40';
break;
case 'C' :
oppo_certainty.value = '60';
break;
case 'D' :
oppo_certainty.value = '80';
break;
default :
oppo_certainty.value = '5';
}

  • Thank you. It looks like three stages are showing as part of workflow. I guess this is my baptism through fire. :-/

  • Hi, Jeff.

    I am new to Sage and OnChange scripting, etc. I used a variation of the scripting you have here to reflect my situation.

    switch (this.value) {

    case 'Introduction' :

    oppo_certainty.value = '5'

    break;

    case 'Presentation' :

    oppo_certainty.value = '25'

    break;

    case 'Quoted/Bid' :

    oppo_certainty.value = '50'

    break;

    case 'Negotiated' :

    oppo_certainty.value = '75'

    break;

    case 'Sold Open' :

    oppo_certainty.value = '90'

    break;

    case 'Sold Closed' :

    oppo_certainty.value = '100'

    break;

    I am looking to update the oppo_certainty when a value in the selection list for oppo_stage is chosen. (The stage is required, and to make it easy for the team, we want to update automatically.)

    I am putting it in the OnChange box and nothing is happening.

    Any wisdom on how I can fix this?

    Thanks!

  • Debbie

    You need to think about where those field exist, and how they are updated. The oppo_stage and oppo_certainty field in a default system are found in the opportunitystatus box but and this is a big but.... the fields are written to the screen by a workflow rule. So if you want to change these fields together are they being managed by workflow? Or are you just working with the Opportunity Progress screens.

  • Assuming workflow is off for cases, you should be able to add case_status.value = 'Waiting' to the onChange Script. If Workflow is on, then you could add a new rule and state to accomplish this.