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.

HOW to call script include from refrence Qualifier

dheeru_1994
Tera Contributor

Hii All i have two fields one field name is demo1 which is refrence type refrence is of group table , second field name is company which is list type and refrence give it of user table , now my requirement is that when i select any group in demo field how many user are in that group should populate in company field i make script include my script is below getGroupMembers: function(groupId) { var groupMembers = []; var gr = new GlideRecord('sys_user_grmember'); gr.addQuery('group', groupId); gr.query(); while (gr.next()) { groupMembers.push(gr.user.toString()); } gs.info('Group ID: ' + groupId); gs.info('Group Members: ' + groupMembers.join(', ')); return groupMembers; }, type: 'GroupMemberScriptInclude' }; now this script include need to call from refrence qualifier , here i do not know on which field refrence qualifier use to achive this i tried but no luck thanks

1 ACCEPTED SOLUTION

Hello @dheeru_1994 ,

 

You can write a onchnage client script on group field and depending on that you can set the value of list collector field by using simililar script include.

View solution in original post

6 REPLIES 6

Siddhesh Gawade
Mega Sage
Mega Sage

Hello @dheeru_1994 ,

 

you need to call script include in company field. use the below format for calling the script include.

SiddheshGawade_0-1705593012906.png

 

See the commutiy link as well: https://www.servicenow.com/community/developer-forum/call-script-include-from-reference-qualifier/m-...

 

Kindly mark the answer ✔️Correct or Helpful ✔️If it addresses your concern.


Regards,

Siddhesh

Danish Bhairag2
Tera Sage

Hi @dheeru_1994 ,

 

You need to call ur script include from company field.

Write this code in the Reference qualifier of the company field.

 

javascript : new GroupMemberScriptInclude().getGroupMembers(current.demo1);

 

Note : after javascript just add : remove wht is written above.

 

Thanks,

Danish

 

dheeru_1994
Tera Contributor

javascript: new GroupMemberScriptInclude().getGroupMembers(current.u_company.sys_id)
in my list type field is demo1 
and my script include is 

var GroupMemberScriptInclude = Class.create();
GroupMemberScriptInclude.prototype = {
  initialize: function() {},

  getGroupMembers: function(groupId) {
    var groupMembers = [];
    var gr = new GlideRecord('sys_user_grmember');
    gr.addQuery('group', groupId);
    gr.query();

    while (gr.next()) {
      groupMembers.push(gr.user.toString());
    }

    gs.info('Group Name are : ' + groupId);
    gs.info('Group Members: ' + groupMembers.join(', '));

    return groupMembers;
  },

  type: 'GroupMemberScriptInclude'
};
by doing this logs are printing but on list type field group member are not printing 

Siddhesh Gawade
Mega Sage
Mega Sage

Hello @dheeru_1994 ,

 

I made some changes in your script and it is working perfectly. Please try and let me know.

 

Script Include:

 

var GroupMemberScriptInclude = Class.create();
GroupMemberScriptInclude.prototype = {
    initialize: function() {
    },

getGroupMembers: function(current) {
    var groupMembers = [];
    var gr = new GlideRecord('sys_user_grmember');
    gr.addQuery('group', current.u_select_group);     // Use your field Name
    gr.query();

    while(gr.next()) {
      groupMembers.push(gr.user.toString());
    }
    return 'sys_idIN'+groupMembers;
  },
    type: 'GroupMemberScriptInclude'
};

 

 

Reference qualifier: 

SiddheshGawade_0-1705653738697.png

 

Kindly mark the answer ✔️Correct or Helpful ✔️If it addresses your concern.


Regards,

Siddhesh