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

i had to change line 4 to 

var ga = new GlideAjax('ChangeUtils');
 
but its still not working, only the error message is showing on the ctask

could you share the script include you used  ?

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'
});

Thanks.

 

i have the script include and client script in place now but both fields on the task show values as undefined.

any idea ?

by changing the lines 13/14 in the client script to returneddata.planned_start & returneddata.planned_end i got it to work.

 

thanks!