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