List Collector choices based on Reference field value

ss123
Tera Contributor

Hi!

In the Portal, we have this requirement in the catalog form where we need to filter the List Collector choices (sys_choice table) based on the value selected in Reference field (practice_group table)

 

Example:

When Reference field selected "Group 1", the List Collector choices should be [ G1, G2, G3 ]

 

When Reference field selected "Group 2", the List Collector choices should be [ B1, B2, B3 ]

 

Can I do this filtering via reference qualifier in the Collector field?

 

Thank you for your help.

1 ACCEPTED SOLUTION

@ss123 : As we discussed I have modified the script to cater to the requirement 

 

var ListChoice = Class.create();
ListChoice.prototype = {
    initialize: function() {},
    getChoice: function(input_value) {
        try {
            var private_eui = gs.getProperty('private_equity_aol', '678ea9051b403340fb1fb9dcdd4bcbc6');
            var choices = [];
            var listvalue = new GlideRecord('sys_choice');
            if (input_value == private_eui)
                listvalue.addQuery('dependent_value', input_value);
            else
                listvalue.addEncodedQuery('element=u_transaction_type^name=u_deal_collection^dependent_value=NULL');
            listvalue.query();
            while (listvalue.next()) {
                choices.push(listvalue.sys_id.toString());
            }
            return choices.toString();
        } catch (e) {
            gs.log('Error in Script apple: ' + e);
        }
    },
    type: 'ListChoice'
};

 

 

I hope this solves your issue
Mark this as Helpful / Accept the Solution if this clears your issue

View solution in original post

10 REPLIES 10

S Goutham
Tera Guru

Hey @ss123 :

Yes you will be able to do it via a reference qualifier only if you can distinguish the record from the list collector reference table 

 

Like when you select A in reference you need to have a unique filter for those group records that needs to be shown

If you are able to have that data set I can help with you the reference qualifier script part 

 

I hope this solves your issue
Mark this as Helpful / Accept the Solution if this clears your issue

ss123
Tera Contributor

Hi @S Goutham 

 

Yes , I added the sys_id of a record value from the reference field in the sys_choice table.

 

Here is the screenshot of the sample:

SMSS_0-1693547908587.png

This is the current reference qualifier i am using in the list collector field:

javascript:"dependent_value=" + current.variables.u_aol (u_aol is the Reference field)

@ss123 : The sys_id value used in the dependent value is the reference field value you select right in that case try the below snippet 

javascript: "dependent_value=" + current.variables.u_aol.toString();

 

I hope this solves your issue
Mark this as Helpful / Accept the Solution if this clears your issue

ss123
Tera Contributor

@S Goutham The list collector field shows "No matches found" when I added the reference qualifier 😞

javascript: "dependent_value=" + current.variables.u_aol.toString();

SMSS_0-1693549392961.png