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.

Copy image field from one form field to order record form field via script ...

Zod
Giga Guru

HI,

I'm using a ui action and use current record information to create a new record. The initial form includes an image field and I'd like to copy the image to the new field ... 

....

gr.u_new_image_field = current.u_image_field; does not work for image fields .. is there an easy way to do that?

1 ACCEPTED SOLUTION

var ids = GlideSysAttachment.copy('ZZ_YYsc_cat_item','current.sys_id','ZZ_YYsc_cat_item','destinationsys_id');

var gr = new GlideRecord("sys_attachment");
gr.addQuery("sysid", ids);
gr.query();
if (gr.next()) {
gr.setValue('file_name', 'u_icon.jpg');
gr.update();
}

View solution in original post

16 REPLIES 16

Did you check the thread posted by me?

 

https://community.servicenow.com/community?id=community_question&sys_id=60721f61db101fc01dcaf3231f96...


Please mark this response as correct or helpful if it assisted you with your question.

yes. I did , but not completely got it.

I managed to add the attachment, but the picture is broken. So something with the content did not work.

I wonder why "db_image" in involved as I did not finder the original picture there ...

Have to dig deeper to get the code from the link u provided.

 

Strange that there is no OOB solution for this .. so I will add some reusable function to use like copyfieldimage(fieldname, targettable,targetfield) .... 

 

As I'm no developer ... not that easy 😉

 

 

I found another solution here, which I think is simple. Try this

 

https://community.servicenow.com/community?id=community_question&sys_id=032dc3a9db9cdbc01dcaf3231f96...

 

var ga =   new GlideSysAttachment();

var attachments = ga.copy('db_image', yourImageAttachment.sys_id, 'ZZ_YYx_your_table',row.sys_id);


Please mark this response as correct or helpful if it assisted you with your question.

Still do not get it.

a) the picture I added to the source table field ... is available in the sys_attachment table - but NOT AVAILABLE in the db_image table ... so I do not see why the table is involved at all .. 

b) row.sys_id ... ?

 

 

sys attachment table uses filename as field name.

so let's say you want to copy picture from one cat item to another cat item

you will do 

GlideSysAttachment.copy('ZZ_YYsc_cat_item','current.sys_id','ZZ_YYsc_cat_item','destinationsys_id');