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.

Current date and time in workspace

sakshi18
Tera Contributor

Greetings,

Element used: 

Workspace: BCM Workspace

Table: Event

Code written in : UI Action (ClosedComplete), Workspace Client Script field.

 

We have a requirement where upon clicking on a button the 'closed on' field should get populated with current date and time in BCM workspace.

But when we used 'var dateNow = new Date();' we received a different type of date format which cannot be used in the field i.e.., 'Fri Mar 21 2025 16:15:58 GMT+0530 (India Standard Time)'

Below is the code that we have written so far.

 

function onClick(g_form) {
    var dateNow = new Date();
    alert(dateNow);
    var title = getMessage('Accept policy');
    var message = getMessage("Are you sure you want to accept this policy?");
    g_modal.confirm(title, message, function(confirmed) {
        if (confirmed) {
           alert(dateNow);
            g_form.setValue('closed_on', dateNow);
            g_form.setValue('state', '30');
            g_form.save();
        }
    });
    return false;
}
 
We are unable to fetch date and set it in closed on field. When the setValue (Closed_on) line is commented, then the code runs fine.
Requesting for quick help as this is on priority.
ref: screenshot
sakshi18_12-1742554476737.png

 

Thank you,
Sakshi
1 ACCEPTED SOLUTION

@sakshi18 

why are you using JSON.parse() when you are not returning JSON from script include

that line is breaking the script

try this

function onClick(g_form) {
    var title = getMessage('Accept policy');
    var message = getMessage("Are you sure you want to accept this policy?");
    g_modal.confirm(title, message, function(confirmed) {
        if (confirmed) {
            var ga = new GlideAjax('sn_recovery.Crisis_Event_Client_Utils');
            ga.addParam('sysparm_name', 'getDatetime');
            ga.getXMLAnswer(function(answer) {
                alert('5 hi');
                alert('7 - result: ' + answer);
                g_form.setValue('closed_on', answer);
                g_form.setValue('state', '30');
                g_form.save();
            });
        }
    });
    return false;
}

If my response helped please mark it correct and close the thread so that it benefits future readers.

Regards,
Ankur
Certified Technical Architect  ||  9x ServiceNow MVP  ||  ServiceNow Community Leader

View solution in original post

16 REPLIES 16

Ankur Bawiskar
Tera Patron
Tera Patron

@sakshi18 

try this

function onClick(g_form) {
    var title = getMessage('Accept policy');
    var message = getMessage("Are you sure you want to accept this policy?");
    g_modal.confirm(title, message, function(confirmed) {
        if (confirmed) {
            alert(dateNow);
            var today_date = new Date();
            var today_date_time_str = formatDate(today_date, g_user_date_time_format);
            g_form.setValue('closed_on', today_date_time_str);
            g_form.setValue('state', '30');
            g_form.save();
        }
    });
    return false;
}

If my response helped please mark it correct and close the thread so that it benefits future readers.

Regards,
Ankur
Certified Technical Architect  ||  9x ServiceNow MVP  ||  ServiceNow Community Leader

Thank you for replying.
I have tried using the code with alert, and neither hi  nor today_date_time_str was printed. there was no alert box displayed for the second part of the code.
 
Below is the code for ref:
function onClick(g_form) {
    var title = getMessage('Accept policy');
    var message = getMessage("Are you sure you want to accept this policy?");
    g_modal.confirm(title, message, function(confirmed) {
        if (confirmed) {
            var dateNow = new Date();
            alert(dateNow);
            var today_date = new Date();
            var today_date_time_str = formatDate(today_date, g_user_date_time_format);
            alert('hi ' + today_date_time_str);
            // g_form.setValue('closed_on', today_date_time_str);
            // g_form.setValue('state', '30');
            // g_form.save();
        }
    });
    return false;
}

@sakshi18 

then try use GlideAjax and use GlideDateTime and from script include pass the current date/time and then set it

If my response helped please mark it correct and close the thread so that it benefits future readers.

Regards,
Ankur
Certified Technical Architect  ||  9x ServiceNow MVP  ||  ServiceNow Community Leader

@Ankur Bawiskar 

yes i have used it already,

the ui action was not even calling the script include.

so we had to change the approach