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-28-2018 07:44 AM
this works for me
var gr = new GlideRecord("task");
gr.addEncodedQuery('active=false^calendar_durationISEMPTY');
gr.autoSysFields(false); // so that the records don't have system updates
gr.query();
while(gr.next()) {
var gdt1 = new GlideDateTime(gr.sys_created_on.getDisplayValue());
var gdt2 = new GlideDateTime(gr.closed_at.getDisplayValue());
var dur = gs.calDateDiff(gdt1, gdt2, false);
gr.calendar_duration = dur;
gr.setWorkflow(false);
gr.update();
}
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-28-2018 06:55 AM
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.getDisplayValue(), completedVisitRequests.sys_updated_on.getDisplayValue());
completedVisitRequests.calendar_duration=dur;
completedVisitRequests.update();
gs.info(dur)
}
*** Script: Returning54
*** Script: 5168
*** Script: 11
*** Script: 1851
*** Script: 173340
*** Script: 235
*** Script: 33
*** Script: 21
*** Script: 6
*** Script: 9
*** Script: 137
*** Script: 126
*** Script: 38
*** Script: 14
*** Script: 18
*** Script: 12
*** Script: 18
*** Script: 7
*** Script: 6
*** Script: 3402
*** Script: 55
*** Script: 20
*** Script: 18
*** Script: 2716
*** Script: 30
*** Script: 4419
*** Script: 26
*** Script: 13
*** Script: 11
*** Script: 15
*** Script: 19
*** Script: 51
*** Script: 247
*** Script: 81345
*** Script: 127
*** Script: 91
*** Script: 14
*** Script: 2120
*** Script: 1748
*** Script: 1591
*** Script: 656
*** Script: 460
*** Script: 296
*** Script: 41
*** Script: 36
*** Script: 31
*** Script: 125
*** Script: 1338
*** Script: 31
*** Script: 49
*** Script: 23
*** Script: 91
*** Script: 20
*** Script: 33
*** Script: 1612

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-28-2018 07:38 AM
Hi,,Please run this one and check.
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.setDateNumericValue(dur*1000);
completedVisitRequests.calendar_duration=completedVisitRequests.calendar_duration.getDisplayValue();
completedVisitRequests.update();
}
Thnkas,Naveen
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-28-2018 07:56 AM

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-28-2018 08:03 AM
Have you triedthis one.
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.setDateNumericValue(dur*1000);
completedVisitRequests.calendar_duration=completedVisitRequests.calendar_duration.getDisplayValue();
completedVisitRequests.update();
}