Need help with script include for a reference field

Thomas98
Tera Expert

I have an user reference field. I have two requirements 

 

 Users belonging to app.support group should only show up in the reference field or if the employment_type is "External)

How can I achieve this ? 

 

 

 

1 ACCEPTED SOLUTION

Sorry. Missed the reply on changing the variable type.

Script Include should be as follows using boolean variable 'u_boolean_1'

var GetUserSys = Class.create();
GetUserSys.prototype = {
    initialize: function() {},
    GetUserSys: function() {
        var userList = [];
        var grGrMember = new GlideRecord('sys_user_grmember');
        grGrMember.addQuery('group.name', '<name of group>'); // example 'Software'
        grGrMember.query();
        while (grGrMember.next()) {
            userList.push(grGrMember.user.toString());
        }

        var grUser = new GlideRecord('sys_user');
        grUser.addQuery('u_boolean_1', true);
        grUser.addActiveQuery();
        grUser.query();
        while (grUser.next()) {
            userList.push(grUser.sys_id.toString());
        }
		var arrayUtil = new ArrayUtil();
		userList = arrayUtil.unique(userList);
        return 'sys_idIN' + userList.join(',');
    },
    type: 'GetUserSys'
};

View solution in original post

17 REPLIES 17

Community Alums
Not applicable
Could you please check the choice values defined for the field?please give the exact value.

Hi Sudeep, 

 

This was an old configuration badly done. I have re-created the field to true/false(checkbox) " 

 

How do I write the script if "External user" is true

 

find_real_file.png

Community Alums
Not applicable

try this

var gr1 = new GlideRecord('sys_user');
gr1.addQuery('u_boolean_1', true);
gr1.query();

 

 

Doesn't work 😞 . I only get people from the group

 

function GetUserSys() {
var gp = ' ';


var gr = new GlideRecord('sys_user_grmember');
gr.addQuery('group', 'a6414b0a1b92f010b6adc8486b4bcb55'); //fileter for your group
gr.query();
while (gr.next()) {
if (gp.length > 0) {
gp += (',' + gr.user);
} else {
gp = gr.user;
}

}

var gr1 = new GlideRecord('sys_user');
gr1.addQuery('u_boolean_1', true);
gr1.query();

while (gr.next()) {
if (gp.length > 0) {
gp += (',' + gr1.user);
} else {
gp = gr1.user;
}

 


}

 

return 'sys_idIN' + gp;
}

Community Alums
Not applicable

function GetUserSys() {
var gp = ' ';


var gr = new GlideRecord('sys_user_grmember');
gr.addQuery('group', 'a6414b0a1b92f010b6adc8486b4bcb55'); //fileter for your group
gr.query();
while (gr.next()) {
if (gp.length > 0) {
gp += (',' + gr.user);
} else {
gp = gr.user;
}

}

var gr1 = new GlideRecord('sys_user');
gr1.addQuery('u_boolean_1', true);
gr1.query();

while (gr1.next()) {
if (gp.length > 0) {
gp += (',' + gr1.user);
} else {
gp = gr1.user;
}

 


}

 

return 'sys_idIN' + gp;
}

 

Please check the above.In the second while istead of gr1 it was gr earlier.