在ServiceNow中的全局应用程序中,您可以使用$ sp.getRecord();来访问当前记录。但是,这在范围环境中不可用。是否有替代方法来访问作用域应用程序中的当前记录?
以下是我尝试范围的代码:
var gr = $sp.getRecord();
if (gr == null)
return;
data.tableLabel = gr.getLabel();
data.table = gr.getTableName();
data.sys_id = gr.getUniqueValue();
data.status = gr.state.getValue();
data.name = gr.name.getDisplayValue();
data.team_lead = gr.team_leader.getDisplayValue();
data.code = gr.project_charge_code.getDisplayValue();
答案 0 :(得分:0)
我假设这是服务门户的小部件。我相信你应该能够在范围的应用程序中使用$sp.getRecord()
。根据{{3}}:
请注意:以下API适用于作用域应用程序和 可能在全球范围内表现不同。
但是,如果您仍然遇到麻烦,一种方法是如果您有方法可以将其查询为GlideRecord
。
var gr = new GlideRecord('x_abcd_my_table');
gr.addQuery('number', 'XMT001245');
gr.query();
while (gr.next()) {
data.tableLabel = gr.getLabel();
data.table = gr.getTableName();
data.sys_id = gr.getUniqueValue();
data.status = gr.state.getValue();
data.name = gr.name.getDisplayValue();
data.team_lead = gr.team_leader.getDisplayValue();
data.code = gr.project_charge_code.getDisplayValue();
}