- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-10-2021 08:42 AM
Hello,
I am struggling to find how to capture selected records in a List UI Action on the incident table. What I need to be able to do is get all the selected incident numbers (this needs to work for select all as well).
Any ideas?
Thanks!
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-13-2021 09:59 AM
I updated the script, there were some syntax issues
function showConfirmDialog() {
var entries = g_list.getChecked();
if (!entries || entries.length == 0)
return;
var ga = new GlideAjax('GetIncidentNumber');
ga.addParam('sysparm_name', 'getIncident');
ga.addParam('sysparm_entry_ids', entries);
ga.getXML(getRequiredInc);
function getRequiredInc(response) {
var answer = response.responseXML.documentElement.getAttribute("answer");
alert("Some alert to test if it works: " + answer);
}
}
var GetIncidentNumber = Class.create();
GetIncidentNumber.prototype = Object.extendsObject(AbstractAjaxProcessor, {
getIncident: function() {
var array = [];
var entries = this.getParameter('sysparm_entry_ids');
var sysIds = entries.split(",");
var gr = new GlideRecord('incident');
gr.addQuery('sys_id','IN',entries);
gr.query();
while (gr.next()) {
array.push(gr.getValue("number"));
}
//var createList = array.join(',');
return array.toString();
},
type: 'GetIncidentNumber'
});
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-11-2021 12:31 PM
Yes I understand as this was present in the example, but in the script include, how do I take the sys_ids and get the incident number instead from the script include?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-11-2021 07:38 PM
we dont have the same understanding of your question. Can you share in more detail or share the script in which you are facing issue. Try with screenshot?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-12-2021 08:27 AM
g_list.Checked() returns sys_ids of checked items. I want to return the number of the checked items instead.
UI Action:
function showConfirmDialog() {
var entries = g_list.getChecked();
if (!entries || entries.length == 0)
return;
var callback = function() {
var ga = new GlideAjax('GetIncidentNumber');
ga.addParam('sysparm_name', 'getIncident');
ga.addParam('sysparm_entry_ids', entries);
ga.getXML(getRequiredInc);
function getRequiredInc(response) {
var answer = response.responseXML.documentElement.getAttribute("answer");
alert("Some alert to test if it works: " + answer);
}
};
}
Script Include:
var GetIncidentNumber = Class.create();
GetIncidentNumber.prototype = Object.extendsObject(AbstractAjaxProcessor, {
getIncident: function() {
var array = [];
var entries = this.getParameter('sysparm_entry_ids');
var sysIds = entries.split(",");
var gr = new GlideRecord('incident');
var i = 0;
while (gr.get(sysIds[i])) {
array.push(gr.getValue(number));
i++;
}
var createList = array.join(',');
return createList;
},
type: 'GetIncidentNumber'
});
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-13-2021 09:59 AM
I updated the script, there were some syntax issues
function showConfirmDialog() {
var entries = g_list.getChecked();
if (!entries || entries.length == 0)
return;
var ga = new GlideAjax('GetIncidentNumber');
ga.addParam('sysparm_name', 'getIncident');
ga.addParam('sysparm_entry_ids', entries);
ga.getXML(getRequiredInc);
function getRequiredInc(response) {
var answer = response.responseXML.documentElement.getAttribute("answer");
alert("Some alert to test if it works: " + answer);
}
}
var GetIncidentNumber = Class.create();
GetIncidentNumber.prototype = Object.extendsObject(AbstractAjaxProcessor, {
getIncident: function() {
var array = [];
var entries = this.getParameter('sysparm_entry_ids');
var sysIds = entries.split(",");
var gr = new GlideRecord('incident');
gr.addQuery('sys_id','IN',entries);
gr.query();
while (gr.next()) {
array.push(gr.getValue("number"));
}
//var createList = array.join(',');
return array.toString();
},
type: 'GetIncidentNumber'
});
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-14-2021 07:35 PM
This worked. Thanks! The callback function prevented me from moving forward since I was not able to return alert. Can you please explain how you found that syntax issue in the UI Action?