Join the #BuildWithBuildAgent Challenge! Get recognized, earn exclusive swag, and inspire the ServiceNow Community with what you can build using Build Agent.  Join the Challenge.

Issue in displaying Relationships

Community Alums
Not applicable

Hi Team,

 

I have a requirement wherein there is list of Order Tasks with concerned fields "Assignment Group" and "Assigned To".

There is a requirement to show only Assignment Group and Assigned To values from Order Tasks to Work Order .For example below records we have for Order Tasks for group and user :

Group is "Network" and "Assigned To" is "Raj", 

Group is "hardware" and "Assigned To" is "Rakesh", 

Group is "Database" and "Assigned To" is "Danny"

Now in "sys_user_grmember" table Danny is part of all the above 3 groups.

In the related list which we have created in "wm_order" form should only show as below:

Network  Raj

Hardware Rakesh

Database Danny

 

but its showing below records:

Network  Raj

Network Rakesh

Database Danny

Network  Danny

Network Danny

 

The related list should only show :

Network  Raj

Hardware Rakesh

Database Danny

 

Below is the code which I have written to define the Relationships:

"Applied to " : wm_order

"Queries From": sys_user_grmember

 

 

 

(function refineQuery(current, parent) {
        var groups = [];
        var assignee = [];
        //var proj_start= parent.initiated_from.number;
        if (parent.initiated_from.top_program.u_order == '') {

            current.addEncodedQuery('groupIN' + groups);
            current.addEncodedQuery('userIN' + assignee);

        } else {

            var proj = new GlideRecord('customer_project_task');
            proj.addQuery('sys_id', parent.initiated_from.toString());
            proj.addEncodedQuery('top_program.u_orderISNOTEMPTY');
            proj.query();

            if (proj.getRowCount() >= 1) {

                while (proj.next()) {

                    var omt = new GlideRecord('sn_ind_tmt_orm_order_task');
                    omt.addQuery('u_customer_order_number', proj.top_program.u_order.sys_id.toString());
                    omt.addEncodedQuery('numberSTARTSWITHOMT');
                    omt.query();

                    while (omt.next()) {

                        var group_mem = new GlideRecord('sys_user_grmember');
                        group_mem.addQuery('group', omt.assignment_group.sys_id.toString());
                        group_mem.addQuery('user', omt.assigned_to.sys_id.toString());
                        group_mem.query();

                        if (group_mem.next()) {
                           

                            if (omt.assigned_to.indexOf(group_mem.user)!=-1 && omt.assignment_group.indexOf(group_mem.group)!=-1) {
                                    groups.push(group_mem.group.sys_id.toString());
                                    assignee.push(group_mem.user.sys_id.toString());
                               }
                            }


                        }
                        current.addQuery('group', groups);
                        current.addQuery('user', assignee);
                    }
                }

            }

        })(current, parent);
0 REPLIES 0