Calendar_duration
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-27-2018 01:14 PM
I wrote this background script but the results don't seem to update calendar_duration field. I find 54 qualified records. Durations are written in logs.
Why?
var dc = new DurationCalculator();
var completedVisitRequests= new GlideRecord('u_visit_request_tasker');
completedVisitRequests.addQuery('active', false);
completedVisitRequests.addQuery('calendar_duration', '');
completedVisitRequests.query();
gs.info("Returning"+completedVisitRequests.getRowCount());
while (completedVisitRequests.next())
{
var dur=dc.calcScheduleDuration(completedVisitRequests.sys_created_on, completedVisitRequests.sys_updated_on);
completedVisitRequests.calendar_duration=dur;
completedVisitRequests.update();
}
- Labels:
-
Scripting and Coding

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-27-2018 01:26 PM
Hi,
can you help me out with the type of the fileld calendar_duration
Thanks,Naveen

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-27-2018 01:38 PM
In the above script the DUR is returning in seconds.
var dc = new DurationCalculator();
var gr= new GlideRecord('incident');
gr.addQuery('active', false);
//gr.addQuery('calendar_duration',''); //commented for testing
gr.query();
gs.info("Returning"+gr.getRowCount());
while (gr.next())
{
var dur=dc.calcScheduleDuration(gr.sys_created_on, gr.sys_updated_on);
gr.calendar_duration=dur;
//gs.print("test");
gs.print(dur);
var agedur = new GlideDuration(dur);
gs.addInfoMessage(agedur.getDisplayValue());
//gs.addInfoMessage(dur);
gr.u_test = agedur.getDisplayValue();//test filed type is duration
gr.update();
}
This is working fine for me.
Thanks,Naveen
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-27-2018 01:44 PM
Does your script allow you to update the calendar_duration field that is inherited out of task table? Duration(calendar_duration) is of type duration.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-27-2018 01:55 PM
try changing below
var dur=dc.calcScheduleDuration(completedVisitRequests.sys_created_on.getGlideObject(), completedVisitRequests.sys_updated_on.getGlideObject());
completedVisitRequests.calendar_duration=dur;
completedVisitRequests.update();
or
var dur=dc.calcScheduleDuration(completedVisitRequests.sys_created_on.getDisplayValue(), completedVisitRequests.sys_updated_on.getDisplayValue());
completedVisitRequests.calendar_duration=dur;
completedVisitRequests.update();