Getting error org.mozilla.javascript.NativeArray
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
â09-21-2022 07:09 AM
I have a requirement where I want to fetch all the computer names from cmdb_ci_computer table that are assigned to requester and also want to set the field with newly assigned computer.
there is existing script include as well as catalog client script but when I used array it throws the error org.mozilla.javascript.NativeArray
Please suggest ,what is going wrong here
Catalog client script:-
function onChange(control, oldValue, newValue, isLoading) {
if (isLoading || newValue == '') {
return;
}
var ga = new GlideAjax('PL4UserServiceAjax');
ga.addParam('sysparm_name', 'getUserComputer');
ga.addParam('sysparm_user', newValue);
ga.getXMLAnswer(setComputer);
}
function setComputer(response){
g_form.setValue('Computername', response);
}
Script include :-
getUserComputer: function(userId) {
var host =[];
var comp = new GlideRecord("cmdb_ci_computer");
comp.addQuery("assigned_to", userId);
// comp.orderByDesc("sys_created_on");
comp.query();
while (comp.next()) {
var str = (comp.getValue("name"));
host.push(str);
}
return host;
},
Reference Qualifier:-assigned_to=gs.getUserID()^install_status!=7^sys_class_name=cmdb_ci_computer^EQ
Default Value:- javascript: new PL4UserService().getUserComputer(gs.getUserID())
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
â09-21-2022 07:50 AM
hi
Try this:
getUserComputer: function(userId) {
var host =[];
var comp = new GlideRecord("cmdb_ci_computer");
comp.addQuery("assigned_to", userId);
// comp.orderByDesc("sys_created_on");
comp.query();
while (comp.next()) {
var str = (comp.getValue("name"));
host.push(str);
}
return host.toString(); //converting to string
},
Thanks,
Murthy
Murthy
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
â09-21-2022 11:39 PM
Hi
Tried toString but still the same error
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
â09-21-2022 11:44 PM
Hi,
try this to get unique values
getUserComputer: function() {
var host = [];
var userId = this.getParameter('sysparm_user');
var comp = new GlideRecord("cmdb_ci_computer");
comp.addQuery("assigned_to", userId);
comp.orderByDesc("sys_created_on");
comp.query();
while (comp.next()) {
var str = comp.getValue("name");
host.push(str);
}
var arrayUtil = new global.ArrayUtil();
host = arrayUtil.unique(host);
return host.toString();
},
Regards
Ankur
Ankur
⨠Certified Technical Architect || ⨠9x ServiceNow MVP || ⨠ServiceNow Community Leader
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
â09-22-2022 08:43 PM
hi
Did you try the script I shared to get unique?
Regards
Ankur
Ankur
⨠Certified Technical Architect || ⨠9x ServiceNow MVP || ⨠ServiceNow Community Leader
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
â09-23-2022 12:43 AM
Hi Ankur ,
I tried but still same and I missed to mention there are 2 script include :-
Client script we are calling below script then from this script other script in which I made the changes and also I want the computer names that are assigned to caller but with this script I am getting all the computer names present in table
getUserComputer: function(){
var computerID;
var userId = this.getParameter("sysparm_user");
var computer = new PL4UserService().getUserComputer(userId);
},