- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
11-12-2017 01:04 PM
Hi,
I am unsuccessfully trying to dynamically set/calculate 'duration' field value based on difference between opened_at and closed_at fields in an scoped application.
I tried using script below for 'calculated value' but no luck.
Thanks in advance.
(function calculatedFieldValue(current) {
var startDate = current.opened_at;
var endDate = current.closed_at;
var duration = GlideDateTime.subtract(startDate, endDate);
return duration;
})(current);
I tried also:
return GlideDateTime.substract(opened_at,closed_at);
but no luck - -my calculated field show <empty> value.
Thank you.
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
11-13-2017 09:29 AM
Can we try something like this
(function calculatedFieldValue(current) {
var startDate = new GlideDateTime(current.opened_at);
var endDate = new GlideDateTime(current.closed_at);
var duration = GlideDateTime.subtract(startDate, endDate);
return duration.getDisplayValue();
})(current);
Please mark my response as correct and helpful if it helped solved your question.
-Thanks

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
12-11-2017 06:52 PM
Can you try with below if condition?
if(endDate.getDisplayValue() == ''){
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
12-11-2017 07:08 PM
Hello Mohammed
Please attach a screenshot of your feild(your calculated value/required duration feild)
(function calculatedFieldValue(current) {
var startDate = new GlideDateTime(current.u_today_s_date); //what is this field??
var endDate = new GlideDateTime(current.u_rca_due_date);
if(endDate == ''){
var today = new GlideDateTime();
var result = GlideDateTime.subtract(startDate, today);
return result.getDisplayValue();
}
else{
var duration = GlideDateTime.subtract(startDate, endDate);
return duration.getDisplayValue();
}
})(current);
return ''; // return the calculated value // why this return statement??
Please mark my response as correct and helpful if it helped solved your question.
-Thanks
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
12-11-2017 07:39 PM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
12-11-2017 07:50 PM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
12-11-2017 08:16 PM
Mohammed
Your feild type is glide_date but in the calculated value, we are using GlideDateTime() function. i think this is causing the issue.
Please mark my response as correct and helpful if it helped solved your question.
-Thanks