尝试更改字段时未定义。的ServiceNow

时间:2016-03-03 15:37:45

标签: servicenow

我正在使用三个字段:来电者,受影响的用户和办公室位置。只需构建这个小脚本即可进行扩展。如果你不能告诉我这里的新闻。我们的组织刚刚开始服务。新的管理培训。

当呼叫者更改时,它还会使用用户名填充“用户受影响”字段。 (我们有很多人为其他人投入事件。)

工作正常。但是当它更改用户受影响时,Office位置应该填充该位置,但它只会填充“未定义”

但是当我自己更改“受影响的用户”字段时,它可以正常工作。

我的脚本改变了什么,我改变了什么?这是脚本。

function onChange(control, oldValue, newValue, isLoading) { if (isLoading) return;

if (newValue == '') { g_form.setValue('u_office_location', ''); return; }

if (!g_form.getControl('u_office_location')) return;

var u_user_affected = g_form.getReference('u_user_affected', setLocation); }

function setLocation(u_user_affected) { if (u_user_affected) g_form.setValue('u_office_location', u_user_affected.u_office_location); }

以下是从调用者

填充用户影响的脚本
function onChange(control, oldValue, newValue, isLoading) { if (isLoading) return;

if (newValue == '') { g_form.setValue('u_user_affected', ''); return; }

if (!g_form.getControl('u_user_affected')) return;

var caller = g_form.getReference('caller_id', setLocation); }

function setLocation(caller) { if (caller) g_form.setValue('u_user_affected', caller.name); }

1 个答案:

答案 0 :(得分:0)

我用caller.name填充字段,这只是文本。我没有填写参考文献

以下是填充用户受调用者影响的脚本的修复程序。

function onChange(control, oldValue, newValue, isLoading) {   
    var id = g_form.getValue('caller_id');//replace 'u_first_field' with the name of your reference field.   
    if (g_form.getValue('u_user_affected') == ""){ 
        g_form.setValue('u_user_affected', id);   
    } 

}