Convert Work Order to Incident

kal123
Tera Contributor

Hi All,

I am searching for a way that when I convert a Work Order to an Incident, the Work Order is set to Closed Incomplete/Cancelled. As of right now I have the issue that when clicking the UI action "Create Incident" the Incident is created but the Work Order is still active and set to true. What would be the best way to automatically close this Work Order once the Incident is created? Any help would be appreciated. 

 

Thank you,

2 ACCEPTED SOLUTIONS

Here's a quick answer that might fit your current need. You can improve it according to the evolution of your organization.

 

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;
    if (gs.getProperty("com.snc.incident.create_from_interaction.save") === 'true') {
        inc.work_notes = gs.getMessage('Incident created from Interaction {0}', current.number);
        var incSysId = inc.insert();
        if (incSysId) {
            var interactionRelatedGR = new GlideRecord("interaction_related_record");
            interactionRelatedGR.initialize();
            interactionRelatedGR.interaction = current.sys_id;
            interactionRelatedGR.document_table = 'incident';
            interactionRelatedGR.document_id = incSysId;
            interactionRelatedGR.insert();
        }
    }

    action.openGlideRecord(inc);
    new InteractionRelationshipUtil().copyAttachments(current, inc);

    /* Put the information 'work notes' corresponding to your organization here */
    current.work_notes = "Question from Kal123";
    current.state = 4; //closed incomplete or 3 for closed complete
    current.update();
    /* quick fix */
}

 

Please mark the appropriate response as correct answer and helpful, This may help other community users to follow correct solution.
Regards,

Hope it helps!

Donald DJA

View solution in original post

Donald  DJA
Kilo Sage

Hello @kal123 ,

I checked the difference UI actions that you have shared here, and i appreciate that.

For UI action from Work order [wm_order] table, can you try this script below (You can change any informations for meeting your organisation needs) :

 

 

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;
    if (gs.getProperty("com.snc.incident.create_from_interaction.save") === 'true') {
        inc.work_notes = gs.getMessage('Incident created from Interaction {0}', current.number);
        var incSysId = inc.insert();
        if (incSysId) {
            var interactionRelatedGR = new GlideRecord("interaction_related_record");
            interactionRelatedGR.initialize();
            interactionRelatedGR.interaction = current.sys_id;
            interactionRelatedGR.document_table = 'incident';
            interactionRelatedGR.document_id = incSysId;
            interactionRelatedGR.insert();
        }
    }

    action.openGlideRecord(inc);
    new InteractionRelationshipUtil().copyAttachments(current, inc);
	/* Put the information corresponding to your organization here */
	current.work_notes = "Question from Kal123"; // change this information for organisation needs
	current.state = 4;
	current.update();
}

 

 

Please mark the appropriate response as correct answer and helpful, This may help other community users to follow correct solution.
Regards,

Hope it helps!

Donald DJA

View solution in original post

11 REPLIES 11

Donald  DJA
Kilo Sage

Hello @kal123 ,

 

To best meet your needs, I advise you to modify the script behind the UI action : "Create Incident" so that it automatically closes the work order once the incident has been created. If you want me to help you with the script, don't hesitate to share with me the current content of your UI Action: "Create Incident".

 

Please mark the appropriate response as correct answer and helpful, This may help other community users to follow correct solution.
Regards,

Hope it helps!

Donald DJA

@Donald DJA I have a question about the Work Order also, when it is automatically closed is it set to closed incomplete or closed complete?

 

Thank you,

Hello @kal123 ,

On my different implementations, the work order was placed in closed complete, because in my clients processes, the work order was considered to be "completed". However, depending on your organization's needs and internal processes, you may have different processes.

 

Please mark the appropriate response as correct answer and helpful, This may help other community users to follow correct solution.
Regards,

Hope it helps!

Donald DJA

Hello @Donald DJA 

 

Thank you for the clarification. If possible could you help with the script to make this automatic closing of a Work Order possible?

 

Thank you!