attachment from SC_task to REQ

SAM321
Tera Contributor

hi all actually i have task , when i upload any attachment in SC task form ,it should also been seen in REQUEST form related to that sc task. i tried below script but its not working .. can anyone tell whats wrong with below script , because am new to this scripting world

3 ACCEPTED SOLUTIONS

jaheerhattiwale
Mega Sage
Mega Sage

@SAM321 Tried and Tested solution.

Please add when to run condition as below image

jaheerhattiwale_0-1671016182835.png

 

Add the below script:

var taskRec = new GlideRecord(current.table_name.toString());
taskRec.addQuery("sys_id", current.table_sys_id.toString());
taskRec.query();

if(taskRec.next()){
    GlideSysAttachment.copy(current.table_name.toString(), current.table_sys_id.toString(), "sc_request", taskRec.request.toString());
}
 
Please mark as correct answer if this solves your issue.
Please mark the answer as correct or helpful based on impact
ServiceNow Community Rising Star, Class of 2023

View solution in original post

@SAM321 Then keep the filter conditions same and change the script as below

 

var taskRec = new GlideRecord(current.table_name.toString());
taskRec.addQuery("sys_id", current.table_sys_id.toString());
taskRec.query();

 

if(taskRec.next()){
    GlideSysAttachment.copy(current.table_name.toString(), current.table_sys_id.toString(), "sc_req_item", taskRec.parent.toString());
}
 
Please mark as correct answer if this solves your issue.
Please mark the answer as correct or helpful based on impact
ServiceNow Community Rising Star, Class of 2023

View solution in original post

@SAM321 Create scheduled job

 

Go to "System Definition > Scheduled jobs" module

Click on new button

Click on "Automatically run a script of your choosing"

jaheerhattiwale_0-1671622060034.png

 

 

add below code and save

var scTask = new GlideRecord("sc_task");
scTask.addQuery("active=false");
scTask.query();

while(scTask.next()){
    GlideSysAttachment.copy("sc_task", scTask.sys_id.toString(), "sc_request", scTask.request.toString()); //This line for moving attachments to request
GlideSysAttachment.copy("sc_task", scTask.sys_id.toString(), "sc_req_item", scTask.parent.toString()); //This line for moving attachments to requested item
}
 
click on execute button
Please mark as correct answer if this solves your issue.
Please mark the answer as correct or helpful based on impact
ServiceNow Community Rising Star, Class of 2023

View solution in original post

27 REPLIES 27

@SAM321 No, use it as it. It should work

Please mark the answer as correct or helpful based on impact
ServiceNow Community Rising Star, Class of 2023

@jaheerhattiwale sir how to achieve this on another way.  means without using sys_attachment table

@SAM321 From where you want to trigger it? 

Please mark the answer as correct or helpful based on impact
ServiceNow Community Rising Star, Class of 2023

i submitted the task ...but they repiled "if u not have access to sys_attachment table . how can u achieve it!"... try to do in another way.

  

@SAM321 Access to "sys_attachemnt" table is not required. Ask them to try with the end user. It should work.

End user should not go and the record in "sys_attachemnt" table, it will be done by system and system will triggers the Business Rule on attachment table.

Please mark the answer as correct or helpful based on impact
ServiceNow Community Rising Star, Class of 2023