
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-09-2025 09:27 PM
I am wanting to create a related list that I can see any catalog ui policies that a variable has related to it.
I have been creating a relationship record as such:
Name: | Catalog UI Policies |
Application: | Global |
Applies to table: | Variable [item_option_new] |
Queries from table: | Catalog UI Policy [catalog_ui_policy] |
Script:
(function refineQuery(current, parent) {
var records = new GlideRecord('catalog_ui_policy');
records.addQuery('item_option_new', parent.getUniqueValue());
var encodedQuery = records.getEncodedQuery();
if (encodedQuery) {
current.addQuery('sys_id', 'IN', encodedQuery);
}
})(current, parent);
No results are showing. I have tried some other scripts such as:
current.addQuery('sys_id', 'IN', (function() {
var ids = [];
var gr = new GlideRecord('sys_ui_policy_action');
gr.addQuery('variable', current.sys_id);
gr.query();
while (gr.next()) {
ids.push(gr.ui_policy.toString());
}
return ids.join(',');
})());
This however shows all ui policies
Anyone able to assist?
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-09-2025 09:59 PM - edited 07-10-2025 12:45 AM
Hi @Moedeb
You can acheive this using "Relationships".
Try the below.
Table: sys_relationship
(function refineQuery(current, parent) {
var id = "IO:"+parent.sys_id.toString();
current.addQuery("catalog_variable",id);
// Add your code here, such as current.addQuery(field, value);
})(current, parent);
Output:
Hope this helps.
Regards,
Siva
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-10-2025 12:24 AM
In your relationship, keep:
Applies to table: item_option_new
Queries from table: catalog_ui_policy
(function refineQuery(current, parent) {
var ids = [];
var gr = new GlideRecord('catalog_ui_policy_action');
gr.addQuery('variable', parent.sys_id);
gr.query();
while (gr.next()) {
ids.push(gr.ui_policy.toString());
}
if (ids.length > 0) {
current.addQuery('sys_id', 'IN', ids.join(','));
} else {
// add an impossible query to prevent showing all policies
current.addQuery('sys_id', 'NULL');
}
})(current, parent);

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-10-2025 12:42 AM
@Community Alums Thanks for trying to help, unfortunately it still isn't showing any results