- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
03-05-2025 01:45 PM
Hello SN experts,
I'm reaching out for your assistance, I'm trying to add a dedicate tab for "Incident Tasks" instead of searching this through the related records. For this I was following Now Create's steps, but I'm new with working with Extension points. Can you please guide me, the steps are:
"Goal: Achieve the Related list grouping by creating an implementation for the SOWRouteUtil scripted extension point.
Procedure
- Navigate to System extension points > Scripted extension points.
- Open sn_sow_record.SOWRouteUtil.
- To create an implementation, click the Create Implementation related link.
- Specify the following details for the implementation script include.
- I tried to replicate the same as change but I got no luck "now/nav/ui/classic/params/target/sys_extension_point.do%3Fsys_id%3D5d2e5253eb323010e69783402a52283c%26sysparm_record_target%3Dsys_extension_point%26sysparm_record_row%3D1%26sysparm_record_rows%3D1%26sysparm_record_list%3Dapi_nameCONTAINSrouteu%255EORDERBYname"
- Click Update.
- 6. Verify the functionality by opening an incident which has incident tasks associated with it. "
As a note I used the "Incident Management for SOW" scope.
thank in forwards!!!
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
03-05-2025 05:20 PM
Digging up, I finally found what ocurred, it's due to a property. If no incident tasks are added, the related list or in this case the tab will be hidden. KB1188616
Now in case you want to know how I added the "Incident Tasks" tab and hide it from the related records, what you need to do is
- Open the "SOWRouteUtil" extension point
- Click the "Create implementation"
- A script include will be created, renamed to something suitable for your update
- In this case, I named it "SOWIncidentRouteUtilCustom"
- You'll need to extend the "SOWIncidentRouteUtil"
- Add or override the logic
- Once finished, open the "SOWRouteUtil" extension point and go to the bottom of the form to view the "Implementations" related list
- Filter by application, and add the "Order" field in case it isn't added
- To ensure you override OOB implementation set yours with a lower order, that will do the magic
- Finished
The code is similar than the one for change
var SOWIncidentRouteUtilCustom = Class.create();
SOWIncidentRouteUtilCustom.prototype = Object.extendsObject(sn_sow_inc.SOWIncidentRouteUtil, {
initialize: function() {},
getListsForRelatedListTab: function(relatedLists, table, tabName) {
if (!relatedLists)
return;
var excludeLists = ["incident_task.incident"];
var lists = [];
if (tabName === 'related_list') {
lists = relatedLists.filter(function(rl) {
return excludeLists.indexOf(rl.value) === -1;
});
}
return lists;
},
getRelatedListConfig: function(table, sysId) {
var excludeLists = ["incident_task.incident"];
var relatedRecordTab = this.RELATED_RECORD_TAB;
relatedRecordTab["exclusionList"] = excludeLists;
var result = [{"label": gs.getMessage("Incident Tasks"),
"id": "sow_incident_tasks",
"exclusionList": null,
"inclusionList": excludeLists
}];
result.push(relatedRecordTab);
return result;
},
type: 'SOWIncidentRouteUtilCustom'
});
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
03-05-2025 05:20 PM
Digging up, I finally found what ocurred, it's due to a property. If no incident tasks are added, the related list or in this case the tab will be hidden. KB1188616
Now in case you want to know how I added the "Incident Tasks" tab and hide it from the related records, what you need to do is
- Open the "SOWRouteUtil" extension point
- Click the "Create implementation"
- A script include will be created, renamed to something suitable for your update
- In this case, I named it "SOWIncidentRouteUtilCustom"
- You'll need to extend the "SOWIncidentRouteUtil"
- Add or override the logic
- Once finished, open the "SOWRouteUtil" extension point and go to the bottom of the form to view the "Implementations" related list
- Filter by application, and add the "Order" field in case it isn't added
- To ensure you override OOB implementation set yours with a lower order, that will do the magic
- Finished
The code is similar than the one for change
var SOWIncidentRouteUtilCustom = Class.create();
SOWIncidentRouteUtilCustom.prototype = Object.extendsObject(sn_sow_inc.SOWIncidentRouteUtil, {
initialize: function() {},
getListsForRelatedListTab: function(relatedLists, table, tabName) {
if (!relatedLists)
return;
var excludeLists = ["incident_task.incident"];
var lists = [];
if (tabName === 'related_list') {
lists = relatedLists.filter(function(rl) {
return excludeLists.indexOf(rl.value) === -1;
});
}
return lists;
},
getRelatedListConfig: function(table, sysId) {
var excludeLists = ["incident_task.incident"];
var relatedRecordTab = this.RELATED_RECORD_TAB;
relatedRecordTab["exclusionList"] = excludeLists;
var result = [{"label": gs.getMessage("Incident Tasks"),
"id": "sow_incident_tasks",
"exclusionList": null,
"inclusionList": excludeLists
}];
result.push(relatedRecordTab);
return result;
},
type: 'SOWIncidentRouteUtilCustom'
});