- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎07-05-2017 02:27 AM
Hello,
If there is three tasks in the change_request_task table having three dates for three tasks in that two are in new state and one is in cancel state. I need to update higher date to the parent (change_request) table, which is in new state only (i.e., cancel state date should not be updated even if it is higher date). I am able to update the parent date irrespective to the state fields in the tasks.
can anyone help me out??
Thanks,
Nitesh
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎07-06-2017 12:09 AM
Hello Nitish,
The below code will fetch date as per requirement for which I have been worked on the kind of same requirement.
Below is a after update business rule:
var newDate = [];
var dateft;
var date = current.u_proposed_e_t_d;
var dtsplit = date.split("-");
var dtans = dtsplit[1] + '/' +dtsplit[2] + '/' +dtsplit[0];
var pardate = new GlideRecord('u_workorder');
pardate.addQuery('sys_id',current.parent);
pardate.query();
if(pardate.next()){
var pdate = pardate.u_suggested_delivery_date;
if(pardate.u_suggested_delivery_date == date){
var gr1 = new GlideRecord('u_workorder_tasks');
gr1.addQuery('parent',current.parent);
gr1.addEncodedQuery('u_task_state!=50');
gr1.query();
while(gr1.next()){
var gtdate= gr1.u_proposed_e_t_d;
dateft = dateft + ',' + gtdate;
var dt = new GlideDate();
dt.setValue(gtdate);
var gdt = new GlideDateTime(dt);
var num = gdt.getNumericValue();
newDate.push(num);
}
var dateftsplit = dateft.split(",");
var s = Math.max.apply(null,newDate);
var index = newDate.indexOf(s);
var key = index + 1;
var updatedate = dateftsplit[key];
var dateformatreq = updatedate.split("-");
var dtfrmtreq = dateformatreq[1] + '/' + dateformatreq[2] +'/' + dateformatreq[0];
pardate.u_suggested_delivery_date = dtfrmtreq;
pardate.update();
}
}
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎07-06-2017 12:09 AM
Hello Nitish,
The below code will fetch date as per requirement for which I have been worked on the kind of same requirement.
Below is a after update business rule:
var newDate = [];
var dateft;
var date = current.u_proposed_e_t_d;
var dtsplit = date.split("-");
var dtans = dtsplit[1] + '/' +dtsplit[2] + '/' +dtsplit[0];
var pardate = new GlideRecord('u_workorder');
pardate.addQuery('sys_id',current.parent);
pardate.query();
if(pardate.next()){
var pdate = pardate.u_suggested_delivery_date;
if(pardate.u_suggested_delivery_date == date){
var gr1 = new GlideRecord('u_workorder_tasks');
gr1.addQuery('parent',current.parent);
gr1.addEncodedQuery('u_task_state!=50');
gr1.query();
while(gr1.next()){
var gtdate= gr1.u_proposed_e_t_d;
dateft = dateft + ',' + gtdate;
var dt = new GlideDate();
dt.setValue(gtdate);
var gdt = new GlideDateTime(dt);
var num = gdt.getNumericValue();
newDate.push(num);
}
var dateftsplit = dateft.split(",");
var s = Math.max.apply(null,newDate);
var index = newDate.indexOf(s);
var key = index + 1;
var updatedate = dateftsplit[key];
var dateformatreq = updatedate.split("-");
var dtfrmtreq = dateformatreq[1] + '/' + dateformatreq[2] +'/' + dateformatreq[0];
pardate.u_suggested_delivery_date = dtfrmtreq;
pardate.update();
}
}
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎07-06-2017 12:37 AM
hey surya, excellent work.. saved me lot of time for me.. Keep rocking...
Thanks,
Nitesh
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎07-06-2017 12:39 AM
Thanks mate!! Hope you too rock