Trying to Calculate Days remaining

jasonjones
Giga Contributor

All,

I'm trying to create a client script or business rule that calculates the difference of a Warranty Expiration Date and the current date to determine a "Number of Days remaining" on the warranty.

find_real_file.png

I found this script in community to modify, but I'm still missing something.

function onChange(control, oldValue, newValue, isLoading) {
    var strt = g_form.getValue(warranty_expiration);  //set this as current warranty date
    var end = new Date(now.getFullYear(), now.getMonth(), no.getDate());  //This retrieves the current date
    var ajax = new GlideAjax('AjaxDurCalc');
    ajax.addParam('sysparm_name','durCalc');
    ajax.addParam('sysparm_strt',strt);
    ajax.addParam('sysparm_end',end);
    ajax.getXMLWait();
    var answer = ajax.getAnswer();
    g_form.setValue('u_days_of_remaining_warranty', answer);
}

Below is an error that is received.

find_real_file.png

Any help is appreciated.

Jason

41 REPLIES 41

Mike Patel
Tera Sage

warranty_expiration needs to be in quotes like "warranty_expiration"

var strt = g_form.getValue("warranty_expiration");  //set this as current warranty date

Dave Smith1
ServiceNow Employee
ServiceNow Employee

The error is as Mike mentioned: getValue() requires the field name to be specified as a string.

However, I would caution against trying to manipulate dates client-side, given that the display format is under user control so making assumptions the figures appear in specific locations is a flawed one.

Definitely BR is the way I would go - possibly triggered on a afterQuery so that the value can be calculated then displayed to the user when the form loads.

You may also want to look at a calculated field (or function field) to achieve the same outcome.

All,

I am still getting an error.  I also tried Duration and the following attribute string.

u_days_of_remaining_warranty = GlideDateTime.subtract(warranty_expiration.getDisplayValue(), gs.nowDate())

Which shows.

find_real_file.png

I also tried Calculated Value, but not having luck there either.  I'm sure it is syntax again.

 

Jason

jasonjones
Giga Contributor

I also found a BR that I modified.

Still not working. 

What am I missing