How to copy attachments from RITM to taks

RudhraKAM
Tera Guru

Hello

i would like to copy when the attachment is attached to RITM it should copy over to associated Task as well , i searched in the community , some have i found that business rule , but the issue i am facing here is 

When i mark the business rule to run on insert , its not performing any action  meaning if i attach an image and if i open the associated task cannot see the image.

and when i change the business rule from insert to update , its acting even strange , when i attach any attachment on RITM and save it and open the task , i cannot see any attachment and if i save the task then i can see the attachement and  if i save it again its duplicating the attachement . Am i missing any thing here , can some one help me with this please,

find_real_file.png

 

find_real_file.png

 

1 ACCEPTED SOLUTION

Let's try below code on sys_attachment table with after insert BR, I have tested and it works fine. 

(function executeRule(current, previous /*null when async*/) {
	var sctask = new GlideRecord('sc_task');
	sctask.addQuery('request_item', current.table_sys_id);
	sctask.addQuery('request_item.cat_item', 'PASS THE SYS_ID OF CATALOG ITEM HERE');
	sctask.query();
	if(sctask.next()){
		var deleteTaskAttachment = new GlideRecord('sys_attachment');
		deleteTaskAttachment.addQuery('table_sys_id', sctask.sys_id.toString());
		deleteTaskAttachment.addQuery('table_name', 'sc_task');
		deleteTaskAttachment.deleteMultiple();
		
		var ritmAttachment = new GlideRecord('sys_attachment');
		ritmAttachment.addQuery('table_sys_id', sctask.request_item);
		ritmAttachment.query();
		if(ritmAttachment.next())
			GlideSysAttachment.copy('sc_req_item', ritmAttachment.table_sys_id, 'sc_task', sctask.sys_id); 
	}
})(current, previous);

View solution in original post

22 REPLIES 22

Jaspal Singh
Mega Patron
Mega Patron

Hi,

 

Can you try changing the business rule to run async & check once.

 

Thanks,

Jaspal Singh

 

Hit Helpful or Correct on the impact of response.

Its not working 😞

Try using

 

GlideSysAttachment.copy('sc_req_item',current.request_item.sys_id,'sc_task',current.sys_id);

 

Thanks,

Jaspal Singh

 

Hit Helpful or Correct on the impact of response.

its not working either