- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-26-2023 04:40 PM
Catalog item's delivery time
Client Script
function onLoad() {
//Type appropriate comment here, and begin script below
var today = new Date();
var ga = new GlideAjax('RITM_DueDate_WorkingDay');
ga.addParam('sysparm_name', 'getDeliveryTime');
ga.addParam('name', g_form.getValue('cat_item'));
ga.addParam('today', today);
ga.getXML(getDeliveryTime);
function getDeliveryTime(response){
var answer = response.responseXML.documentElement.getAttribute("answer");
g_form.setValue('due_date', answer);
}
}
Script include
var RITM_DueDate_WorkingDay = Class.create();
RITM_DueDate_WorkingDay.prototype = Object.extendsObject(AbstractAjaxProcessor, {
getDeliveryTime: function(){
var name = this.getParameter('name');
var today = this.getParameter('today');
var gr = new GlideRecord('sc_cat_item');
gr.addQuery('sys_id', name);
gr.query();
if(gr.next()){
//calculate RITM's due_date -> today(new Date()) + delivery time(gr.delivery_time)
var due_date = today + gr.delivery_time;
return due_date;
}
},
type: 'RITM_DueDate_WorkingDay'
});
I want to calculate it from Script include and send it to client script, what should I do?
Solved! Go to Solution.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-26-2023 05:26 PM - edited 01-26-2023 05:27 PM
Hi @BoHyun Jung ,
Follow as below
Client Script:
function onLoad() {
//Type appropriate comment here, and begin script below
var ga = new GlideAjax('RITM_DueDate_WorkingDay');
ga.addParam('sysparm_name', 'getDeliveryTime');
ga.addParam('sysparm_item', g_form.getValue('cat_item'));
ga.getXML(getDeliveryTime);
function getDeliveryTime(response){
var answer = response.responseXML.documentElement.getAttribute("answer");
alert(answer);
g_form.setValue('due_date', answer);
}
}
Script Include
var RITM_DueDate_WorkingDay = Class.create();
RITM_DueDate_WorkingDay.prototype = Object.extendsObject(AbstractAjaxProcessor, {
getDeliveryTime: function(){
var name = this.getParameter('sysparm_item');
var today = new GlideDateTime();
var dueDate = " ";
var gr = new GlideRecord('sc_cat_item');
gr.addQuery('sys_id', name);
gr.query();
if(gr.next()){
var deliveryTime = new GlideDateTime(gr.delivery_time);
var seconds = deliveryTime .getNumericValue() / 1000;
dueDate = today.addSeconds(seconds);
return dueDate;
}
},
type: 'RITM_DueDate_WorkingDay'
});
Please mark correct if my response has solved your query.
Cheers,
Mohammed Basheer Ahmed.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-26-2023 05:26 PM - edited 01-26-2023 05:27 PM
Hi @BoHyun Jung ,
Follow as below
Client Script:
function onLoad() {
//Type appropriate comment here, and begin script below
var ga = new GlideAjax('RITM_DueDate_WorkingDay');
ga.addParam('sysparm_name', 'getDeliveryTime');
ga.addParam('sysparm_item', g_form.getValue('cat_item'));
ga.getXML(getDeliveryTime);
function getDeliveryTime(response){
var answer = response.responseXML.documentElement.getAttribute("answer");
alert(answer);
g_form.setValue('due_date', answer);
}
}
Script Include
var RITM_DueDate_WorkingDay = Class.create();
RITM_DueDate_WorkingDay.prototype = Object.extendsObject(AbstractAjaxProcessor, {
getDeliveryTime: function(){
var name = this.getParameter('sysparm_item');
var today = new GlideDateTime();
var dueDate = " ";
var gr = new GlideRecord('sc_cat_item');
gr.addQuery('sys_id', name);
gr.query();
if(gr.next()){
var deliveryTime = new GlideDateTime(gr.delivery_time);
var seconds = deliveryTime .getNumericValue() / 1000;
dueDate = today.addSeconds(seconds);
return dueDate;
}
},
type: 'RITM_DueDate_WorkingDay'
});
Please mark correct if my response has solved your query.
Cheers,
Mohammed Basheer Ahmed.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-26-2023 08:28 PM

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-26-2023 08:30 PM
Do you mean : neglect the holidays and only calculate working days?
Please mark correct if my response has solved your query.
Cheers,
Mohammed Basheer Ahmed.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-26-2023 08:34 PM
right.
when i add delivery time to due date.
if today is monday, delivery time is 5days.
due date is next week's monday.