Join the #BuildWithBuildAgent Challenge! Get recognized, earn exclusive swag, and inspire the ServiceNow Community with what you can build using Build Agent.  Join the Challenge.

Delete attachments button on incident form

Garry Knight
Kilo Contributor

Hi,

I am trying to create a button on the incident form which will delete all attachments currently on the incident. I am trying to do this as a UI action but am not having much luck.

I have put the button there and set up the permissions but can't seem to get the function to work. Could anyone advise if this is possible?

Thank you.

1 ACCEPTED SOLUTION

Pradeep Sharma
ServiceNow Employee
ServiceNow Employee

Hi Garry,



Here is the optimized code you can use.


var attach = new GlideSysAttachment();


attach.deleteAll(current);


current.update();


View solution in original post

15 REPLIES 15

srinivasthelu
Tera Guru

You need to write code something like this to delete the records from attachment table.



var gr=new GlideRecord('sys_attachment');


gr.addQuery(table_sys_id', current.sys_id);


gr.query();


while(gr.next()){


gr.deleteRecord();


}


Pradeep Sharma
ServiceNow Employee
ServiceNow Employee

Hi Garry,



Here you go.


var gr = new GlideRecord('sys_attachment');


gr.addQuery(table_sys_id', current.sys_id);


gr.query();


while(gr.next()){


gr.deleteRecord();


}


http://wiki.servicenow.com/index.php?title=Delete_Duplicate_Attachments#gsc.tab=0


Hi Pradeep,



I have tried putting the below in a function so i can use it on the OnClick, but the button still does not seem to do anythuing.



Any ideas?



function removeAttachments(){


var gr=new GlideRecord('sys_attachment');


gr.addQuery('table_sys_id', current.sys_id);


gr.query();


while(gr.next()){


gr.deleteRecord();


}}


Hi Garry,



You can make this UI Action server side itself,



Screen Shot 2015-09-07 at 9.37.40 pm.JPG