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.

Update field based on attachment

kunal16
Tera Expert

I have a field 'Has Attachment'(check box) on task table. I want to set the value on this field based on attachment, i.e., if there is any attachment attached to the form, the field 'Has Attachment' should set to 'true'; or else 'false'

1 ACCEPTED SOLUTION

Harish Murikina
Tera Guru

Write display business rule or write before insert or update business rule on the form






var gr = new GlideRecord('sys_attachment');


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


gr.query();


if(gr.getRowCount() <0)


{


// make check box false


}


else


{


//make check box true


}


View solution in original post

11 REPLIES 11

Harish Murikina
Tera Guru

Write display business rule or write before insert or update business rule on the form






var gr = new GlideRecord('sys_attachment');


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


gr.query();


if(gr.getRowCount() <0)


{


// make check box false


}


else


{


//make check box true


}


kunal16
Tera Expert

Thanks for the help Harish.


Your welcome Kunal


Harish, actually I want to update the following code such that iff all the attachments are removed from the record, the field 'Has Attachment' should set to 'False':



updateRecordForAttachment();


function updateRecordForAttachment(){


  var gr = new GlideRecord('task');


  if(gr.get(current.table_sys_id))


  {


  gr.work_notes = "Attachment: " + current.file_name + " has been removed.";


  gr.update();


  }


}



The above mentioned code is in the OOB business rule called "Delete Attachment - Update Record"


-------------------------------------------------


Don't know if we can update the script in the following:


var att = new GlideRecord('task');


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


att.query();


gs.log('test attachment ' + att.getRowCount());


if(!att.next())


{


  att.u_has_attachment = "false";


}