- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
11-28-2022 03:24 AM
Hi team ,
I am trying to get the difference of 2 dates in days , I tried below script , but its not working :
Catalog Client Scripts
function onChange(control, oldValue, newValue, isLoading) {
if (isLoading || newValue == '') {
return;
}
var answer;
var ga=new GlideAjax('NofDays');
ga.addParam('sysparm_name','days');
ga.addParam('sysparm_start',g_form.getValue('u_date'));
ga.addParam('sysparm_end',g_form.getValue('audit_last_test'));
ga.getXMLWait();
answer=ga.getAnswer();
g_form.setValue('audit_required_timeframe',answer);
}
Script Include :
var NofDays = Class.create();
NofDays.prototype = Object.extendsObject(AbstractAjaxProcessor, {
days:function(){
var start=this.getParameter('sysparm_start');
var end=this.getParameter('sysparm_end');
return gs.dateDiff(start,end);
},
type: 'NofDays'
});
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
11-28-2022 04:30 AM - edited 11-28-2022 04:32 AM
Hello @soumyadaggula ,
can you try this in script include ?
var NofDays = Class.create();
NofDays.prototype = Object.extendsObject(AbstractAjaxProcessor, {
days:function(){
var start = new GlideDateTime(this.getParameter('sysparm_start'));
var end = new GlideDateTime(this.getParameter('sysparm_end'));
var diff = GlideDateTime.subtract(start, end);
var days = diff.getRoundedDayPart();
return days;
},
type: 'NofDays'
});
Hope this helps
Mark my answer correct if this helps you
Thanks
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
11-28-2022 04:07 AM
there is no issue found on your script but there is one suggestion, rather than use getXMLWait please try with getxml like below
ga.getXML(callback); function callback(response) { var comments = response.responseXML.documentElement.getAttribute("answer"); g_form.setValue("comments", comments); //Set the "Comments" field with comments in the dialog }
Please try and let me know if it helpful or not.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
11-28-2022 04:15 AM
I get this after I update :
function onChange(control, oldValue, newValue, isLoading) {
if (isLoading || newValue == '') {
return;
}
var answer;
var ga=new GlideAjax('NofDays');
ga.addParam('sysparm_name','days');
ga.addParam('sysparm_start',g_form.getValue('u_date'));
ga.addParam('sysparm_end',g_form.getValue('audit_last_test'));
ga.getXML(callback);
function callback(response) {
var comments = response.responseXML.documentElement.getAttribute("answer");
g_form.setValue("audit_required_timeframe", comments); //Set the "Comments" field with comments in the dialog
}
}
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
11-28-2022 04:17 AM - edited 11-28-2022 04:17 AM
yes gs.dateDiff set value in this format. What kind of value you expect???
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
11-28-2022 04:19 AM
in number , Difference between 2 dates in days