ServiceNow getReference() 非同期関数の使い方

概要
getReference()
getReference()はクライアントスクリプトでサーバ情報を非同期で
取得する関数です。スクリプトインクルードを作成する必要がないので
少ないコードでテーブルデータを取得することができます。
getReference()の引数は参照型フィールド名,呼び出す関数名です。
次の例では参照型フィールドuserのレコードを取得してsetUserInfo
関数を呼び出しています。

使用例

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
function onChange(control, oldValue, newValue, isLoading) {
if (isLoading || newValue == '') {
return;
}
//参照フィールドuserのレコードを取得してsetUserInfoを呼び出す
g_form.getReference('user', setUserInfo);
   //ユーザ情報をフィールドuser_infoに設定する
function setUserInfo(user) {
g_form.setValue('user_info', user.name + ' [' + user.employee_number + ']');
}
}
function onChange(control, oldValue, newValue, isLoading) { if (isLoading || newValue == '') { return; } //参照フィールドuserのレコードを取得してsetUserInfoを呼び出す g_form.getReference('user', setUserInfo);    //ユーザ情報をフィールドuser_infoに設定する function setUserInfo(user) { g_form.setValue('user_info', user.name + ' [' + user.employee_number + ']'); } }
function onChange(control, oldValue, newValue, isLoading) {
    if (isLoading || newValue == '') {
        return;
    }
      //参照フィールドuserのレコードを取得してsetUserInfoを呼び出す
    g_form.getReference('user', setUserInfo); 

   //ユーザ情報をフィールドuser_infoに設定する
    function setUserInfo(user) { 
        g_form.setValue('user_info', user.name + '  [' + user.employee_number + ']');
    }
}

分析
getXML()及びgetXMLAnswer()の場合は必要な
行列のデータのみを取得しますが、getReference()の場合は
1レコード全体を取得します。
getReference()の方がパフォーマンス問題があるために利用は避けられています。

IT

Posted by arkgame