copy attachment from sys_attachment record to sc_task record

Kumbham Pravee1
Tera Contributor

what's wrong in this code?

I am trying to attach file from sys_attachment to sc_task

below is the code:(Business rule)

table:sys_attachment

after insert

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

var reqnumber;

var gr1;

var gr2;

var reqitemnumber;

var sysid;

var uv = current.getUniqueValue();

gs.addInfoMessage(uv);

var s1 = current.getValue('table_sys_id');

var gr = new GlideRecord('sc_request');

gr.addQuery('sys_id',s1);

gr.query();

if(gr.next()){

reqnumber = gr.getUniqueValue();

gs.addInfoMessage(reqnumber);

gr1 = new GlideRecord('sc_req_item');

gr1.addQuery('request',reqnumber);

gr1.query();

if(gr1.next()){

reqitemnumber = gr1.getUniqueValue();

gs.addInfoMessage(reqitemnumber);

gr2 = new GlideRecord('sc_task');

gr2.addQuery('request_item',reqitemnumber);

gr2.query();

while(gr2.next()){

sysid = gr2.getUniqueValue();

gs.addInfoMessage(sysid);

GlideSysAttachment.copy('sys_attachment', uv, 'sc_task', sysid);

}

}

}

})(current, previous);

6 REPLIES 6

Actually, the simpler solution is the UI action, but no UI page:



find_real_file.png


We are using the related list and after discussing this chain with my team, we decided to add a UI Action like this in our instance, but we wanted them to be able to select multiple items and view them. This is the code for that UI List banner button:



function viewAttachment(){


    var attachments = g_list.getChecked();


    var arr = attachments.split(',');


    var t = 20;


    var l = 20;


    for(i = 0;i < arr.length;i++){


          var url = '/sys_attachment.do?sysparm_referring_url=tear_off&view=true&sys_id=' + arr[i];


          window.open(url,"","width=750,height=750,top=" + t +",left=" + l);


          t += 20;


          l += 20;


    }


}