- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-12-2024 08:04 AM
- Dear Team ,
Catalog form I have start and enda date time fields all time of validation completed like time should between 8 to 18 only etc... And working fine. One problem I am facing in Ritm for example I have impersonate with US timezone user and selected start and end date like this 15 Jan 2024 time is 14 hours and then submitted the form RITM got generated.
Step 2 . In my timezone is CET ... End important and login with my timezone and seeing the Ritm it's showing 20 hours .. I need time between 8 to 18 only always user should allow to select and in Ritm I want to see in catalog whatever time selected same I want ... How solve this please help me . anyone
In script include I have done all validations like 8 to 18 hr between only should select otherwise through error etc...
Besed on users timezone only it's showing the time in RITm
If any more details need for solving issue please let me know
Thankyou
Bandi
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-12-2024 12:41 PM
Hello @pavana3 ,
Please give a try to the script below and let me know how it works for you.
Client Script:
if (newValue !== '') {
var date_time = g_form.getValue("FDD_ImplementStartDateTime").split(" ");
var date = date_time[0];
var time = date_time[1];
g_form.setValue("FDD_ImplementStartDate", date);
g_form.setValue("FND_ImplementStartTime", time);
var gAjax = new GlideAjax('BICMDBCatalogItemsUtils');
gAjax.addParam('sysparm_name', 'validateImplementationStartDateTime');
gAjax.addParam('sysparm_impl_startDate', newValue);
gAjax.addParam('sysparm_leadTime', g_form.getValue('FND_Leadtime'));
gAjax.addParam('sysparm_used_for', g_form.getValue('used_for'));
gAjax.addParam('sysparm_agreedHours', g_form.getValue('implementation_outside_agreed_service_hours'));
// Add time zone information to the GlideAjax call
var userTimeZone = g_form.getUser().getTimeZoneName();
gAjax.addParam('sysparm_userTimeZone', userTimeZone);
gAjax.getXML(validateDate);
}
Script Include:
validateImplementationStartDateTime: function() {
var correctTime = '';
var dateTime = this.getParameter('syparm_impl_startDate');
var leadTime = this.getParameter('sysparm_leadTime');
var usedFor = this.getParameter('sysparm_used_for');
var agreedhours = this.getParameter('sysparm_agreedHours');
var userTimeZone = this.getParameter('sysparm_userTimeZone');
// Use GlideDateTime to handle time zone conversions
var selectedDateTime = new GlideDateTime(dateTime);
selectedDateTime.setTZ(userTimeZone);
if (usedFor !== 'Production' && agreedhours !== 'true') {
correctTime = this.validateTime(selectedDateTime);
} else {
var gdt = new GlideDateTime();
gdt.addDaysLocalTime(leadTime);
gdt.addSeconds(3600);
if (selectedDateTime.after(gdt)) {
return 'true';
} else {
return 'Selected date has to be greater than Now + lead time + 1 hour';
}
}
if (correctTime === 'true') {
var gt = new GlideDateTime();
gt.addDaysLocalTime(leadTime);
gt.addSeconds(3600);
if (selectedDateTime.after(gt)) {
return 'true';
} else {
return 'Selected date has to be greater than Now + lead time + 1 hour';
}
} else {
return "The time should be between 08:00 - 18:00 and the day should be in Weekdays";
}
},
validateTime: function(dateTime) {
// Your existing time validation logic goes here
// Ensure that the time is between 08:00 - 18:00 and the day is a weekday
// Return 'true' if the time is valid, otherwise return an error message
}
Let me know your views on this and Mark ✅Correct if this solves your query and also mark 👍Helpful if you find my response worthy based on the impact.
Thanks,
Aniket
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-18-2024 11:08 AM
Thank you so much Aniket
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-21-2024 02:55 AM
Hello @pavana3 ,
No problem at all! If you run into any more issues or have additional questions, feel free to let me know.
Thank you & have a great day ahead!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-01-2024 03:12 AM
Hi Aniket Chavan ,
do you know flow design ... in flow design i have planned start and planned end dates are there ... if user is selected MD release that planned start date should be Monday date should display in that week and end date also same but with in start date time 8 to end date time should before 18 hors need complete .
How to do this validation if you know please help me
Thanks & regards,
bandi
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-03-2024 02:21 AM
same validation how to do in flow design i have fields like planned start and end date based on planned start date input i have to display next working day as planned end date how to do this in flow design if you know any one please replay.
Thanks & Regards
Bandi