Client script to populate start/end date from CHG to CTASK

jean-pauldehaas
Tera Guru

Hi all,

 

i have a requirement to populate the start/end date from the change to all new(manually) created CTASKs.

 

i created a client script (for testing i only used start date first) for this but i think im missing something..

 

function onLoad() {
   //Type appropriate comment here, and begin script below
   if (g_form.getValue('planned_start_date') == '') {
    g_form.setValue('planned_start_date', 'change_request.start_date');
   }
}
 
 
can anyone point me in the right direction ?
1 ACCEPTED SOLUTION

Hi @jean-pauldehaas ,

 

Sure! See below for the Script Include:

 

var ChangeTaskUtils = Class.create();
ChangeTaskUtils.prototype = Object.extendsObject(AbstractAjaxProcessor, {

    getDates: function() {
        var parentChange = this.getParameter('sysparm_parent_change');
        var gr = new GlideRecord('change_request');
        gr.get(parentChange);
        var pstart = new GlideDateTime();
        var pend = new GlideDateTime();
        pstart.setValue(gr.getValue('start_date'));
        pend.setValue(gr.getValue('end_date'));
        var results = {
            "planned_start": gr.start_date.getDisplayValue(),
            "planned_end": gr.end_date.getDisplayValue()
        };
        //gs.log("Results: " + JSON.stringify(results));
        return JSON.stringify(results);
    },

    getAssignmentGroup: function() {
        var parentChange = this.getParameter('sysparm_parent_change');
        var tasktype = this.getParameter('sysparm_task_type');
        var gr = new GlideRecord('change_request');
        gr.get(parentChange);
        if (gr.type == 'standard','normal' && tasktype == 'customer_coordination') {
            var assignmentgroup = gr.getValue('assignment_group');
            return assignmentgroup;
        }
    },

    type: 'ChangeTaskUtils'
});

View solution in original post

20 REPLIES 20

Jack Littlewort
Giga Guru

Hi @jean-pauldehaas ,

 

You must use the getReference function on the g_form object.

 

The following code would achieve this

if (g_form.getValue('planned_start_date') == '') {

g_form.getReference('change_request', chgCallback);
}
function chgCallback(chgReq) {
g_form.setValue('planned_start_date', chgReq.start_date);
}
 

unfortunetly this doesnt work

Are you able to share a screenshot of your script?

jeanpauldehaas_0-1699963764151.png