The CreatorCon Call for Content is officially open! Get started here.

Autopopulate reference field from catalog client script calling script include

Sunpreetk
Tera Contributor

This is catalog client script

function onLoad() {
console.log(" onLoad function executed.");

var ga = new GlideAjax("AccountReferenceFilterTwo");
ga.addParam("sysparm_name", "getFilteredAccountsRP");
ga.addParam("sysparm_scope", "global"); // Explicitly set scope // because scriptinclude belong to global scope but client script customer service scope

ga.getXMLAnswer(function(response) {
console.log("📨 Response received:", response);

if (!response) {
console.warn("🚨 No response from Script Include.");
return;
}

try {
var result = JSON.parse(response);
console.log("📊 Parsed JSON:", result);

if (result.filteredAccount) {
console.log(" Setting 'account' field:", result.filteredAccount);
g_form.setValue("account", result.filteredAccount);
} else {
console.warn("⚠️ filteredAccount is empty.");
}
} catch (error) {
console.error(" Error parsing JSON:", error);
}
});
}

Script INLCLUDE- working good but

var AccountReferenceFilterTwo = Class.create();
AccountReferenceFilterTwo.prototype = Object.extendsObject(AbstractAjaxProcessor, {
getFilteredAccountsRP: function() {
var result = {};
var user = gs.getUser();
var userSysId = user.getID();
var grUser = new GlideRecord('sys_user');

if (grUser.get(userSysId)) {
var userClass = grUser.getValue('sys_class_name');
var userActive = grUser.getValue('active');
var userCompany = grUser.getValue('company');

if (userActive == '1' && userClass == 'sys_user') {
result.filteredAccount = 'sys_id'; // sys_id of "Xperi Field Trials"
} else if (userActive == '1' && userClass == 'customer_contact' && userCompany) {
result.filteredAccount = userCompany;
} else {
result.filteredAccount = '';
}
}

return JSON.stringify(result);
},
type: 'AccountReferenceFilterTwo'
});

Account is reference field referencing customer_account table. what we want is a functionality which is autopopulate on page opening, but we need to click on account first. I called this script include from reference qual there it return single value company dropdown but thats not autopopulating that i need to click on single dropdown to choose 
0 REPLIES 0