ServiceNow中具有参考值的问题
我现在对服务很陌生 我有两张桌子,公司和地点 位置表具有列名。 公司表有列名称和位置。这里的位置类型是reference 公司和位置表数据如下所示 位置ServiceNow中具有参考值的问题,servicenow,Servicenow,我现在对服务很陌生 我有两张桌子,公司和地点 位置表具有列名。 公司表有列名称和位置。这里的位置类型是reference 公司和位置表数据如下所示 位置 名称 钦奈 液压 公司 名称位置 ABC金奈 CDE液压系统 我的任务是从公司表中查询名称和位置。查询如下 var company = new GlideRecord('u_company'); subCat.query(); while (company.next()) { alert("Location: " + company.
名称
钦奈 液压 公司
名称位置
ABC金奈
CDE液压系统 我的任务是从公司表中查询名称和位置。查询如下
var company = new GlideRecord('u_company');
subCat.query();
while (company.next()) {
alert("Location: " + company.location);
}
这里的值始终是十六进制值。如何获取位置的实际文本值?您看到的应该是
location
参考字段的sys\u id
如果您在业务规则中执行此操作,则可以使用该方法相当轻松地提取此操作
如果您是作为客户端脚本来执行此操作的,那么它会涉及更多内容,但您可以使用。看看这里的例子,这里有一个简单的例子
创建可由客户端调用的新脚本Include
var MyCompanyUtils = Class.create();
MyCompanyUtils.prototype = Object.extendsObject(AbstractAjaxProcessor, {
getLocationName : function() {
// parameters
var company = this.getParameter('sysparm_my_company');
// query
var rec = new GlideRecord('u_company');
rec.addQuery('sys_id', company);
rec.query();
data = "Company not found."
while (rec.next()) {
var loc = rec.location.getRefRecord();
data = loc.name;
}
return data;
},
type : "MyCompanyUtils"
});
创建一个调用此脚本Include的客户端脚本
function onChange(control, oldValue, newValue, isLoading, isTemplate) {
if (isLoading || newValue === '') {
return;
}
// get the company referece value
var company = g_form.getValue('company');
var ga = new GlideAjax('MyCompanyUtils'); // call the object
ga.addParam('sysparm_name', 'getLocationName'); // call the function
ga.addParam('sysparm_my_company', company); // pass in company
ga.getXML(showLocation);
}
function showLocation(response) {
var answer = response.responseXML.documentElement.getAttribute("answer");
alert("Location: " + answer);
}
您是在客户端脚本中还是在服务器脚本(如业务规则)中执行此操作?我猜是因为您的示例在客户端有一个警报。
function onChange(control, oldValue, newValue, isLoading, isTemplate) {
if (isLoading || newValue === '') {
return;
}
// get the company referece value
var company = g_form.getValue('company');
var ga = new GlideAjax('MyCompanyUtils'); // call the object
ga.addParam('sysparm_name', 'getLocationName'); // call the function
ga.addParam('sysparm_my_company', company); // pass in company
ga.getXML(showLocation);
}
function showLocation(response) {
var answer = response.responseXML.documentElement.getAttribute("answer");
alert("Location: " + answer);
}