ServiceNow хранит и вызывает скрипты скольжения
Я создаю интерфейсный портал в ServiceNow, который требует использования g:valu для вызова переменных из разных таблиц.
Например:
<g:evaluate var="jvar_user_name">
var gr = new GlideRecord('sys_user');
gr.get('sys_id', gs.getUserID());
gr.first_name;
</g:evaluate>
Есть ли способ где-то хранить их, а затем вызывать их по мере необходимости, во многом как UI Scripts для JS и Style Sheets для CSS? Если так, как бы я поступил так?
Спасибо!
1 ответ
Решение
Да, вы должны быть в состоянии сделать это с помощью макросов пользовательского интерфейса.
Вы можете создать макрос пользовательского интерфейса с именем set_user_name_var, как показано ниже:
<?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 Macro в любом месте, где вы можете написать желейный код, например, так:
<g:set_user_name_var />
или альтернативно:
<g:macro_invoke macro="set_user_name_var" />
И с этого момента переменная желе jvar_user_name будет существовать и будет доступна.
Например:
<?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>