- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎04-20-2021 11:22 AM
I have a catalog item with a list collector that gathers multiple users. When that variable comes through on the ritm/task, it's just a list of names. What is desired is for their user_name to also appear. However, I don't want a separate field on the form that they see when they're filling this out; I only want it to be passed to the ritm/task after the form is submitted. I thought I'd make a multiline textbox variable that could fill in the users and their usernames in this format:
by using a client script and script include. Neither is working and when I submit the form, I get 'Unhandled exception in GlideAjax'. Can you please look at what I have and help?
Here is the client script (ui type=all; applies to cat item, ritm, task):
function onSubmit() {
//array of sys_ids from list collector variable
var usersToAdd = g_form.getValue('persons_requiring_access').toString().split(',');
var ga = new GlideAjax('GetListCollectorVariables'); //call the script include
ga.addParam('sysparm_name', 'UsersListCollector'); //name of function in script include
ga.addParam('sysparm_users', usersToAdd); //pass array of users to SI
ga.getXML(GetVariables);
function GetVariables(response) {
var answer = response.responseXML.documentElement.getAttribute('answer');
g_form.setValue('persons_requiring_access_text', answer);
}
}
Here is the script include (client callable = true; global scope)
var GetListCollectorValues = Class.create();
GetListCollectorValues.prototype = Object.extendsObject(global.AbstractAjaxProcessor, {
UsersListCollector: function() {
var userInfo = '';
var usersFromListCollector = this.getParameter('sysparm_users');
var grUser = new GlideRecord('sys_user');
grUser.addQuery('sys_id','IN',usersFromListCollector);
grUser.query();
while(grUser.next()) {
userInfo += grUser.name + ' [' + grUser.user_name + ']';
}
return info.toString();
},
type: 'GetListCollectorValues'
});
Solved! Go to Solution.
- Labels:
-
Service Catalog

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎04-20-2021 04:06 PM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎04-20-2021 03:02 PM

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎04-20-2021 03:08 PM
Please check variable name is correct ?
set "Applies on Requested Items" as true on catalog client script
Do you have any other script which is contradicting or setting the value on that variable ?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎04-20-2021 03:13 PM
Ok, I checked the req item box and double-checked the variable name is correct. Also, there is no other script that uses this variable anywhere. Tried again, but still, the field is empty.
Does it matter that this field 'persons_requiring_access_text' is only visible on the task/ritm, and not on the catalog page itself?

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎04-20-2021 03:17 PM
"persons_requiring_access_text" should be visible over catalog form, RITM and task.
Is it not visible ?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎04-20-2021 03:19 PM
It needs to be hidden because it's just a text box that collects the information based on the list collector, which is the visible part of the form. I can't find another way to pull user AND user_name from a list collector and put it into the ritm/task.