- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-13-2018 12:54 AM
Hi,
in catalog items, i have one filed, documents submit "Last End Date" (variable in catalog item)
ex: Last End Date=20/08/2018 19:50:20 then notification trigger one month before means on 20/07/2018.
So how can we do it.
my Br script is not working...
if(gs.dateDiff(gs.nowDateTime(), current.variables.ex_date.getDisplayValue(),true)/3600>=720)
{
var gdt = new GlideDateTime(current.variables.ex_date.getDisplayValue());
gdt.addDaysLocalTime(-30);
gs.eventQueueScheduled ( "thirty" , current, gs. getUserID ( ) , gs. getUserName ( ) , gdt) ;
}
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-13-2018 04:05 AM
Hi Chanikya,
You need to use your variable instead of my column name. Also I think you need to run this only for specific catalog item so if yes then add that query as well.
try this:
send1streminder();
function send1streminder() {
var task = new GlideRecord('sc_req_item');
task.addQuery('active', 'true');
var encodedQuery = task.variables.ex_date + 'RELATIVEGE@dayofweek@ahead@30^' + task.variables.ex_date + 'RELATIVELE@dayofweek@ahead@31';
task.addEncodedQuery(encodedQuery);
task.query();
while(task.next()){
gs.eventQueue('last_date', task, gs.getUserID(), gs.username());
}
}
Mark Correct if this solves your issue and also hit Like and Helpful if you find my response worthy based on the impact.
Thanks
Ankur
Ankur
✨ Certified Technical Architect || ✨ 9x ServiceNow MVP || ✨ ServiceNow Community Leader
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-13-2018 06:53 AM
Hi Chanikya,
Good to hear that it worked. Can you also mark my answer as correct, helpful. This helps in removing this question from unanswered list and helps users to learn from your thread. Thanks in advance.
Regards
Ankur
Ankur
✨ Certified Technical Architect || ✨ 9x ServiceNow MVP || ✨ ServiceNow Community Leader
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
09-19-2022 11:47 PM
Hello Ankur,
I need to exclude Weekends and holidays(I have a schedule), How can I exclude that days?
Thanks
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-13-2018 02:16 AM
Try below code in scheduled job:
var gr = new GlideRecord('sc_req_item');
gr.addEncodedQuery('');//add the item name for which you wanted to run the script
gr.query();
while(gr.next()){
var datedif = gs.dateDiff(gr.variables.variable_name,gs.nowDateTime());//add variable name
var datetrim=datedif;
var index=datedif.indexOf(' ');
var aftertrim=datetrim.substring(0,index);
gs.log('check date', aftertrim)
if(aftertrim < '30'){
gs.eventQueueScheduled ( "thirty" , current, gs. getUserID ( ) , gs. getUserName ( )) ;
}
}
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-13-2018 02:51 AM
Hi
not more than 30 days , not less than 30 days
ex: Last Date= 20/08/2018 12:10:50 trigger exact 30 days count
to days date is 13/07/2018 to tigger 30 days of Last Date 13/08/2018, should not trigger 12,14,15,16 / 08/2018
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-13-2018 03:11 AM
change it to if(aftertrim == '30'){
Also change check what log you are getting for aftertrim