Skip to content

Commit 0fd0286

Browse files
Update script.js
1 parent a21e5fd commit 0fd0286

File tree

1 file changed

+9
-15
lines changed
  • Core ServiceNow APIs/GlideDateTime/Calculate Due date using user defined schedules

1 file changed

+9
-15
lines changed

Core ServiceNow APIs/GlideDateTime/Calculate Due date using user defined schedules/script.js

Lines changed: 9 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -3,23 +3,17 @@ CaclculateDueDate.prototype = {
33
initialize: function() {},
44

55
calculateDueDate: function(date, days_to_add) {
6-
var checkDate = new GlideDateTime(date);
7-
var daysToAdd = days_to_add;
6+
var business_hour_per_day = 8; // This can be stored in the system property (Value in Hours) and reused
7+
var duration_script = new DurationCalculator(); // OOB Script include
8+
var tz = gs.getSysTimeZone(); // Get the system timezone
89

10+
duration_script.setSchedule('c798c1dfc3907e1091ea5242b40131c8', tz); // Sys id of the schedule
11+
duration_script.setStartDateTime(new GlideDateTime(date));
12+
var total_duration = days_to_add * (business_hour_per_day * 60 * 60); // Converting the days to seconds
13+
duration_script.calcDuration(total_duration);
914

10-
while (daysToAdd > 0) {
11-
var sched = new GlideSchedule('c798c1dfc3907e1091ea5242b40131c8'); // Schedule record SYS_ID. Currently 9-5 Weekdays and Indian Public Holiday(excluded) schedule has been used
12-
checkDate.addDaysLocalTime(1);
13-
if (sched.isInSchedule(checkDate)) {
14-
daysToAdd--;
15-
16-
} else {
17-
continue;
18-
19-
}
20-
}
21-
22-
return checkDate.getValue();
15+
var calculated_due_date = duration_script.getEndDateTime();
16+
return calculated_due_date.getDisplayValue();
2317
},
2418

2519
type: 'CaclculateDueDate'

0 commit comments

Comments
 (0)