ServiceNow 存储和调用滑动脚本

ServiceNow storing and calling upon glide scripts

我正在 ServiceNow 中创建一个前端门户,它需要使用 g:evaluate 来调用来自不同表的变量。

例如:

<g:evaluate var="jvar_user_name"> 
var gr = new GlideRecord('sys_user'); 
gr.get('sys_id', gs.getUserID()); 
gr.first_name; 
</g:evaluate>

有没有办法在某处存储一堆这样的东西,然后根据需要调用它们,就像 UI JS 的脚本和 CSS 的样式表一样?如果是这样,我该怎么做?

谢谢!

是的,您应该可以使用 UI Macros.

您可以创建一个名为 set_user_name_var 的 UI 宏,如下所示:

<?xml version="1.0" encoding="utf-8"?>
<j:jelly trim="false" xmlns:j="jelly:core" xmlns:g="glide" xmlns:j2="null" xmlns:g2="null">
<g:evaluate var="jvar_user_name"> 
    var gr = new GlideRecord('sys_user'); 
    gr.get('sys_id', gs.getUserID()); 
    gr.first_name; 
</g:evaluate>
</j:jelly>

然后在任何可以编写果冻代码的地方调用 UI 宏,如下所示:

<g:set_user_name_var />

或者:

<g:macro_invoke macro="set_user_name_var" />

从那时起,jvar_user_name jelly 变量将存在并可以访问。

例如:

<?xml version="1.0" encoding="utf-8"?>
<j:jelly trim="false" xmlns:j="jelly:core" xmlns:g="glide" xmlns:j2="null" xmlns:g2="null">
<g:set_user_name_var />
${jvar_user_name}
</j:jelly>