Find your people. Pick a challenge. Ship something real. The CreatorCon Hackathon is coming to the Community Pavilion for one epic night. Every skill level, every role welcome. Join us on May 5th and learn more here.

Issue Populating Variable Outside MRVS in OnChange Client Script

gautam_dhamija
Tera Contributor

I have a Multi-Row Variable Set (MRVS) in a record producer, and I'm trying to populate a variable outside the MRVS using an onChange client script. However, my script is not working as expected, and the variable is not getting updated.

gautam_dhamija_0-1738652715876.png

Set value function is not working

1 ACCEPTED SOLUTION

Brad Bowman
Mega Patron

For whatever reason g_service_catalog does not (yet?) have a setValue method, only getValue.  You can set the value of a variable outside of the MRVS with a script like this, for the native UI and/or Service Portal/ESC/...

if (this) { //Service Portal method
    this.cat_g_form.setValue('advance_amount', '12');
} else { //native UI method
    parent.g_form.setValue('advance_amount', '12');
}

If you are using Service Portal, etc. you will also need this onLoad Catalog Client Script that Applies to the Catalog Item / Record Producer, not the MRVS:

function onLoad() {
	if (this) {//we only need to do this for Service Portal
		//We need to make the g_form object for the parent item available from the MRVS window
		this.cat_g_form = g_form;
	}
}

View solution in original post

1 REPLY 1

Brad Bowman
Mega Patron

For whatever reason g_service_catalog does not (yet?) have a setValue method, only getValue.  You can set the value of a variable outside of the MRVS with a script like this, for the native UI and/or Service Portal/ESC/...

if (this) { //Service Portal method
    this.cat_g_form.setValue('advance_amount', '12');
} else { //native UI method
    parent.g_form.setValue('advance_amount', '12');
}

If you are using Service Portal, etc. you will also need this onLoad Catalog Client Script that Applies to the Catalog Item / Record Producer, not the MRVS:

function onLoad() {
	if (this) {//we only need to do this for Service Portal
		//We need to make the g_form object for the parent item available from the MRVS window
		this.cat_g_form = g_form;
	}
}