
- 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-13-2017 11:22 AM
Could you give me an example of how to do a scratchpad?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-13-2017 11:30 AM
certainly workflow scratchpad is a GREAT toy it makes a variable you can use in the workflow to pass along values...
in the begining make a run script box that initializes all your variables.. this will be a basic script...
workflow.scrachpad.variable_name_1 = 'name of checkbox 1';
workflow.scratchpad.variable_name_2 = 'name of checkbox 2';
etc...
now anywhere in the workflow you can use workflow.scrachpad.variable_name_1 in a script.. so after it is approved drop in a script box
workflow.scratchpad.variable_name_1 += ' Was approved by' + approvers name;
do that after all the approvals/rejections..
in the task
task.comments += workflow.scratchpad.variable_name_1
personally i would just change the activity names to Approval For <Variable display value> then you can just use the display value for the wf activity off of the approval record.