Disable ZZ_YY prefix from attachment when added through record producer

Chenab Khanna
Tera Expert

Hi,

I have a 'attachment' type variable in my record producer which i have made mandatory. When the user uploads any attachment, i want the attachment to get saved in the record created. But instead, it is hiding it.

I can see the entry created in sys_attachment but under table name field, a prefix ZZ_YY is getting added which is making the attachment hidden.

Please find the field below - 

find_real_file.png

 

Record in sys_attachment - 

find_real_file.png

Can anyone help me get this attachment added in the record as it happens when add any attachment from here - 

find_real_file.png

1 ACCEPTED SOLUTION

@Chenab Khanna 

This worked well for me

1) I created Async After Insert BR on the target table

2) Script as this

a) Remove the ZZ_YY

b) Then use the Copy Attachment

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

	// Add your code here
	var gr = new GlideRecord("sys_attachment");
	gr.addQuery("table_name", "ZZ_YY" + current.getTableName());
	gr.addQuery("table_sys_id", current.sys_id);
	gr.query();
	if (gr.next()) {
		gr.table_name = current.getTableName();
		gr.update();
		new global.VariableUtil().copy(gr.sys_id, current.getTableName(), current.sys_id); 
	}

})(current, previous);

Output:

1) The file added to the record

find_real_file.png

2) The file present on the attachment variable

find_real_file.png

Regards
Ankur

Regards,
Ankur
✨ Certified Technical Architect  ||  ✨ 9x ServiceNow MVP  ||  ✨ ServiceNow Community Leader

View solution in original post

56 REPLIES 56

No they are not getting inserted because i don't know why its not passing the if condition as i am not able to print the message "code working right if 2"

Hi,

is this happening with admins?

Regards
Ankur

Regards,
Ankur
✨ Certified Technical Architect  ||  ✨ 9x ServiceNow MVP  ||  ✨ ServiceNow Community Leader

Yes

Any errors in system log?

Can you try to query sys_attachment in background script and check

Regards,
Ankur
✨ Certified Technical Architect  ||  ✨ 9x ServiceNow MVP  ||  ✨ ServiceNow Community Leader

Yes i tried the same. It works correctly in the background script if i give the table name and table sys id. I also checked the output of current.getTableName(), current.sys_id. Both are giving correct results.

Not able to understand why it is not going to under if condition