- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
03-26-2024 12:06 AM
Hello Team,
How to update choice field dynamically, when i try to use below syntax it is creating duplicate record.
current.setValue(FieldName, displayName);
please suggest me here Thanks.
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
03-26-2024 04:09 AM
Hi @srinidhi ,
You can not directly do this through set value, try to get values from Payload if that is not at all possible then as a workaround what you can do is store the state choice label inprogress or fetch that value in a variable and query sys_choice table and add table name in query and then set the state value .
example;
for testing i have a randon=m string field where i set value as In Progress and in before update business rule i gliderecord to sys_ choice table and got the value for label In progress and set the state value in incident,
BR:
(function executeRule(current, previous /*null when async*/ ) {
var choiceLabel = current.u_string_1;
//gs.info('label: ' + choiceLabel);
var gchoice = new GlideRecord('sys_choice');
gchoice.addEncodedQuery('nameSTARTSWITHINCIDENT^element=state');
gchoice.addQuery('label', choiceLabel); // here i have added dummy value stored in a string to check but what you can do is get the pay load value store it in a variable and use that to query
gchoice.query();
if (gchoice.next()) {
//gs.info('value '+ gchoice.getValue('value'));
current.setValue('state', gchoice.getValue('value'));
}
})(current, previous);
Please mark this comment as Correct Answer/Helpful if it helped you.
Regards,
Swathi Sarang
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
03-27-2024 12:46 AM
Hello @swathisarang98,
Thanks its working fine!!