- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-26-2022 08:59 AM
I'm trying to add multiple durations together with the below script. It loops through each record but only seesm to add teh final duration. Or it could be overwriting the previous value. Any help would be much appreciated.
(function executeRule(current, previous /*null when async*/ ) {
var gdt = new GlideDateTime();
gdt.setValue(current.u_date);
gdt.getDate();
var gd = new GlideDate();
gd.setValue(gdt);
var x = gd.toString();
var gr = new GlideRecord('task');
gr.addQuery('assigned_to', current.u_user);
gr.addEncodedQuery("start_dateON" + gd + " @javascript:gs.dateGenerate('" + x + "','start')@javascript:gs.dateGenerate('" + x + "','end')");
gr.query();
var dur = new GlideDuration();
dur.setValue('0 00:00:00');
while (gr.next()) {
var gd2 = new GlideDuration(gr.duration);
gd2.setValue(gr.duration);
var gd3 = dur.add(gd2);
}
gs.log(gd3, 'kwq');
Solved! Go to Solution.
- Labels:
-
Scripting and Coding
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-26-2022 11:03 AM
Here is code snippet from PDI to add durations into a variable
var grInc = new GlideRecord("incident");
grInc.addEncodedQuery("calendar_duration!=NULL^sys_class_name!=wm_task^ORsys_class_name=NULL^sys_class_name=incident^priority=1^assigned_to=5137153cc611227c000bbd1bd8cd2007");
grInc.query()
var dur = new GlideDuration();
dur.setValue('0 00:00:00');
while(grInc.next()){
dur.add(grInc.calendar_duration.dateNumericValue());
}
gs.print(dur);
gs.print(dur.getDisplayValue());
*** Script: 1970-09-22 13:43:10
*** Script: 264 Days 13 Hours 43 Minutes
Vinod Kumar Kachineni
Community Rising Star 2022
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-26-2022 11:03 AM
Here is code snippet from PDI to add durations into a variable
var grInc = new GlideRecord("incident");
grInc.addEncodedQuery("calendar_duration!=NULL^sys_class_name!=wm_task^ORsys_class_name=NULL^sys_class_name=incident^priority=1^assigned_to=5137153cc611227c000bbd1bd8cd2007");
grInc.query()
var dur = new GlideDuration();
dur.setValue('0 00:00:00');
while(grInc.next()){
dur.add(grInc.calendar_duration.dateNumericValue());
}
gs.print(dur);
gs.print(dur.getDisplayValue());
*** Script: 1970-09-22 13:43:10
*** Script: 264 Days 13 Hours 43 Minutes
Vinod Kumar Kachineni
Community Rising Star 2022
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
11-04-2022 09:12 AM
How would you add this back to a duration field?
I tried cs.u_estimated_effort.setDateNumericValue(dur); as well as cs.u_estimated_effort = dur but it's not updating the field correctly.