- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-09-2024 02:14 AM
Hi,
My requirement, I have two variables in catalog item both reference field, requestedby reference to user table and asset field reference to alm_asset table. I have set default value for requested by field to auto populate logged in user name and if i click lookup icon of asset field should list the asset belongs to user company. Below is my script and reference qualifier its not working
Script include:
var getCompayDetails = Class.create();
getCompayDetails.prototype = Object.extendsObject(AbstractAjaxProcessor, {
getDisposalCompany: function(requestedBy) {
var assetSysIds = [];
if (requestedBy) {
var userGr = new GlideRecord('sys_user');
if (userGr.get(requestedBy)) {
var userCompany = userGr.getUniqueValue('company');
if (userCompany) {
var assetGr = new GlideRecord('alm_asset');
assetGr.addQuery('company', userCompany);
assetGr.query();
while (assetGr.next()) {
assetSysIds.push(assetGr.sys_id.toString());
}
}
}
}
return assetSysIds;
},
type: 'getCompayDetails'
});
Reference qualifier: javascript: getCompayDetails.getDisposal Company(current.variables.requested_by);
Solved! Go to Solution.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-09-2024 02:26 AM
@Sharath807 Could you please update your script include as follows and see if it works.
var getCompayDetails = Class.create();
getCompayDetails.prototype = Object.extendsObject(AbstractAjaxProcessor, {
getDisposalCompany: function(requestedBy) {
var assetSysIds = [];
if (requestedBy) {
var userGr = new GlideRecord('sys_user');
if (userGr.get(requestedBy)) {
var userCompany = userGr.getUniqueValue('company');
if (userCompany) {
var assetGr = new GlideRecord('alm_asset');
assetGr.addQuery('company', userCompany);
assetGr.query();
while (assetGr.next()) {
assetSysIds.push(assetGr.sys_id.toString());
}
}
}
}
return 'sys_idIN'+assetSysIds.toString();
},
type: 'getCompayDetails'
});
Also, update the reference qualifier as follows.
javascript: new getCompayDetails().getDisposalCompany(current.variables.requested_by);
Hope this helps.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-09-2024 02:26 AM
@Sharath807 Could you please update your script include as follows and see if it works.
var getCompayDetails = Class.create();
getCompayDetails.prototype = Object.extendsObject(AbstractAjaxProcessor, {
getDisposalCompany: function(requestedBy) {
var assetSysIds = [];
if (requestedBy) {
var userGr = new GlideRecord('sys_user');
if (userGr.get(requestedBy)) {
var userCompany = userGr.getUniqueValue('company');
if (userCompany) {
var assetGr = new GlideRecord('alm_asset');
assetGr.addQuery('company', userCompany);
assetGr.query();
while (assetGr.next()) {
assetSysIds.push(assetGr.sys_id.toString());
}
}
}
}
return 'sys_idIN'+assetSysIds.toString();
},
type: 'getCompayDetails'
});
Also, update the reference qualifier as follows.
javascript: new getCompayDetails().getDisposalCompany(current.variables.requested_by);
Hope this helps.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-09-2024 03:38 AM
@Sandeep Rajput Thank you Its working
actually there is one more table sys_user_grmember here one list collector field (related company) in this field can add two companies to one user, and here there is one group field reference to group table.
so the use who as two companies will be member of (Agent cross ic access) group. so if selecting a user related to companies then asset belongs to two companies should also be listed

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-09-2024 03:58 AM
@Sharath807 Since the the solution suggested by me is working, please mark it as helpful and accepted solution. For the second topic, please raise a separate question and tag me in it so that I can provide my response on it.