- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎11-28-2017 02:44 AM
Hi,
We have catalog form and it has checkbox variables in it.
user while filling the form, he will select the required checkboxes, some of the checkboxes will remain un-checked.
Here requirement is to display the only checkbox variables which are checked or selected on the email notification template.
If user will not select any checkbox variable on the form, then it should not be displayed on the email notification template.
please help me how can I achieve this.
Thank you.
Solved! Go to Solution.
- Labels:
-
Scripting and Coding
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎11-28-2017 03:39 AM
Hi Ankur,
This is the code I have have been using in email script, But none of the check box variables are displaying in email notification.. even though they are true. please correct me if anything wrong this code.
Thank you.
template.print('<p>Roles that Should be Assigned to the Requested User:<br />');
var item = new GlideRecord("sc_req_item");
item.addQuery("request", current.sysapproval);
item.query();
while(item.next()) {
var keys = [];
var set = new GlideappVariablePoolQuestionSet();
set.setRequestID(item.sys_id);
set.load();
var vs = set.getFlatQuestions();
for (var i=0; i < vs.size(); i++) {
if(vs.get(i).getLabel() != '' && vs.get(i).getDisplayValue()!='' && vs.get(i).getDisplayValue().toString() != 'false') {
if(vs.get(i).getLabel() != "Requested for:" && vs.get(i).getLabel() != "Opened by:" && vs.get(i).getLabel() != "Approval for")
htmlContent += '<tr><td class="nameValue" width="30%">' + vs.get(i).getLabel() + ':<br><br></td><td width="60%" class="body_content" valign="top">' + vs.get(i).getDisplayValue() +'<br><br></td></tr>';
}
template.space(4);
template.print(' ' + vs.get(i).getLabel() + " = " + vs.get(i).getDisplayValue() + "<br />");
}
}
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎11-28-2017 05:05 AM
Hi Ankur,
I have run the script in background script as well, but no output is
displaying. It is simply running the script.
Thanks.
On Tuesday, November 28, 2017, bawiskar <community-no-reply@servicenow.com>
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎11-28-2017 05:39 AM
Hi Harish,
Did you check whether atleast variables you are getting in the for loop?
Regards
Ankur
Ankur
✨ Certified Technical Architect || ✨ 9x ServiceNow MVP || ✨ ServiceNow Community Leader
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎11-28-2017 07:39 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎11-28-2017 08:14 AM
Hi Harish,
Please find my sample code below:
what it does is print the variables where value is not empty.
var item = new GlideappCatalogItem.get('<maintainSysId>'); //maintain item sysId
var variables = item.getVariables();
var variableArray = [];
while(variables.next())
{
variableArray.push(variables.name.toString());
}
var gr = new GlideRecord('sc_req_item');
gr.addQuery('sys_id', '<ritmSysId>'); // this is your ritm sysId
gr.query();
if(gr.next()){
for(var i=0;i<variableArray.length;i++){
if(gr.variables[variableArray[i]].toString() != ''){ // print the variables where value is not empty
gs.print(gr.variables[variableArray[i]].toString());
}
}
}
This worked fine for me in background script. change the code as per your requirement now.
Mark Correct if this solves your issue and also hit Like and Helpful if you find my response worthy based on the impact.
Thanks
Ankur
Ankur
✨ Certified Technical Architect || ✨ 9x ServiceNow MVP || ✨ ServiceNow Community Leader
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎11-29-2017 04:10 AM
Hi Harish,
Any update on this?
Can you mark my answer as correct, helpful and hit like if you were able to achieve the requirement. This helps in removing this question from unanswered list and helps users to learn from your thread. Thanks in advance.
Regards
Ankur
Ankur
✨ Certified Technical Architect || ✨ 9x ServiceNow MVP || ✨ ServiceNow Community Leader