Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-14-2024 03:03 AM
Hi @Community Alums,
To achieve the described functionality in ServiceNow, follow these steps:
Step 1: Create Catalog Item and Variables
1. Create Catalog Item: Go to `Maintain Items` and create a new catalog item.
2. Add Variables:
- Date Range: Multiple Choice (1 day, 1 week, 1 month).
- Start Date: Date/Time.
- End Date: Date/Time.
Step 2: Add Client Script
1. Navigate to Client Scripts: In the catalog item, go to `Related Links` > `Catalog Client Scripts`.
2. Create New Client Script: Click `New` to create a client script.
Step 3: Define the Client Script
Add the following code to the client script:
```javascript
(function executeRule(current, g_form, g_user, g_scratchpad) {
function setDateFields() {
var dateRange = g_form.getValue('date_range'); // Replace 'date_range' with the actual variable name
g_form.clearValue('start_date'); // Replace 'start_date' with the actual variable name
g_form.clearValue('end_date'); // Replace 'end_date' with the actual variable name
if (dateRange) {
var currentDate = new Date();
var endDate = new Date(currentDate);
if (dateRange === '1_day') {
// Set end date to current date
} else if (dateRange === '1_week') {
endDate.setDate(endDate.getDate() + 7);
} else if (dateRange === '1_month') {
endDate.setMonth(endDate.getMonth() + 1);
}
g_form.setValue('start_date', currentDate.toISOString().split('T')[0]);
g_form.setValue('end_date', endDate.toISOString().split('T')[0]);
}
}
g_form.getControl('date_range').onchange = setDateFields; // Replace 'date_range' with the actual variable name
})(current, g_form, g_user, g_scratchpad);Thank you, please make helpful if you accept the solution.