Unable to set multiple sysid values into list type field

Rakesh50
Mega Sage

Hi,

we have written a script include for returning multiple sys_id's. We want to set these Id's into list type field. If we getting single sys_id from script include we are able to set but if script include returning multiple sys_id's not setting values in list type field. Tried using answer.join(' , '); and without join(',') but not setting.

 

 exUsers: function() {
        var output = [];
        var exampleID= this.getParameter('sysparm_exampleID');
        var groupID = this.getParameter('sysparm_groupID');
	var ticketID = this.getParameter('sysparm_ticketID');	
        var qry = new GlideRecord('x_xxxx_string');
        qry.addQuery('example', exampleID);
        qry.addQuery('group', groupID);
	    qry.addQuery('type', ticketID);
        qry.query();
        while (qry.next()) {
           output.push(qry.getValue('user'));
        }
		gs.info("Output Value: " +output);
        return JSON.stringify(output);
    },

Client script :- 
var ga = new GlideAjax('FormUtils');
	ga.addParam('sysparm_name','exUsers');
	ga.addParam('sysparm_groupID',  group);
	ga.addParam('sysparm_exampleID',  example);
	ga.addParam('sysparm_ticketID',  ticketType);
	ga.getXML(populate);
	
	function populate(response) {
	var answer = response.responseXML.documentElement.getAttribute("answer");
	    alert(answer);
		g_form.setValue('watch_list', answer.join(','));
	}

 

1 ACCEPTED SOLUTION

exUsers: function() {
        var output = [];
        var exampleID= this.getParameter('sysparm_exampleID');
        var groupID = this.getParameter('sysparm_groupID');
	var ticketID = this.getParameter('sysparm_ticketID');	
        var qry = new GlideRecord('x_xxxx_string');
        qry.addQuery('example', exampleID);
        qry.addQuery('group', groupID);
	    qry.addQuery('type', ticketID);
        qry.query();
        while (qry.next()) {
       output.push(qry.getDisplayValue('user'));    
}
		gs.info("Output Value: " +output);
        return JSON.stringify(output);
    },

Client script :- 
var ga = new GlideAjax('FormUtils');
	ga.addParam('sysparm_name','exUsers');
	ga.addParam('sysparm_groupID',  group);
	ga.addParam('sysparm_exampleID',  example);
	ga.addParam('sysparm_ticketID',  ticketType);
	ga.getXML(populate);
	
	function populate(response) {
	var answer = response.responseXML.documentElement.getAttribute("answer");
	var data = JSON.parse(answer);
		g_form.setValue('watch_list', demo);
	}

View solution in original post

11 REPLIES 11

exUsers: function() {
        var output = [];
        var exampleID= this.getParameter('sysparm_exampleID');
        var groupID = this.getParameter('sysparm_groupID');
	var ticketID = this.getParameter('sysparm_ticketID');	
        var qry = new GlideRecord('x_xxxx_string');
        qry.addQuery('example', exampleID);
        qry.addQuery('group', groupID);
	    qry.addQuery('type', ticketID);
        qry.query();
        while (qry.next()) {
       output.push(qry.getDisplayValue('user'));    
}
		gs.info("Output Value: " +output);
        return JSON.stringify(output);
    },

Client script :- 
var ga = new GlideAjax('FormUtils');
	ga.addParam('sysparm_name','exUsers');
	ga.addParam('sysparm_groupID',  group);
	ga.addParam('sysparm_exampleID',  example);
	ga.addParam('sysparm_ticketID',  ticketType);
	ga.getXML(populate);
	
	function populate(response) {
	var answer = response.responseXML.documentElement.getAttribute("answer");
	    alert(answer);
		g_form.setValue('watch_list', answer);
	}

Hello Rakesh,

 

Refer above code and let me know, if your are causing same error.

 

Regards,

Vaishnavi LATHKAR

 

 

 

@Vaishnavi Lathk I have tried again with your suggestion and i'm getting like below

Rakesh50_0-1689063572224.png

 

exUsers: function() {
        var output = [];
        var exampleID= this.getParameter('sysparm_exampleID');
        var groupID = this.getParameter('sysparm_groupID');
	var ticketID = this.getParameter('sysparm_ticketID');	
        var qry = new GlideRecord('x_xxxx_string');
        qry.addQuery('example', exampleID);
        qry.addQuery('group', groupID);
	    qry.addQuery('type', ticketID);
        qry.query();
        while (qry.next()) {
       output.push(qry.getDisplayValue('user'));    
}
		gs.info("Output Value: " +output);
        return JSON.stringify(output);
    },

Client script :- 
var ga = new GlideAjax('FormUtils');
	ga.addParam('sysparm_name','exUsers');
	ga.addParam('sysparm_groupID',  group);
	ga.addParam('sysparm_exampleID',  example);
	ga.addParam('sysparm_ticketID',  ticketType);
	ga.getXML(populate);
	
	function populate(response) {
	var answer = response.responseXML.documentElement.getAttribute("answer");
	var data = JSON.parse(answer);
		g_form.setValue('watch_list', demo);
	}

do you want only sys_id's?

 

@Vaishnavi Lathk Instead of using getDisplayValue i have used getValue in script include and in client script 

used the JSON.parse now it is working fine