How to copy worknotes from interaction to Incident table on Agent Workspace

Meenal Gharat
Giga Guru

Hi All,

how can we copy worknotes from Interaction to Incident on agent workspace?

I tried editing with below UI Action yet no luck, can someone help me with this.

if(current.update()){
var inc = new GlideRecord("incident");
inc.initialize();
inc.caller_id = current.opened_for;
inc.short_description = current.short_description;
var worknotes = inc.work_notes.getJournalEntry(1);
//inc.work_notes = current.work_notes;
worknotes = current.work_notes;
action.openGlideRecord(inc);
}

 

Thank you.

Regards,

Meenal

 

1 ACCEPTED SOLUTION

Audrey Deruere
Mega Expert

Hello,

 

For those who wants the solution :

- Create a business rules on the table "interaction_related_record", before insert with order of 400 and copy this code :

(First part has been taken from another OOB business rules, it's because BR run twice on insert ....)

var existingRelationship = new GlideRecord("interaction_related_record");
existingRelationship.addQuery("interaction", current.interaction);
existingRelationship.addQuery("document_id", current.document_id);
existingRelationship.setLimit(1);
existingRelationship.query();

if (existingRelationship.next()) {
current.setAbortAction(true);
}else{
var grTask = new GlideRecord(current.document_table);
grTask.get(current.document_id);

grTask.work_notes = current.interaction.work_notes.getJournalEntry(-1);
grTask.update();

var attachment = new GlideSysAttachment();
attachment.copy('interaction', current.interaction.sys_id, current.document_table, current.document_id);
}

 

 

 

View solution in original post

22 REPLIES 22

No, it didn't work for me as a business rule. It did, however, work when I edited the UI Action to Create Incident from Interaction.  I also added a u_interaction field on the incident table.

 

var canCreateIncident = false;
if ((current.isNewRecord() && current.canCreate()) || (!current.isNewRecord() && current.canWrite()))
canCreateIncident = current.update();
else
canCreateIncident = true;

if (canCreateIncident) {
var inc = new GlideRecord("incident");
inc.initialize();
inc.caller_id = current.opened_for;
inc.short_description = current.short_description;
inc.cmdb_ci = current.u_ci;

inc.u_interaction = current.sys_id;
inc.work_notes = current.work_notes.getJournalEntry(-1);

//record inserted to incident table
inc.insert();

GlideSysAttachment.copy('interaction', current.sys_id, 'incident', inc.sys_id);

action.openGlideRecord(inc);
}

Aaron B
Kilo Contributor

Thanks, this worked for me!

Added it to the UI Action instead of a BR.

How can we modify this for request table because I have to copy the work notes from interaction to requests

Hi,

I tried your code and couldnt get it working.

When opening a Interaction, then creating a new Incident from the Interaction it doesnt copy over any fields.

This one works like a charm. Thanks! (Rome)