- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-13-2017 10:24 AM
Hi All,
I am fairly new to the ServiceNow Development world. I am also an novice script-er So here is my question/Issue:
I've made an order guide that contains 60+/- check boxes that each would flow to a different approver. On the back end i created a workflow to track role approvals.This is for one of our in house ERP systems. I was able to make the workflow wait for all of the rejections and the approvals but I now have a requirement to note who approved what(which checkbox) in the worknotes of the task. I was able to pull the approvers and their decision (rejected. no longer required, approved) but I am not sure how to get the actual Checkbox that corresponds to the approver.
I used this workflow(Massive I know!!):
This is what is currently created on the worknotes:
Here is the script I used to pull the approvers decision:
var rowCount ;
var sc_approval = new GlideRecord('sysapproval_approver');
sc_approval.addQuery('sysapproval',current.sys_id);
sc_approval.addActiveQuery();
sc_approval.query();
rowCount = sc_approval.getRowCount();
while (sc_approval.next()){
var userid = sc_approval.approver;
sc_user= new GlideRecord('sys_user');
sc_user.addQuery('sys_id',userid);
sc_user.query();
if (sc_user.next()){
var userName = sc_user.name;
}
var theTaskMessage ;
if (theTaskMessage == null){
theTaskMessage = sc_approval.state.getDisplayValue()+' '+userName+ ' \n';
}
else {
theTaskMessage = theTaskMessage + sc_approval.state.getDisplayValue()+' '+userName+ ' \n';
}
}
task.work_notes = theTaskMessage;
So What I need to know is how to pull the variable that was approved form the workflow.
Any help or advise would be greatly appreciated!
Thank you!!
Solved! Go to Solution.
- Labels:
-
Best Practices
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-15-2017 07:58 AM
so on the same script change this line to
theTaskMessage = sc_approval.state.getDisplayValue()+' '+userName+ ' \n';
theTaskMessage = sc_approval.state.getDisplayValue()+' '+userName+ ' ' + sc_approval.wf_activity.getDisplayValue() + ' \n';
and that should print the workflow activity name on the same line.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-15-2017 10:18 AM
THAT WORKED!!!! Thank you soooo much for your help!!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-13-2017 10:34 AM
Get the checkbox value as follows
current.variables.check_box_name.getDisplayValue() == 'option_name'))
replace check_box_name and option_name
Thanks
PS: hit helpful..if it helps
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-13-2017 11:24 AM
Thanks Madhusudana! so The "option_name" would be the variable name?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-13-2017 11:32 AM
its true/false...checked or unchecked
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-13-2017 11:07 AM
in the approval record there is a field "workflow activity" this is a reference field to the workflow activity from the workflow.. you SHOULD be able to use that and your workflow to figure out what the approval was for.... make those workflow box labels clearly identify what it is for and you can just print it straight to the record from there.
if you can't do that.. what you can do is create some workflow scratchpad variables.. that have the checkbox name and then you can add approved or rejected as part of the approval/rejected workflow paths...
then print the workflow variables to the task.