Welcome to Community Week 2025! Join us to learn, connect, and be recognized as we celebrate the spirit of Community and the power of AI. Get the details  

Custom related list to show catalog ui policies on a variable

Moedeb
Tera Guru

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?

 

1 ACCEPTED SOLUTION

J Siva
Kilo Patron
Kilo Patron

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);

JSiva_0-1752123482575.png

Output:

JSiva_1-1752123551004.png

Hope this helps.
Regards,
Siva

 

 

View solution in original post

11 REPLIES 11

J Siva
Kilo Patron
Kilo Patron

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);

JSiva_0-1752123482575.png

Output:

JSiva_1-1752123551004.png

Hope this helps.
Regards,
Siva

 

 

@Moedeb 
Have you tried the above?

I am very sorry @J Siva I totally missed your response and it worked perfectly.

Thank you a heap 😁

@Moedeb No worries..

Glad it helped..