- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎08-27-2024 11:10 PM
Hi All,
I have written the below code. Output is coming correctly. How should I return the sys_id so that it should visible in the reference qualifier field.
getProduct: function() {
var accounts = current.account;
var platform = current.u_platform;
var subProd = current.getDisplayValue("u_sub_products");
var ur = new GlideRecord("u_sub_product");
ur .addEncodedQuery('u_sub_product=' + subProd + '^u_platform=' + platform);
ur .query();
while (ur .next()) {
var user_array = [];
var product_array = user_array.push(ur.u_product);
}
var dee = new GlideRecord("sn_install_base_sold_product");
dee.addEncodedQuery("u_platform=" + platform + "^account=" + accounts);
dee.query();
while (dee.next()) {
var prod_array = [];
var arr = prod_array.push(dee.name);
if (JSON.stringify(product_array) == JSON.stringify(arr)) {
gs.log("OUTPUT RESULTS" + dee.sys_id);
} else {
gs.log("FALSE RESULT");
}
}
return dee.sys_id;
},
The return value should populate in the Product field(reference to Sold Product table (sn_install_base_sold_product).
Please help me.
Thanks,
Sam
Solved! Go to Solution.
- Labels:
-
compliance
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎08-28-2024 10:31 AM
Hi @Samiksha2 ,
In the above you are comparing the jason, try comparing the arrays and also print the product array and the arr and attach the screen shot of the result,
getProduct: function() {
var accounts = current.account;
var platform = current.u_platform;
var subProd = current.getDisplayValue("u_sub_products");
var ur = new GlideRecord("u_sub_product");
var user_array = [];
ur.addEncodedQuery('u_sub_product=' + subProd + '^u_platform=' + platform);
ur.query();
while (ur.next()) {
user_array.push(ur.u_product.toString());
}
var dee = new GlideRecord("sn_install_base_sold_product");
dee.addEncodedQuery("u_platform=" + platform + "^account=" + accounts);
dee.query();
var arrForSysID = [];
var prod_array = [];
while (dee.next()) {
prod_array.push(dee.name.toString());
function areArraysEqual(array1, array2) {
for (var i = 0; i < array2.length; i++) {
if (array1.indexOf(array2[i]) === -1) {
return false;
}
}
return true;
}
var result = areArraysEqual(user_array, prod_array);
if (result == true || result == 'true') {
gs.log("OUTPUT RESULTS" + dee.sys_id);
arrForSysID.push(dee.getValue('sys_id'));
} else {
gs.log("FALSE RESULT");
}
}
gs.info('Product array ' + user_array);
gs.info('arr ' + prod_array);
gs.info('Final sysId ' + arrForSysID);
return 'sys_idIN' + arrForSysID;
},
please share the logs,
Please mark this comment as Correct Answer/Helpful if it helped you.
Regards,
Swathi Sarang
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎08-28-2024 04:58 AM
Hi @OlaN ,
In the logs im printing sys id of the product. and it is showing but while selecting the field only one value is showing.
Thanks,
Sam

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎08-28-2024 10:14 AM
Did you change the code according to my suggestion?
You only get one result because you define the variable of the array (to store the results) inside the while loop.
So it gets reset on every iteration.
Define the variable outside the loop (as i wrote earlier) and it should be fine.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎08-28-2024 02:38 AM
Hi @Samiksha2 ,
In Script Includes Use this Line of Syntax to Pass the Sys_id's from Script includes to Reference Qualifier
return 'sys_idIN' + Your_array_name;
In the Same way , In Reference Field where you want to Access , Right Click -> Configure Dictionary -> select
Reference Specification Section and select Advanced View and in Reference Field select as Advanced and copy below Code
javascript:new global.ScriptIncludes_name().Function_name();
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎08-28-2024 03:01 AM
Hi @Badrinarayan ,
I tried in logs it is showing two sys_ids but it is returning one sys_id in the reference field.
Thanks,
Sam
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎08-28-2024 03:09 AM
gs.info('Users: ' + NameOfArray.join(', '));
return 'sys_idIN' + NameOfArray;
Join The Array and Return
mark as Helpful if your Issue is Resolved