Record producer variables data update in table after created record

Nitya2
Kilo Guru

we have record producer on  custom table , after record created we have variables visible .

requriement is when those variables has to update table also has to update

i have made below code for single line text variables update in string field   - before update businessrule which is working fine .

current.setValue('u_visualization' ,current.variables.visualization_owner.getDisplayValue());

current.setValue('u_pull_quote_or_data_highlight' ,current.variables.pull_quote);

But when i try to update few checkboxes variables trying to update in string field with comma separated value its not working

kindly correct code and please help

1)    i tried in before business rule:


var checkboxes = ['ltc_financials', 'hospital_financials', 'hospital_chargemasters', 'hospital_community_benefit_plans', 'hospital_fair_pricing_policies', 'prescription_drug_rx_costs', 'healthcare_payments'];

var checkLable = ['Hospital Financials', 'LTC Financials', 'Hospital Chargemasters', 'Hospital Community Benefit Plans', 'Hospital Fair Pricing Policies', 'Prescription Drug (Rx) Costs', 'Healthcare Payments'];

for (var x = 0; x < checkboxes.length; x++) {
// if (checkboxes[x] == 'true') {


// var checkLable = current.variables.ltc_financials +',' + current.variables.hospital_financials +','+ current.variables.hospital_chargemasters +','+ current.variables.hospital_community_benefit_plans +','+ current.variables.hospital_fair_pricing_policies +','+ current.variables.prescription_drug_rx_costs +','+ current.variables.healthcare_payments;


current.setValue('u_cost_transparency', checkLable);
}

got error  like undefined, undefined, undefined

2) tried below before update business rule:

 

(function executeRule(current, previous /*null when async*/ ) {

// Add your code here

var ltc = current.variables.ltc_financials;
var hosp = current.variables.hospital_financials;
var chrge = current.variables.hospital_chargemasters;

if (ltc == 'true') {
var ltc1 = 'Hospital Financials';
gs.log('ltc' + ltc1);
}
if (hosp == 'true') {
var hosp1 = 'LTC Financials';
gs.log('hosp' + hosp1);
}
if (chrge == 'true') {
var chrge1 = 'Hospital Chargemasters';
}

var abc = ltc1 + ',' + hosp1 + ',' + chrge1;

current.setValue('u_cost_transparency', abc);

})(current, previous);

 

3) and tried in onsubmit client script:

function onSubmit() {
//Type appropriate comment here, and begin script below

var ltc = g_form.getValue('ltc_financials');
var hosp = g_form.getValue('hospital_financials');
var chrge = g_form.getValue('hospital_chargemasters');

if (ltc == 'true')
{
var ltc1= 'Hospital Financials';
}
if(hosp == 'true')
{
var hosp1 = 'LTC Financials';
}
if(chrge == 'true')
{
var chrge1 = 'Hospital Chargemasters';
}
var abc = ltc1+','+hosp1+','+chrge1;

g_form.setValue('u_cost_transparency',abc);
}

1 ACCEPTED SOLUTION

Ankur Bawiskar
Tera Patron
Tera Patron

Hi,

So you want all the values from those checkboxes to be placed in u_cost_transparency

this should work fine in before update BR

See the changes

(function executeRule(current, previous /*null when async*/ ) {

// Add your code here

var ltc = current.variables.ltc_financials;
var hosp = current.variables.hospital_financials;
var chrge = current.variables.hospital_chargemasters;

var abc = '';

if (ltc.toString() == 'true') {
abc = 'Hospital Financials';
gs.log('ltc' + ltc1);
}
if (hosp.toString() == 'true') {
abc = abc + ',' + 'LTC Financials';
gs.log('hosp' + hosp1);
}
if (chrge.toString() == 'true') {
abc = abc + ',' + 'Hospital Chargemasters';
}

current.setValue('u_cost_transparency', abc);

})(current, previous);

Regards
Ankur

Regards,
Ankur
Certified Technical Architect  ||  9x ServiceNow MVP  ||  ServiceNow Community Leader

View solution in original post

14 REPLIES 14

In place of xyz, put selected_checkboxes.

Mark the comment as a correct answer and helpful if this helps.

Hi Asif,

its showing below error data not updated

find_real_file.png

Try like this

current.setValue('u_cost_transparency', xyz.toString());

Mark the comment as correct if this has solved the problem.

thank you , it saving backend name , but we need to save front end name

When i use below code its updating  backend values , we need to update front end label names.

Because we have around 100+ variables , so would like to automate this . 

and  

kindly assist update checkbox valline after line 

example :

Hospital Financials
LTC Financials
Hospital Chargemasters
Hospital Community Benefit Plans
hospital fair pricing policies

 

var selected_checkboxes = ['ltc_financials', 'hospital_financials', 'hospital_chargemasters', 'hospital_community_benefit_plans', 'hospital_fair_pricing_policies', 'prescription_drug_rx_costs', 'healthcare_payments'];

var checkBoxLables = ['Hospital Financials','LTC Financials','Hospital Chargemasters','Hospital Community Benefit Plans','hospital fair pricing policies','prescription drug rx costs','healthcare payments'];

var variables= current.variables.getElements();

for (i=0;i<variables.length;i++){

if(selected_checkboxes.indexOf(variables[i].getName())>-1 && variables[i]=='true'){
selected_checkboxes.push(variables[i].getName());
}
}

current.setValue('u_cost_transparency',selected_checkboxes.toString());