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.

hasattachments() giving false on request item

SudhirOjha
Mega Guru

creating one business rule which is giving hasattachments() = false despite of having a attachment with record from portal. any idea.

this is created on

Table = sc_task 

After insert.

(function executeRule(current, previous /*null when async*/) {

var rec = new GlideRecord('sc_req_item');
gs.log("current.request_item " + current.request_item,"test");
rec.addQuery('sys_id', current.request_item);
rec.query();
gs.log("current attachments " + rec.hasAttachments(),"test");
if(rec.next() && rec.hasAttachments()){

current.work_notes = "RITM number is this:" + rec.number;
current.update();
}
})(current, previous);

11 REPLIES 11

Mike Patel
Tera Sage

you need to run script against attachment table.

var attachment = new GlideRecord('sys_attachment');
attachment.addQuery('table_sys_id', current.request_item);
attachment.query();
if (attachment.next()) {

current.work_notes = "RITM number is this:" + current.request_item.number;
current.update();

}

HI Mike

that attachment.next() is also giving false and its not going inside loop.

 

(function executeRule(current, previous /*null when async*/) {

var attachment = new GlideRecord('sys_attachment');
attachment.addQuery('table_sys_id', current.request_item);
attachment.query();
gs.log("attachment.next() "+attachment.next());
if (attachment.next()) {
current.work_notes = "RITM number is this:" + current.request_item.number;
current.update();

}
})(current, previous);

 

find_real_file.png

what you get for gs.log("current.request_item " + current.request_item,"test");

RITM0010071 sys_id - 90c6a1c4dba113007821793ebf96194c

find_real_file.png