How to access duration type field
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎10-06-2023 12:50 AM
Hello Experts,
I have created a custom table for maintenance schedules. In the duration details section, my trigger type is set to "interval," and it repeats every 9 days. My requirement is to send a notification 3 days before each maintenance schedule. If it repeats every 6 days, the notification should still be sent 3 days before. I'm trying to access the "repeat" field value, whose data type is "duration," using the code below. However, I'm getting an output like "1970-01-10 00:00:00."
var gr=new GlideRecord('Demo_maintenance_schedule');
gr.get('5386d0941bb535d0a72cfdd2cd4bcba3');
gr.query();
if(gr.next())
{
gs.print('repeat'+gr.u_repeat);
}
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎10-06-2023 01:09 AM
Hello,
The default value for duration field is 1/1/1970, That is the reason why you get those values as output.
Please check the below post it may help you out:-
https://www.servicenow.com/community/developer-forum/set-value-of-duration-field-via-business-rule/m...
Please mark my answer as correct based on Impact.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎10-06-2023 03:44 AM
HI @Mark Wood ,
I trust you are doing great.
Please refer the below script
var gr = new GlideRecord('Demo_maintenance_schedule');
if (gr.get('5386d0941bb535d0a72cfdd2cd4bcba3')) {
var repeatInSeconds = gr.u_repeat.getNumericValue(); // Get the value in seconds
var repeatInDays = repeatInSeconds / (24 * 60 * 60); // Convert seconds to days
gs.print('Repeat interval: ' + repeatInDays + ' days');
}
Was this answer helpful?
Please consider marking it correct or helpful.
Your feedback helps us improve!
Thank you!
Regards,
Amit Gujrathi