问题描述
我正在尝试运行以下代码,这些代码几乎是从OoTheBox UI Action中复制的,称为“查看用户的响应”。
function showRiskAssessment(){
var ra = new GlideRecord('asmt_assessment_instance');
ra.addQuery('task_id','=',current.sys_id);
ra.orderByDesc('taken_on');
ra.setLimit(1);
ra.query();
// var id = g_form.getUniqueValue();
var id = ra.sys_id;
//var type = g_form.getValue('metric_type');
var type = '468aeff2db9357008aeba9f7059619ca';
var url = 'assessment_take2.do?sysparm_assessable_sysid=' + id + '&sysparm_assessable_type=' + type + '&sysparm_reader_view=true';
var d = new GlideOverlay({
title: "User's Response",iframe: url,width:'80%',height: '100%',onAfterLoad: function() {
var iframe = d.getIFrameElement();
setTimeout(function(){
iframe.height = parseInt(iframe.height)+1;
},0);
}
});
d.render();
}
如果我这样对它进行硬编码,它将起作用。我要做的就是在更改记录上,我要查找该特定更改的最新评估实例,并显示在叠加层中。显然,我无法对id
进行硬编码,但是查询似乎仍然无法识别该信息。
function showRiskAssessment(){
// var ra = new GlideRecord('asmt_assessment_instance');
// ra.addQuery('task_id',current.sys_id);
// ra.orderByDesc('taken_on');
// ra.setLimit(1);
// ra.query();
// var id = g_form.getUniqueValue();
var id = '5c516eeddb87d090ebce60ab1396198a';
//var type = g_form.getValue('metric_type');
var type = '468aeff2db9357008aeba9f7059619ca';
var url = 'assessment_take2.do?sysparm_assessable_sysid=' + id + '&sysparm_assessable_type=' + type + '&sysparm_reader_view=true';
var d = new GlideOverlay({
title: "User's Response",0);
}
});
d.render();
}
解决方法
您正在尝试在客户端脚本中使用 current.sys_id 。建议对客户端脚本使用 g_form 。您还尝试在客户端脚本上尝试GlideRecord,也不建议这样做。
要修复,请替换:
ra.addQuery('task_id','=',current.sys_id);
具有:
var sysId = g_form.getUniqueValue();
ra.addQuery('task_id',sysId);
另外,对于g_form和current之间的区别,请看here。