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";


}