GlideDateTime in client side javascript
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎02-13-2013 02:45 PM
I have a requirement to generate a report to display records from 9AM yesterday till 9AM today. To get that report I built a URL by passing sysparm_query as shown below
https://demo004.service-now.com/change_request_list.do?sysparm_query=sys_created_onBETWEENjavascript... GlideDateTime(gs.yesterday()).getDate().toString(),'09:00:00')@javascript:gs.dateGenerate(gs.now(),'09:00:00')
on this URL
javascript:gs.dateGenerate(gs.now(),'09:00:00') -- this part returns proper value but javascript:gs.dateGenerate(new GlideDateTime(gs.yesterday()).getDate().toString(),'09:00:00') does not return any value. If I run the script in background script it returns me correct value. SO it seems like script include "GlideDateTime" may not be available on client side. This script include is not exposed in the system as well..
Is there any way to get this working?
Thanks
Amit
- Labels:
-
Service Mapping
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎02-20-2013 06:02 AM
The problem is that the gs.yesterday() return dateTime where gs.now() just returns the date
What you can do is remove the time component and just use the date
https://demo004.service-now.com/change_request_list.do?sysparm_query=sys_created_onBETWEENjavascript:gs.dateGenerate(gs.yesterday().split('%20')[0],'09:00:00')@javascript:gs.dateGenerate(gs.now(),'09:00:00')
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎02-20-2013 06:26 PM
This will work if you have fixed date time format. this is how I implemented it...
create client callable script include
var reportFuncs = Class.create();
reportFuncs.prototype = {
getYesterday:function() {
return gs.dateGenerate(new Packages.com.glide.glideobject.GlideDateTime(gs.yesterday()).getDate(),'09:00:00');
},
getToday:function() {
return gs.dateGenerate(gs.now(),'09:00:00');
},
getTomorrow:function() {
var gd = new Packages.com.glide.glideobject.GlideDateTime();
gd.add(86400000);
return gs.dateGenerate(gd.getDate(),'09:00:00');
},
type: 'reportFuncs'
};
you can use it as below
https://demo004.service-now.com/change_request_list.do?sysparm_query=sys_created_onBETWEENjavascript:new reportFuncs().getToday()@javascript:new reportFuncs().getTomorrow()