GlideSystem - グローバル

  • リリースバージョン: Yokohama
  • 更新日 2025年01月30日
  • 所要時間:101分
  • サーバー側の JavaScript で変数名 gs で参照される GlideSystem API には、システムに関する情報、現在ログインしているユーザー、日時情報を取得するための便利なメソッドが多数用意されています。

    GlideSystem メソッドの多くは、クエリ範囲に日付を簡単に含めることを容易にし、フィルターやレポートで最もよく使用されます。

    GlideSystem - addErrorMessage(オブジェクトメッセージ)

    現在のセッションのエラーメッセージを追加します。

    getErrorMessages() を使用して、現在表示されているエラーメッセージのリストを取得します。

    表 : 1. パラメーター
    名前 タイプ 説明
    メッセージ オブジェクト 追加するメッセージ。
    表 : 2. 戻り値
    タイプ 説明
    なし
    gs.include("PrototypeServer");
      var ValidatePasswordStronger = Class.create();
      ValidatePasswordStronger.prototype = {
           process : function() {
              var user_password = request.getParameter("user_password");
              var min_len = 8;
              var rules = "Password must be at least " + min_len + 
                 " characters long and contain a digit, an uppercase letter, and a lowercase letter.";
              if (user_password.length() < min_len) {
                 gs.addErrorMessage("TOO SHORT: " + rules);
                 return false;
              }
              var digit_pattern = new RegExp("[0-9]", "g");
              if (!digit_pattern.test(user_password)) {
                 gs.addErrorMessage("DIGIT MISSING: " + rules);
                 return false;
              }
              var upper_pattern = new RegExp("[A-Z]", "g");
              if (!upper_pattern.test(user_password)) {
                 gs.addErrorMessage("UPPERCASE MISSING: " + rules);
                 return false;
              }
              var lower_pattern = new RegExp("[a-z]", "g");
              if (!lower_pattern.test(user_password)) {
                 gs.addErrorMessage("LOWERCASE MISSING: " + rules);
                 return false;
              }
              return true; // password is OK
           }
      }
    [edit]

    スコープ対象と同等のもの

    スコープ対象のアプリケーションで addErrorMessage() メソッドを使用するには、対応するスコープ対象のメソッド addErrorMessage() を使用します。

    GlideSystem - addInfoMessage(オブジェクトメッセージ)

    現在のセッションの情報メッセージを追加します。

    getInfoMessages() を使用して、表示されている情報メッセージのリストを取得します。このメソッドは非同期ビジネスルールではサポートされておらず、変換スクリプト内では使用できません。

    表 : 3. パラメーター
    名前 タイプ 説明
    メッセージ オブジェクト 追加するメッセージ。
    表 : 4. 戻り値
    タイプ 説明
    なし
    if ((!current.u_date1.nil()) && (!current.u_date2.nil())) {
      var start = current.u_date1.getGlideObject().getNumericValue();
      var end = current.u_date2.getGlideObject().getNumericValue();
      if (start > end) {
        gs.addInfoMessage('start must be before end');
        current.u_date1.setError('start must be before end');
        current.setAbortAction(true);
      }
    }

    スコープ対象と同等のもの

    スコープ対象のアプリケーションで addInfoMessage() メソッドを使用するには、対応するスコープ対象のメソッド addInfoMessage() を使用します。

    GlideSystem - addMessage(文字列タイプ, オブジェクトメッセージ)

    現在のセッションのメッセージを追加します。

    表 : 5. パラメーター
    名前 タイプ 説明
    タイプ 文字列 エラー情報などのメッセージのタイプ。
    メッセージ オブジェクト 現在のセッションに追加するメッセージ。
    表 : 6. 戻り値
    タイプ 説明
    なし

    GlideSystem - beginningOfLastMonth()

    先月の初めの日時を GMT で取得します。

    表 : 7. パラメーター
    名前 タイプ 説明
    なし
    表 : 8. 戻り値
    タイプ 説明
    文字列 先月初めの GMT (yyyy-mm-dd hh:mm:ss 形式)。

    この例では、GlideDateTime オブジェクトの日時を先月の初めに設定します。

    var date = new GlideDate();
    date.setValue(gs.beginningOfLastMonth());
    var dateasint = date.toString().replace('-','');
    gs.print(dateasint);

    スコープ対象と同等のもの

    スコープ対象のアプリケーションで beginningOfLastMonth() メソッドを使用するには、対応するスコープ対象のメソッド beginningOfLastMonth() を使用します。

    GlideSystem - beginningOfLastWeek()

    先週の開始時を GMT で返します。

    表 : 9. パラメーター
    名前 タイプ 説明
    なし
    表 : 10. 戻り値
    タイプ 説明
    文字列 先週の初めのグリニッジ標準時。

    形式:yyyy-mm-dd hh:mm:ss

    この例では、現在の Glide 日付/時刻レコードの値を先週の初めに設定します。

    var gdt2 = new GlideDateTime(dt);
    gdt2.setValue(gs.beginningOfLastWeek());

    スコープ対象と同等のもの

    スコープ対象のアプリケーションで beginningOfLastWeek() メソッドを使用するには、対応するスコープ対象のメソッド beginningOfLastWeek() を使用します。

    GlideSystem - beginningOfNextWeek()

    来週の開始時を GMT で返します。

    表 : 11. パラメーター
    名前 タイプ 説明
    なし
    表 : 12. 戻り値
    タイプ 説明
    文字列 来週初めのグリニッジ標準時。

    形式:yyyy-mm-dd hh:mm:ss

    この例では、現在の Glide 日付/時刻レコードの値を翌週の初めに設定します。

    var gdt2 = new GlideDateTime(dt);
    gdt2.setValue(gs.beginningOfNextWeek());

    スコープ対象と同等のもの

    スコープ対象のアプリケーションで beginningOfNextWeek() メソッドを使用するには、対応するスコープ対象のメソッド beginningOfNextWeek() を使用します。

    GlideSystem - beginningOfNextMonth()

    翌月初めの日時を GMT で返します。

    表 : 13. パラメーター
    名前 タイプ 説明
    なし
    表 : 14. 戻り値
    タイプ 説明
    文字列 来月初めのグリニッジ標準時。

    形式:yyyy-mm-dd hh:mm:ss

    この例では、現在の Glide 日付/時刻レコードの値を翌月の初めに設定します。

    var gdt2 = new GlideDateTime(dt);
    gdt2.setValue(gs.beginningOfNextMonth());

    スコープ対象と同等のもの

    スコープ対象のアプリケーションで beginningOfNextMonth() メソッドを使用するには、対応するスコープ対象のメソッド beginningOfNextMonth() を使用します。

    GlideSystem - beginningOfNextYear()

    来年の初めの日時を GMT で返します。

    表 : 15. パラメーター
    名前 タイプ 説明
    なし
    表 : 16. 戻り値
    タイプ 説明
    文字列 来年の初めの GMT (yyyy-mm-dd hh:mm:ss 形式)。

    この例では、現在の Glide 日付/時刻レコードの値を翌年の初めに設定します。

    var gdt2 = new GlideDateTime(dt);
    gdt2.setValue(gs.beginningOfNextYear());

    スコープ対象と同等のもの

    スコープ対象のアプリケーションで beginningOfNextYear() メソッドを使用するには、対応するスコープ対象のメソッド beginningOfNextYear() を使用します。

    GlideSystem - beginningOfThisMonth()

    現在の月の初めの日時を GMT で返します。

    表 : 17. パラメーター
    名前 タイプ 説明
    なし
    表 : 18. 戻り値
    タイプ 説明
    文字列 当月の初めの GMT。

    形式:yyyy-mm-dd hh:mm:ss

    この例では、現在の Glide 日付/時刻レコードの値を今月の初めに設定します。

    var gdt2 = new GlideDateTime(dt);
    gdt2.setValue(gs.beginningOfThisMonth());

    スコープ対象と同等のもの

    スコープ対象のアプリケーションで beginningOfThisMonth() メソッドを使用するには、対応するスコープ対象のメソッド beginningOfThisMonth() を使用します。

    GlideSystem - beginningOfThisQuarter()

    現在の四半期の開始日時を GMT で返します。

    表 : 19. パラメーター
    名前 タイプ 説明
    なし
    表 : 20. 戻り値
    タイプ 説明
    文字列 現在の四半期の初めの GMT。

    形式:yyyy-mm-dd hh:mm:ss

    この例では、現在の Glide 日付/時刻レコードの値を現在の四半期の初めに設定します。

    var gdt2 = new GlideDateTime(dt);
    gdt2.setValue(gs.beginningOfThisQuarter());

    スコープ対象と同等のもの

    スコープ対象のアプリケーションで beginningOfThisQuarter() メソッドを使用するには、対応するスコープ対象のメソッド beginningOfThisQuarter() を使用します。

    GlideSystem - beginningOfThisWeek()

    今週の開始の日時を GMT で返します。

    表 : 21. パラメーター
    名前 タイプ 説明
    なし
    表 : 22. 戻り値
    タイプ 説明
    文字列 今週の初めの GMT です。

    形式:yyyy-mm-dd hh:mm:ss

    この例では、現在の Glide 日付/時刻レコードの値を現在の週の初めに設定します。

    var gdt2 = new GlideDateTime(dt);
    gdt2.setValue(gs.beginningOfThisWeek());

    スコープ対象と同等のもの

    スコープ対象のアプリケーションで beginningOfThisWeek() メソッドを使用するには、対応するスコープ対象のメソッド beginningOfThisWeek() を使用します。

    GlideSystem - beginningOfThisYear()

    今年の初めの日時を GMT で返します。

    表 : 23. パラメーター
    名前 タイプ 説明
    なし
    表 : 24. 戻り値
    タイプ 説明
    文字列 今年の初めの GMT です。

    形式:yyyy-mm-dd hh:mm:ss

    この例では、現在の Glide 日付/時刻レコードの値を現在の年の初めに設定します。

    var gdt2 = new GlideDateTime(dt);
    gdt2.setValue(gs.beginningOfThisYear());

    スコープ対象と同等のもの

    スコープ対象のアプリケーションで beginningOfThisYear() メソッドを使用するには、対応するスコープ対象のメソッド beginningOfThisYear() を使用します。

    GlideSystem - beginningOfToday()

    今日の始まりの日時を GMT で取得します。

    表 : 25. パラメーター
    名前 タイプ 説明
    なし
    表 : 26. 戻り値
    タイプ 説明
    文字列 当日の GMT の始まり。

    形式:yyyy-mm-dd hh:mm:ss

    この例では、現在の Glide 日付/時刻レコードの値を現在の日の始まりに設定します。

    var gdt2 = new GlideDateTime(dt);
    gdt2.setValue(gs.beginningOfToday());

    GlideSystem - beginningOfTomorrow()

    現在のセッションのタイムゾーンに合わせて調整された明日の始まり (UTC) を取得します。

    表 : 27. パラメーター
    名前 タイプ 説明
    なし
    表 : 28. 戻り値
    タイプ 説明
    文字列 明日の始まりはグリニッジ標準時です。

    形式:yyyy-mm-dd hh:mm:ss

    var today = new GlideDateTime(gs.beginningOfTomorrow()).getNumericValue();

    GlideSystem - beginningOfYesterday()

    昨日の開始の日時を GMT で取得します。

    表 : 29. パラメーター
    名前 タイプ 説明
    なし
    表 : 30. 戻り値
    タイプ 説明
    文字列 昨日の GMT の始まり (yyyy-mm-dd hh:mm:ss の形式)。
    var start = new GlideDateTime();
    start.setValue(gs.beginningOfYesterday());

    GlideSystem - calDateDiff(文字列 startDate, 文字列 endDate, ブール numericValue)

    デフォルトのカレンダーを使用して 2 つの日付の差を計算します。

    カレンダーはレガシーになりました。スケジュールを使用している場合は、トピック スケジューリングスクリプトのユースケースの「指定されたスケジュール中に計算する」セクションを参照してください。

    表 : 31. パラメーター
    名前 タイプ 説明
    startDate 文字列 現在のユーザーの日付形式で比較する開始日。
    endDate 文字列 現在のユーザーの日付形式で比較する終了日。
    数値値 ブール 返された時間値の形式を示すフラグ。

    有効な値:

    • true:戻り値は秒数でフォーマットされます
    • false:戻り値の形式は ddd hh:mm:ss です。
    表 : 32. 戻り値
    タイプ 説明
    文字列 numericValueパラメーターが true の場合、2 つの日付の差を整数の秒数で返します。

    false の場合、2 つの日付の差を ddd hh:mm:ss の形式で返します。

    var endDateTime = gs.nowDateTime();
    gs.print('--- Total records: ' + countRecordsTotal);
    gs.print('--- End time: ' + endDateTime);
    gs.print('Time diff: ' + gs.calDateDiff(startDateTime, endDateTime));

    GlideSystem - dateDiff(String startDate, String endDate, Boolean numericValue)

    2 つの日付の差を計算します。

    このメソッドでは、最初のパラメーターとして前の日付を想定し、2 番目のパラメーターとして後の日付を想定します。それ以外の場合、メソッドは差を負の値として返します。getDisplayValue() を使用して、文字列を想定される形式に変換します。

    このメソッドでは、ユーザー/システムの日時形式のパラメーターが必要ですが、これは内部形式と同じではない場合があります。ユーザー/システムの日時形式以外の形式でパラメーターを使用すると、無効な結果が返される可能性があります。

    GlideDateTime オブジェクトを操作している場合は、dateDiff() ではなく GlideDateTime subtract() メソッドを使用します。

    表 : 33. パラメーター
    名前 タイプ 説明
    startDate 文字列 現在のユーザーの日付形式で比較する開始日。
    endDate 文字列 現在のユーザーの日付形式で比較する終了日。
    数値値 ブール true の場合、戻り値は秒数でフォーマットされます。false の場合、戻り値は ddd hh:mm:ss の形式になります。
    表 : 34. 戻り値
    タイプ 説明
    文字列 numericValue パラメーターが true の場合、2 つの日付の差を整数の秒数で返します。false の場合、2 つの日付の差を ddd hh:mm:ss の形式で返します。
    // Given two date/times as DateTime objects
    // Set the values this way to ensure a consistent input time
    var date1 = new GlideDateTime();
    var date2 = new GlideDateTime();
    date1.setDisplayValueInternal('2014-01-01 12:00:00');
    date2.setDisplayValueInternal('2014-01-01 13:00:00');
     
    // Determine the difference as number of seconds (returns a string)
    // Use getDisplayValue() to convert the string to the format expected by dateDiff()
    var diffSeconds = gs.dateDiff(date1.getDisplayValue(), date2.getDisplayValue(), true);
     
    // JavaScript will coerce diffSeconds from a string to a number
    // since diffSeconds is being compared to a number
    var msg = (diffSeconds <= 0) ? ' is on or after ' : ' is before ';
    gs.print(date1.getDisplayValue() + msg + date2.getDisplayValue())

    GlideSystem - dateGenerate(文字列、日付、文字列範囲)

    指定された日付の日時を GMT で生成します。

    表 : 35. パラメーター
    名前 タイプ 説明
    date 文字列 GMT で生成する日付。

    形式:yyyy-mm-dd

    範囲 文字列 開始、終了、または時刻。

    形式:24 時間制 hh:mm:ss

    表 : 36. 戻り値
    タイプ 説明
    文字列 生成された日時。

    範囲が start の場合、戻り値は yyyy-mm-dd 00:00:00 です。

    range が end の場合、戻り値は yyyy-mm-dd 23:59:59 です。

    形式:yyyy-mm-dd hh:mm:ss

    この例では、インシデントテーブルのレコードをクエリするときに 、dateGenerate() を使用して開始日を設定する方法を示しています。

    var tableData = new GlideRecord('incident');
    tableData.addEncodedQuery("sys_created_onBETWEENjavascript:gs.dateGenerate('2015-10-07','00:00:00')@javascript:gs.daysAgoEnd(0)^priority=1^severityIN1,2");
    tableData.query();
    gs.info("Count: " + tableData.getRowCount());

    出力:

    Count: 7

    スコープ対象と同等のもの

    スコープ対象のアプリケーションで dateGenerate() メソッドを使用するには、対応するスコープ対象のメソッド dateGenerate() を使用します。

    GlideSystem - daysAgo(日数)

    特定の日数前の日付と時刻を返します。

    表 : 37. パラメーター
    名前 タイプ 説明
    days 番号 日数
    表 : 38. 戻り値
    タイプ 説明
    文字列 指定された日数前の GMT。

    形式:yyyy-mm-dd hh:mm:ss。

    function contractNoticeDue() {
      var now_GR = new GlideRecord("contract");
      now_GR.addQuery("u_contract_status", "Active");
      now_GR.query();
      while (now_GR.next()) {
        if ((now_GR.u_termination_date <= gs.daysAgo(-90)) && (now_GR.u_contract_duration == "Long")) {
          now_GR.u_contract_status = "In review";
        } 
        else if ((now_GR.u_termination_date <= gs.daysAgo(-50)) && (now_GR.u_contract_duration == "Medium")) {
          now-GR.u_contract_status = "In review";
        }
        else if ((now_GR.u_termination_date <= gs.daysAgo(-10)) && (now_GR.u_contract_duration == "Short")) {
          now_GR.u_contract_status = "In review";
        }
      }
      now_GR.update();
    }

    スコープ対象と同等のもの

    スコープ対象のアプリケーションで daysAgo() メソッドを使用するには、対応するスコープ対象のメソッド daysAgo() を使用します。

    GlideSystem - daysAgoEnd(日数)

    指定された日数前の 1 日の終わりの日時を返します。

    表 : 39. パラメーター
    名前 タイプ 説明
    days 番号 整数の日数
    表 : 40. 戻り値
    タイプ 説明
    文字列 yyyy-mm-dd hh:mm:ss 形式の GMT の 1 日の終わり。

    この例では、インシデントテーブルのレコードをクエリするときに 、daysAgoEnd() を使用して終了日を設定する方法を示しています。

    var tableData = new GlideRecord('incident');
    tableData.addEncodedQuery("sys_created_onBETWEENjavascript:gs.dateGenerate('2015-10-07','00:00:00')@javascript:gs.daysAgoEnd(0)^priority=1^severityIN1,2");
    tableData.query();
    gs.addInfoMessage("Count: " +tableData.getRowCount());

    スコープ対象と同等のもの

    スコープ対象のアプリケーションで daysAgoEnd() メソッドを使用するには、対応するスコープ対象のメソッドである daysAgoEnd() を使用します。

    GlideSystem - daysAgoLocal(日数)

    指定された日数前の 1 日の開始日時を返します。返される日付と時刻は、現在のセッションのタイムゾーン (現地時間) を反映しています。

    表 : 41. パラメーター
    名前 タイプ 説明
    days 番号 日数前
    表 : 42. 戻り値
    タイプ 説明
    文字列 ユーザー定義の日時形式での 1 日の始まりの現地日時。日時形式が初期値から変更されていない場合、形式は yyyy-mm-dd hh:mm:ss になります。
    if (due_in == "1 Day") {
      dd = gs.daysAgoLocal(-1);
    }
    if (due_in == "1 Week") {
      dd = gs.daysAgoLocal(-7);
    }

    GlideSystem - daysAgoStart(日数)

    指定された日数前の 1 日の開始の日時を返します。

    表 : 43. パラメーター
    名前 タイプ 説明
    days 文字列 整数の日数
    表 : 44. 戻り値
    タイプ 説明
    文字列 GMT 形式での 1 日の始まり (yyyy-mm-dd hh:mm:ss 形式)
    var now_GR = new GlideRecord('sysapproval_approver');
    now_GR.addQuery('state', 'requested');
    now_GR.addQuery('sys_updated_on', '<', gs.daysAgoStart(5));
    now_GR.query();

    スコープ対象と同等のもの

    スコープ対象のアプリケーションで daysAgoStart() メソッドを使用するには、対応するスコープ対象のメソッド daysAgoStart() を使用します。

    GlideSystem - endOfLastMonth()

    先月末の日時を GMT で返します。

    表 : 45. パラメーター
    名前 タイプ 説明
    なし
    表 : 46. 戻り値
    タイプ 説明
    文字列 先月末の GMT。

    形式:yyyy-mm-dd hh:mm:ss

    この例は、先月の最終日のレポートレコードをクエリする方法を示しています。

    var month = gs.endOfLastMonth();
    var monthd = new GlideDateTime(month);
    monthd.addDays(-1);
    
    var queueLast = new GlideRecord('u_amazon_connect_phone_metrics');
    queueMtd.addQuery('u_queue_name',queueNames[i]);
    queueMtd.addEncodedQuery('u_time_range=MTD');
    queueMtd.addEncodedQuery('u_report_date'+ monthd);
    queueMtd.orderByDesc('u_report_date');
            
    queueMtd.query();
    
    if(queueMtd.next()){
      gs.info(queueMtd.u_report_date);
    } 

    スコープ対象と同等のもの

    スコープ対象のアプリケーションで endOfLastMonth() メソッドを使用するには、対応するスコープ対象のメソッド endOfLastMonth() を使用します。

    GlideSystem - 先週の終わり ()

    先週末の日時を GMT で返します。

    表 : 47. パラメーター
    名前 タイプ 説明
    なし
    表 : 48. 戻り値
    タイプ 説明
    文字列 先週末のグリニッジ標準時。

    形式:yyyy-mm-dd hh:mm:ss

    この例は、前月の最後の週にオープンされたレコードをクエリする方法を示しています。

    var inc = new GlideRecord('incident');
    inc.addQuery('active=true^priority=1^opened_atONLast month@javascript:gs.beginningOfLastMonth()@javascript:gs.endOfLastMonth()^opened_atONLast week@javascript:gs.beginningOfLastWeek()@javascript:gs.endOfLastWeek()');
    inc.query();
    while(inc.next())
     {
       gs.addInfoMessage(inc.getRowCount());
     }

    スコープ対象と同等のもの

    スコープ対象のアプリケーションで endOfLastWeek() メソッドを使用するには、対応するスコープ対象のメソッド endOfLastWeek() を使用します。

    GlideSystem - endOfLastYear()

    昨年末の日時を GMT で返します。

    表 : 49. パラメーター
    名前 タイプ 説明
    なし
    表 : 50. 戻り値
    タイプ 説明
    文字列 yyyy-mm-dd hh:mm:ss 形式の GMT。

    この例では、前年に作成されたすべてのレコードに対して作成されたレコードをクエリする方法を示します。

    var inc = new GlideRecord('incident');
    inc.addEncodedQuery('sys_created_onONLast year@javascript:gs.beginningOfLastYear()@javascript:gs.endOfLastYear()');
    inc.query();
    while(inc.next()){
      inc.assignment_group = "d625dccec0a8016700a222a0f7900d06";
      inc.update();
    }

    スコープ対象と同等のもの

    スコープ対象のアプリケーションで endOfLastYear() メソッドを使用するには、対応するスコープ対象のメソッド endOfLastYear() を使用します。

    GlideSystem - endOfNextMonth()

    来月末の日時を GMT で返します。

    表 : 51. パラメーター
    名前 タイプ 説明
    なし
    表 : 52. 戻り値
    タイプ 説明
    文字列 GMT のデータと時刻。

    形式:yyyy-mm-dd hh:mm:ss

    この例は、本日の初めから翌月末までに作成された KB ナレッジレコードをクエリする方法を示しています。

    var query = "kb_knowledge_base=e81c9a0ddbc15810c38f0763b99619c1^ORkb_knowledge_base=21302e89db055810c38f0763b99619cc^valid_toBETWEENjavascript:gs.beginningOfToday()@javascript:gs.endOfNextMonth()^ORworkflow_state=pending_retirement^latest=true";
    var rec = new GlideRecord('kb_knowledge');
    rec.addEncodedQuery(query);
    rec.addQuery('author', current.author);
    rec.query();
    while (rec.next()) {
      var Kbtitle = rec.getValue('short_description');
      articles.push(rec.number.toString()+ '' + Kbtitle);
      template.print('Click here to view record<a href="https://give urs instance url here/nav_to.do?uri=kb_knowledge.do?sys_id=' + rec.sys_id + '">' + rec.number + '</a>');
    }
    var articlesList = "<ul>";
    for (i = 0; i <= articles.length-1; i++) {
      articlesList = articlesList + "<li>" + articles[i] + "</li>";
    }
    articlesList = articlesList + "</ul>";

    スコープ対象と同等のもの

    スコープ対象のアプリケーションで endOfNextMonth() メソッドを使用するには、対応するスコープ対象のメソッド endOfNextMonth() を使用します。

    GlideSystem - endOfNextWeek()

    来週の終わりの日時を GMT で返します。

    表 : 53. パラメーター
    名前 タイプ 説明
    なし
    表 : 54. 戻り値
    タイプ 説明
    文字列 来週末の GMT 日時。

    形式:yyyy-mm-dd hh:mm:ss

    この例は、クエリで endOfNextWeek() を使用して、過去 1 週間のすべての訪問者を取得する方法を示しています。

    var title = 'Visitors arriving this Week';
    var visitorQuery = 'active=true^category=visitor_request^u_my_start_dateONThis week@javascript:gs.beginningOfThisWeek()@javascript:gs.endOfNextWeek()';

    スコープ対象と同等のもの

    スコープ対象のアプリケーションで endOfNextWeek() メソッドを使用するには、対応するスコープ対象のメソッド endOfNextWeek() を使用します。

    GlideSystem - endOfNextYear()

    来年末の日時を GMT で返します。

    表 : 55. パラメーター
    名前 タイプ 説明
    なし
    表 : 56. 戻り値
    タイプ 説明
    文字列 来年末の GMT 日時。

    形式:yyyy-mm-dd hh:mm:ss

    この例では、 endOfNextYear() を使用して GlideDateTime オブジェクトを翌年の終わりに設定する方法を示します。

    setEndDate : function(dt) {
      var gdt2 = new GlideDateTime(dt);
      gdt2.setValue(gs.endOfNextYear());
    }

    スコープ対象と同等のもの

    スコープ対象のアプリケーションで endOfNextYear() メソッドを使用するには、対応するスコープ対象のメソッド endOfNextYear() を使用します。

    GlideSystem - endOfThisMonth()

    今月末の日時を GMT で返します。

    表 : 57. パラメーター
    名前 タイプ 説明
    なし
    表 : 58. 戻り値
    タイプ 説明
    文字列 今月末の GMT 日時。

    形式:yyyy-mm-dd hh:mm:ss

    この例では、 endOfThisMonth() を使用して GlideDateTime オブジェクトを現在の月末に設定する方法を示します。

    setEndDate : function(dt) {
      var gdt2 = new GlideDateTime(dt);
      gdt2.setValue(gs.endOfThisMonth());
    }

    スコープ対象と同等のもの

    スコープ対象のアプリケーションで endOfThisMonth() メソッドを使用するには、対応するスコープ対象のメソッド endOfThisMonth() を使用します。

    GlideSystem - endOfThisQuarter()

    この四半期末の日時を GMT で返します。

    表 : 59. パラメーター
    名前 タイプ 説明
    なし
    表 : 60. 戻り値
    タイプ 説明
    文字列 今四半期末の GMT 日時。

    形式:yyyy-mm-dd hh:mm:ss

    この例では、 endOfThisQuarter() を使用して GlideDateTime オブジェクトを現在の月末に設定する方法を示します。

    setEndDate : function(dt) {
      var gdt2 = new GlideDateTime(dt);
      gdt2.setValue(gs.endOfThisQuarter());
    }

    スコープ対象と同等のもの

    スコープ対象のアプリケーションで endOfThisQuarter() メソッドを使用するには、対応するスコープ対象のメソッド endOfThisQuarter() を使用します。

    GlideSystem - endOfThisWeek()

    今週末の日時を GMT で返します。

    表 : 61. パラメーター
    名前 タイプ 説明
    なし
    表 : 62. 戻り値
    タイプ 説明
    文字列 今週末の GMT 日時。

    形式:yyyy-mm-dd hh:mm:ss

    この例では、 endOfThisWeek() を使用して GlideDateTime オブジェクトを現在の月末に設定する方法を示します。

    setEndDate : function(dt) {
      var gdt2 = new GlideDateTime(dt);
      gdt2.setValue(gs.endOfThisWeek());
    }

    スコープ対象と同等のもの

    スコープ対象のアプリケーションで endOfThisWeek() メソッドを使用するには、対応するスコープ対象のメソッド endOfThisWeek() を使用します。

    GlideSystem - endOfThisYear()

    今年末の日時を GMT で返します。

    表 : 63. パラメーター
    名前 タイプ 説明
    なし
    表 : 64. 戻り値
    タイプ 説明
    文字列 今年末の GMT 日時。

    形式:yyyy-mm-dd hh:mm:ss

    この例では、 endOfThisYear() を使用して GlideDateTime オブジェクトを現在の月末に設定する方法を示します。

    setEndDate : function(dt) {
      var gdt2 = new GlideDateTime(dt);
      gdt2.setValue(gs.endOfThisYear());
    }

    スコープ対象と同等のもの

    スコープ対象のアプリケーションで endOfThisYear() メソッドを使用するには、対応するスコープ対象のメソッド endOfThisYear() を使用します。

    GlideSystem - endOfToday()

    本日の終了日時を GMT で取得します。

    表 : 65. パラメーター
    名前 タイプ 説明
    なし
    表 : 66. 戻り値
    タイプ 説明
    文字列 yyyy-mm-dd hh:mm:ss 形式の GMT。
    var beginToday = gs.beginningOfToday(); 
            var endToday = gs.endOfToday(); 
            var beginTomorrow = gs.beginningOfTomorrow(); 
            var endTomorrow = gs.endOfTomorrow(); 
            var beginYesterday = gs.beginningOfYesterday(); 
            var endYesterday = gs.endOfYesterday(); 
            
            gs.info('beginningOfToday: ' + beginToday); 
            gs.info('endOfToday: ' + endToday); 
            gs.info('-----------'); 
            gs.info('beginningOfTomorrow: ' + beginTomorrow); 
            gs.info('endOfTomorrow: ' + endTomorrow); 
            gs.info('beginningOfYesterday: ' + beginYesterday); 
            gs.info('endOfYesterday: ' + endYesterday); 
            gs.info('-----------'); 
            var gdt1 = new GlideDateTime(beginToday); 
            var gdt2 = new GlideDateTime(beginTomorrow); 
            var dur = GlideDateTime.subtract(gdt1, gdt2); //the difference between gdt1 and gdt2 
            gs.info('BeginTomorrow: ' + dur.getDisplayValue()); 
            
            var gdt1 = new GlideDateTime(endToday); 
            var gdt2 = new GlideDateTime(endTomorrow); 
            var dur = GlideDateTime.subtract(gdt1, gdt2); //the difference between gdt1 and gdt2 
            gs.info('EndTomorrow: ' + dur.getDisplayValue()); 
            
            var gdt1 = new GlideDateTime(beginToday); 
            var gdt2 = new GlideDateTime(beginYesterday); 
            var dur = GlideDateTime.subtract(gdt2, gdt1); //the difference between gdt1 and gdt2 
            gs.info('BeginningYesterday: ' + dur.getDisplayValue()); 
            
            var gdt1 = new GlideDateTime(endToday); 
            var gdt2 = new GlideDateTime(endYesterday); 
            var dur = GlideDateTime.subtract(gdt2, gdt1); //the difference between gdt1 and gdt2 
            gs.info('EndYesterday: ' + dur.getDisplayValue());

    GlideSystem - endOfTomorrow()

    明日の終わりの日時を GMT で取得します。

    表 : 67. パラメーター
    名前 タイプ 説明
    なし
    表 : 68. 戻り値
    タイプ 説明
    文字列 yyyy-mm-dd hh:mm:ss 形式の GMT。
    var tomorrowEnd = new GlideDateTime();
    tomorrowEnd.setValue(gs.endOfTomorrow());

    GlideSystem - endOfYesterday()

    昨日の終わりの日時を GMT で取得します。

    表 : 69. パラメーター
    名前 タイプ 説明
    なし
    表 : 70. 戻り値
    タイプ 説明
    文字列 (yyyy-mm-dd huh:mm:ss) 形式の GMT。
    var yesterdayEnd = new GlideDateTime();
    yesterdayEnd.setValue(gs.endOfYesterday());

    GlideSystem - eventQueue(String name, Object glideRecord, String parm1, String parm2, String queue)

    イベントマネージャーのイベントをキューに入れます。

    表 : 71. パラメーター
    名前 タイプ 説明
    名前 文字列 キューに入れられるイベントの名前。
    glideRecord オブジェクト GlideRecord オブジェクト (「current」など)。
    parm 1 文字列 (オプション)指定されている場合はインスタンスとともに保存されます。
    parm 2 文字列 (オプション)指定されている場合はインスタンスとともに保存されます。
    キュー 文字列 キューの名前です。
    表 : 72. 戻り値
    タイプ 説明
    なし
    if (current.operation() != 'insert' && current.comments.changes()) {
        gs.eventQueue("incident.commented", current, gs.getUserID(), gs.getUserName());
    }

    スコープ対象と同等のもの

    スコープ対象のアプリケーションで eventQueue() メソッドを使用するには、対応するスコープ対象のメソッドである eventQueue() を使用します。

    GlideSystem - eventQueueScheduled(String name, Object glideRecord, String parm1, String parm2, Object expiration)

    指定された日時にイベントマネージャーのイベントをキューに入れます。

    表 : 73. パラメーター
    名前 タイプ 説明
    名前 文字列 キューに入れられるイベントの名前。
    glideRecord オブジェクト GlideRecord オブジェクト (「current」など)。
    parm 1 文字列 (オプション)指定されている場合はインスタンスとともに保存されます。
    parm 2 文字列 (オプション)指定されている場合はインスタンスとともに保存されます。
    有効期限 オブジェクト このイベントを処理する日時。
    表 : 74. 戻り値
    タイプ 説明
    なし
    if (current.operation() != 'insert' && current.comments.changes()) {
        gs.eventQueueScheduled("incident.commented", current, gs.getUserID(), gs.getUserName(), new GlideDateTime('2018-06-02 20:00:00'));
    }

    スコープ対象と同等のもの

    スコープ対象のアプリケーションで eventQueueScheduled() メソッドを使用するには、対応するスコープ対象のメソッド eventQueueScheduled() を使用します。

    GlideSystem - flushMessages()

    addErrorMessage() または addInfoMessage() を使用して保存されたセッションメッセージをクリアします。

    セッションメッセージはフォームの上部に表示されます。クライアント側スクリプトでは、 g_form.clearMessages() を使用してセッションメッセージを削除します。

    表 : 75. パラメーター
    名前 タイプ 説明
    なし
    表 : 76. 戻り値
    タイプ 説明
    なし

    この例では、エラーメッセージを解析して返し、 flushMessages() を使用してメッセージをクリアする方法を示しています。

    MySessionUtil.getSessionError = function() {
      var msg = null;
      var msgs = gs.getErrorMessages().toArray();
      if (msgs.length > 0) {
        msg = msgs[0] + '';
        gs.flushMessages();
      }
      return msg;
    };
    

    GlideSystem - getAvatar()

    ユーザーのアバターへのファイルパスを返します。

    表 : 77. パラメーター
    名前 タイプ 説明
    なし
    表 : 78. 戻り値
    タイプ 説明
    文字列 ユーザーのアバターへのファイルパス。
    var avatarFile = gs.getUser().getAvatar();        
    gs.addInfoMessage('User avatar ID: ' + avatarFile);

    出力:

    User avatar ID: c148e1d13741310042106710ce41f149.iix?t=small

    GlideSystem - getCurrentScopeName()

    現在のアプリケーションスコープの名前を返します。

    表 : 79. パラメーター
    名前 タイプ 説明
    なし
    表 : 80. 戻り値
    タイプ 説明
    文字列 現在のスコープ名。

    この例では、 getCurrentScopeName() を使用してプロセッサーのスコープを取得する方法を示します。

    var incident_GR = new GlideRecord('Incident');
    
    if (incident_GR.get("2e3f6baddb9ad600added8fdbf9618cb")) {
      gs.debug("processor scope = "+ gs.getCurrentScopeName());
      var w = new global.Workflow();
      var context = w.startFlow('1f4a4baddb9ad600affed8fdbf9619bc', incident_GR, "update");   //id = id workflow
    }

    スコープ対象と同等のもの

    スコープ対象のアプリケーションで getCurrentScopeName() メソッドを使用するには、対応するスコープ対象のメソッド getCurrentScopeName() を使用します。

    GlideSystem - getDateFormat()

    現在のユーザーに関連付けられている日付形式を返します。

    表 : 81. パラメーター
    名前 タイプ 説明
    なし
    表 : 82. 戻り値
    タイプ 説明
    文字列 現在のユーザーに関連付けられている日付形式。

    次の例では、ユーザーに関連付けられた日付形式を返します。

    var userDateFormat = gs. getDateFormat();
    gs.info(userDateFormat);
    

    出力:

    yyyy-MM-dd

    GlideSystem - getDateTimeFormat()

    現在のユーザーに関連付けられている日付と時刻の形式を返します。

    表 : 83. パラメーター
    名前 タイプ 説明
    なし
    表 : 84. 戻り値
    タイプ 説明
    文字列 現在のユーザーに関連付けられている日付と時刻の形式。

    次の例では、ユーザーに関連付けられている日付と時刻の形式を返します。

    var userDateTimeFormat = gs.getDateTimeFormat();
    gs.info(userDateTimeFormat);
    

    出力:

    yyyy-MM-dd HH:mm:ss

    GlideSystem - getDisplayColumn(文字列 tableName)

    テーブルの表示列を取得します。

    表 : 85. パラメーター
    名前 タイプ 説明
    tableName 文字列 表示列名を取得するテーブルの名前。
    表 : 86. 戻り値
    タイプ 説明
    文字列 列名を表示
    // Return the sys_id value for a given table and its display value
    function GetIDValue(table, displayValue) { 
        var rec = new GlideRecord(table);
        var dn = gs.getDisplayColumn(table);
        if (rec.get(dn, displayValue))
            return rec.sys_id;
        else
            return null;
    }

    GlideSystem - getDisplayValueFor(String tableName, String recordID, String fieldName)

    指定されたレコードの指定されたフィールドの表示値を返します。

    表 : 87. パラメーター
    名前 タイプ 説明
    tableName 文字列 テーブルの名前。
    recordID 文字列 レコードのSys_id。
    fieldName 文字列 表示値を返すフィールドの名前。
    表 : 88. 戻り値
    タイプ 説明
    文字列 フィールドの表示値。

    この例では、 getDisplayValueFor() を使用して 数値 フィールドの表示値を返す方法を示します。

    var value = gs.getDisplayValueFor(current.getTableName(),current.getValue('sys_id'),'number');
    

    GlideSystem - getErrorMessages()

    addErrorMessage() によって追加されたセッションのエラーメッセージのリストを返します。

    表 : 89. パラメーター
    名前 タイプ 説明
    なし
    表 : 90. 戻り値
    タイプ 説明
    文字列 エラーメッセージのリスト

    この例では、 getErrorMessages() を使用してエラーメッセージを解析して返す方法を示します。

    MySessionUtil.getSessionError = function() {
      var msg = null;
      var msgs = gs.getErrorMessages().toArray();
      if (msgs.length > 0) {
        msg = msgs[0] + '';
        gs.flushMessages();
      }
      return msg;
    };
    

    スコープ対象と同等のもの

    スコープ対象のアプリケーションで getErrorMessages() メソッドを使用するには、対応するスコープ対象のメソッド getErrorMessages() を使用します。

    GlideSystem - getEscapedProperty(文字列キー, オブジェクト substituteObject)

    プロパティを取得し、XML 解析用にエスケープします。

    表 : 91. パラメーター
    名前 タイプ 説明
    キー 文字列 値を返すプロパティのキー。
    代替オブジェクト オブジェクト オプション。プロパティが見つからない場合に返されるオブジェクト。
    表 : 92. 戻り値
    タイプ 説明
    文字列 プロパティ、またはプロパティが見つからない場合は substituteObject。
    var propValue = gs.getEscapedProperty("com.example.my_test_property");
    gs.addInfoMessage("This is my property value " + propValue);

    GlideSystem - getImpersonatingUserDisplayName()

    代理操作ユーザーの表示名を返します。

    表 : 93. パラメーター
    名前 タイプ 説明
    なし
    表 : 94. 戻り値
    タイプ 説明
    文字列 代理操作ユーザーの表示名。

    この例では、代理操作者のユーザー表示名を取得する方法を示します。

    var user = gs.getUserDisplayName();
    gs.print ("The current user display name is: " + user);
    
    var name = gs.getImpersonatingUserDisplayName(); 
    gs.print("Impersonating user display name: " + name);
    出力:
    The current user display name is: abel.tuter
    Impersonating user display name: admin

    GlideSystem - getImpersonatingUserName()

    代理操作しているユーザーの名前を返します。代理操作していない場合は null を返します。

    表 : 95. パラメーター
    名前 タイプ 説明
    なし
    表 : 96. 戻り値
    タイプ 説明
    文字列 代理操作ユーザーの名前

    この例は、代理操作者のユーザー名を取得する方法を示しています。

    var name = gs.getImpersonatingUserName();
    var actual_user = null;
    if (name == null || name == '')
      actual_user = user;
    else
      actual_user = Packages.com.glide.sys.User.getUser(name);
    
    var recent_impersonations = actual_user.getPreference('recent.impersonations');
    var admin_role=actual_user.hasRole("admin");

    GlideSystem - getInfoMessages()

    addInfoMessage() によって追加されたセッションの情報メッセージのリストを取得します。

    表 : 97. パラメーター
    名前 タイプ 説明
    なし
    表 : 98. 戻り値
    タイプ 説明
    文字列 情報メッセージのリスト。

    この例では、情報メッセージを取得する方法を示します。

    var messages = gs.getInfoMessages();
    if (messages.toString().indexOf('Conflicts Detected') == -1)
      gs.addInfoMessage(msg);

    GlideSystem - getInitials()

    ユーザーのイニシャルを返します。

    表 : 99. パラメーター
    名前 タイプ 説明
    なし
    表 : 100. 戻り値
    タイプ 説明
    文字列 ユーザーのイニシャル。
    var userInitials = gs.getUser().getInitials();        
    gs.addInfoMessage('User initials: ' + userInitials);

    出力:

    User initials: SA

    GlideSystem - getMessage(文字列 messageID, オブジェクト args)

    メッセージ [sys_ui_message] テーブルから翻訳されたメッセージを取得して UI に表示します。

    指定されたメッセージ識別子 (キー) が現在の言語のメッセージ [sys_ui_message] テーブルに存在する場合、メソッドは翻訳されたメッセージを返します。指定されたメッセージ識別子が現在の言語に存在しない場合、このメソッドは英語版のメッセージを返します。メッセージ識別子がテーブルに存在しない場合は、メッセージ ID が返されます。

    メッセージテーブルの詳細については、「 メッセージテーブル」を参照してください。

    注:
    UI メッセージにチェックマーク (') が付いている場合は、スクリプト内のメッセージに問題がある可能性があります。目盛り (') をエスケープするには、 getMessageS(String, Object) を使用します。
    表 : 101. パラメーター
    名前 タイプ 説明
    メッセージ ID 文字列 メッセージ識別子。この値は、メッセージ [sys_ui_message] テーブルの [キー] フィールドにあります。[キー] フィールドは、実際のメッセージ文字列とまったく同じように見える場合があります。
    引数 オブジェクト オプション。指定されたメッセージ内の変数を置き換える、java.text.MessageFormat で定義された文字列またはその他の値のリスト。

    例: gs.getMessage("アクション '{0}' の追加を中止します。同じサブフローをこのサブフローで 2 回追加することはできません。", current.action.name);

    この例では 、「{0}」current.action.name の内容に置き換えられます。

    注:
    渡された値は翻訳されません。これらはメッセージに逐語的に挿入されます。
    表 : 102. 戻り値
    タイプ 説明
    文字列 要求された UI メッセージ。

    この例は、スペイン語が現在の言語である場合に現在のユーザーに返されるメッセージを示しています。

    var my_message = gs.getMessage("rows will not be updated");
    alert(my_message);

    出力:

    las filas no se actualizarán

    この例では、メッセージ内の単一の変数を置き換える方法を示します。

    // current.action.name is "update record"
    var my_message = gs.getMessage("Abort adding action '{0}', same subflow can't be added twice in this subflow.", current.action.name);
    alert(my_message);

    出力:

    Abort adding action update record, same subflow can't be added twice in this subflow.

    この例では、メッセージ内の複数の変数を置き換える方法を示します。

    // current.sub_flow.name is 'schedule users'
    // current.action.name is "update record"
    var my_message = gs.getMessage("Abort adding action '{0}', same subflow can't be added twice in {1} subflow.", [current.action.name, current.sub_flow.name]);
    alert(my_message);

    出力:

    Abort adding action update record, same subflow can't be added twice in schedule users subflow.

    スコープ対象と同等のもの

    スコープ対象のアプリケーションで getMessage() メソッドを使用するには、対応するスコープ対象のメソッド getMessage() を使用します。

    GlideSystem - getMessageS(文字列 messageID, オブジェクト引数)

    UI に表示する翻訳済みメッセージを取得し、すべての目盛り (') をエスケープします。

    指定されたメッセージ識別子 (キー) が現在の言語のメッセージ [sys_ui_message] テーブルに存在する場合、メソッドは翻訳されたメッセージを返します。指定されたメッセージ識別子が現在の言語に存在しない場合、このメソッドは英語版のメッセージを返します。メッセージ識別子がテーブルに存在しない場合は、メッセージ ID が返されます。

    メッセージテーブルの詳細については、「 メッセージテーブル」を参照してください。

    Jelly から JavaScript 式に挿入する場合に便利です。

    表 : 103. パラメーター
    名前 タイプ 説明
    メッセージ ID 文字列 メッセージ識別子。この値は、メッセージ [sys_ui_message] テーブルの [キー] フィールドにあります。[キー] フィールドは、実際のメッセージ文字列とまったく同じように見える場合があります。
    引数 オブジェクト オプション。指定されたメッセージ内の変数を置き換える、java.text.MessageFormat で定義された文字列またはその他の値のリスト。

    例: gs.getMessage("アクション '{0}' の追加を中止します。同じサブフローをこのサブフローで 2 回追加することはできません。", current.action.name);

    この例では 、「{0}」current.action.name の内容に置き換えられます。

    注:
    渡された値は翻訳されません。これらはメッセージに逐語的に挿入されます。
    表 : 104. 戻り値
    タイプ 説明
    文字列 目盛りがエスケープされた指定されたメッセージ。
    /*
    "I love France" translates to "J'aime la France" in French.
    Rendering this without escaping the tick in "J'aime" would break Jelly, because 
    the tick would prematurely end the variable assignment, and everything that 
    follows (aime la France') would be a jelly syntax error.
    */
    var my_message = '${gs.getMessageS("I love France")}'; 
    alert(my_message);

    出力:

    J'aime la France

    GlideSystem - getMessageLang(文字列メッセージ, 文字列言語, アレイ引数)

    指定されたメッセージを指定された言語に翻訳します。

    渡されたメッセージに変数を埋め込むこともできます。このメソッドは、 args 配列で渡された値でこれらの変数を解決します。

    表 : 105. パラメーター
    名前 タイプ 説明
    メッセージ 文字列 翻訳するメッセージ。
    language 文字列 メッセージを翻訳する言語。

    フォーマット:BCP47規格

    引数 アレイ オプション。指定されたメッセージ内の変数を置き換える、java.text.MessageFormat で定義された文字列またはその他の値のリスト。

    例: gs.getMessageLang("Abort adding action '{0}', the same subflow can't be addes twice in this subflow.", current.action.name);

    この例では 、「{0}」current.action.name の内容に置き換えられます。

    注:
    渡された値は翻訳されません。これらはメッセージに逐語的に挿入されます。
    表 : 106. 戻り値
    タイプ 説明
    文字列 翻訳されたメッセージ。

    次の例では、指定されたメッセージをスペイン語に変換します。

    var my_message = gs.getMessageLang("New email", "es");
    gs.info(my_message);

    出力:

    Nuevo correo electrónico

    次の例は、メッセージ内の変数を置き換える方法を示しています。

    var my_message = gs.getMessageLang("There are {0} new emails for {1}", "es", [current.numEmails, current.userName]);
    gs.info(my_message);

    出力:

    Hay 7 correos nuevos para John Smith

    GlideSystem - getNodeName(Object obj, Number index)

    指定されたインデックスのノード名を返します。

    表 : 107. パラメーター
    名前 タイプ 説明
    obj オブジェクト 調査するオブジェクト。
    インデックス 番号 ノード名を取得するインデックス。
    表 : 108. 戻り値
    タイプ 説明
    文字列 ノードの名前
    function doInsert(nodeList) {
      gs.print('Doing insert');
      var task = new GlideRecord('task');
      task.initialize();
      for (var x=0; x < nodeList.size(); x++) {
        var name = gs.getNodeName(nodeList, x);
        var value = gs.getNodeValue(nodeList, x);
        task.setValue(name, value);
      }
      task.insert();
    }

    GlideSystem - getNodeValue(Object obj, Number index)

    指定されたインデックスのノード値を返します。

    表 : 109. パラメーター
    名前 タイプ 説明
    obj オブジェクト 調査するオブジェクト。
    インデックス 番号 ノード値を取得するインデックス
    表 : 110. 戻り値
    タイプ 説明
    オブジェクト ノード値
    function doInsert(nodeList) {
      gs.print('Doing insert');
      var task = new GlideRecord('task');
      task.initialize();
      for (var x=0; x < nodeList.size(); x++) {
        var name = gs.getNodeName(nodeList, x);
        var value = gs.getNodeValue(nodeList, x);
        task.setValue(name, value);
      }
      task.insert();
    }

    GlideSystem - getPreference(文字列キー、オブジェクトのデフォルト)

    指定されたユーザー設定を返します。

    表 : 111. パラメーター
    名前 タイプ 説明
    キー 文字列 設定のキー。
    デフォルト オブジェクト 指定された設定が見つからない場合に使用するデフォルト値。
    表 : 112. 戻り値
    タイプ 説明
    文字列 設定値。設定がない場合は、指定されたデフォルト値を返します。
    function getSelectedProject() {
      var array= new Array();
      var prj_id = gs.getPreference("prj_id"); //This will fetch value from user preference
      var gr = new GlideRecord('pm_project_task');
      gr.addQuery('parent', prj_id);
      gr.addActiveQuery();
      while(gr.next()) {
        array.push(gr.sys_id.toString());
      }
      return array;
    }

    GlideSystem - getProperty(文字列キー, オブジェクト alt)

    Glide プロパティの値を返します。プロパティが見つからない場合は、指定された alt 値を返します。

    表 : 113. パラメーター
    名前 タイプ 説明
    キー 文字列 値を返すプロパティのキー。
    代替 オブジェクト オプション。プロパティが見つからない場合に返す代替オブジェクト。
    表 : 114. 戻り値
    タイプ 説明
    文字列 Glide プロパティの値、または上記で定義した代替オブジェクト。
    //Check for attachments and add link if there are any
    var attachment_link = '';
    var rec = new GlideRecord('sc_req_item');
    rec.addQuery('sys_id', current.request_item);
    rec.query();
    if(rec.next()){
      if(rec.hasAttachments()){
        attachment_link = gs.getProperty('glide.servlet.uri') + rec.getLink();
      }   
    }

    GlideSystem - getScriptError(文字列スクリプト)

    指定されたスクリプトで見つかったスクリプトエラー (存在する場合) を返します。

    注:
    スクリプトはこの関数では実行されず、構文エラーのみがチェックされます。
    表 : 115. パラメーター
    名前 タイプ 説明
    スクリプト 文字列 エラーをチェックするスクリプト。
    表 : 116. 戻り値
    タイプ 説明
    文字列 エラーメッセージ。エラーがない場合は null。
    if (gs.isValidScript(current.script) == false)
      {
        current.setAbortAction(true);
        var error = gs.getScriptError(current.script);
        current.script.setError(error);
      }

    GlideSystem - getSession()

    GlideSession オブジェクトを返します。

    表 : 117. パラメーター
    名前 タイプ 説明
    なし
    表 : 118. 戻り値
    タイプ 説明
    GlideSession オブジェクト 現在のセッションの GlideSession オブジェクト
    if(!gs.hasRole("admin") && gs.getSession().isInteractive() && gs.getUserName() != "guest"){
      var qc = current.addQuery('u_visibility', "both");
      qc.addOrCondition('u_visibility', '');
      if (gs.getImpersonatingUserName() != null) {
        gs.getSession().clearClientData('navQuery');
      }
      var navQuery = gs.getSession().getClientData('navQuery');
      if (navQuery == null) {
        var isManager = gs.getUser().getRecord().getValue('u_is_manager');
          if (!isManager) {
            qc.addOrCondition('u_visibility', 'nonmanager');
            gs.getSession().putClientData('navQuery', 'nonmanager');
          } else {
            qc.addOrCondition('u_visibility', 'manager');
            gs.getSession().putClientData('navQuery', 'manager');
            }
      } else {
      qc.addOrCondition('u_visibility', navQuery);
      }   
    }

    スコープ対象と同等のもの

    スコープ対象のアプリケーションで getSession() メソッドを使用するには、対応するスコープ対象のメソッド getSession() を使用します。

    GlideSystem - getSessionID()

    GlideSession セッション ID を返します。

    表 : 119. パラメーター
    名前 タイプ 説明
    なし
    表 : 120. 戻り値
    タイプ 説明
    文字列 セッション ID
    var gr_NOW = new GlideRecord('v_user_session');
    var sessionId = gs.getSessionID();
    gs.log("Session ID is: " + sessionId);

    出力

    Session ID is: FEE589B3DB7EE4103DD9C39D139619D7

    スコープ対象と同等のもの

    スコープ対象のアプリケーションで getSessionID() メソッドを使用するには、対応するスコープ対象のメソッド getSessionID を使用します。

    GlideSystem - getStyle(String tableName, String fieldName, String fieldValue)

    テーブル、フィールド、およびフィールド値に定義されたスタイルを返します。

    表 : 121. パラメーター
    名前 タイプ 説明
    tableName 文字列 テーブル名
    fieldName 文字列 フィールド名
    fieldValue 文字列 フィールド値
    表 : 122. 戻り値
    タイプ 説明
    文字列 指定されたフィールドのスタイル。
    var returnString = gs.getStyle('<tableName>', '<fieldName>', '<fieldValue>');
    gs.print(returnString);

    GlideSystem - getTimeFormat()

    現在のユーザーに関連付けられている時間形式を返します。

    表 : 123. パラメーター
    名前 タイプ 説明
    なし
    表 : 124. 戻り値
    タイプ 説明
    文字列 現在のユーザーに関連付けられている時間形式。

    次のコード例は、このメソッドを呼び出す方法を示しています。

    var userTimeFormat = gs. getTimeFormat();
    gs.info(userTimeFormat);
    

    出力:

    HH:mm:ss

    GlideSystem - getUser()

    現在のユーザーのユーザーオブジェクトへの参照を返します。

    表 : 125. パラメーター
    名前 タイプ 説明
    なし
    表 : 126. 戻り値
    タイプ 説明
    GlideUser 現在のユーザーのユーザーオブジェクトへの参照。

    次の例は、現在のユーザーオブジェクトを取得する方法を示しています。

    var user = gs.getUser();
    gs.print ("The current user is: " + user);
    出力:
    The current user is: com.glide.sys.User@db5dd9

    次の例は、現在のユーザーがworkflow_adminロールを持っているかどうかを確認する方法を示しています。

    var role = gs.getUser().hasRole('workflow_admin');
    gs.print ("Does the current user have the workflow_admin role: " + role);
    出力:
    Does the current user have the workflow_admin role: true

    スコープ対象と同等のもの

    スコープ対象のアプリケーションで getUser() メソッドを使用するには、対応するスコープ対象のメソッド getUser() を使用します。

    GlideSystem - getUserDisplayName()

    現在のユーザーの表示名を取得します。

    表 : 127. パラメーター
    名前 タイプ 説明
    なし
    表 : 128. 戻り値
    タイプ 説明
    文字列 現在のユーザーの名前フィールド。

    たとえば、このメソッドは abel.tuter ではなく Abel Tuter を返します。

    この例では、現在のユーザーの表示名を取得します。

    gs.info(gs.getUserDisplayName());

    出力:

    System Administrator

    スコープ対象と同等のもの

    スコープ対象のアプリケーションで getUserDisplayName() メソッドを使用するには、対応するスコープ対象のメソッド getUserDisplayName() を使用します。

    GlideSystem - getUserID()

    現在のユーザーのsys_idを返します。

    表 : 129. パラメーター
    名前 タイプ 説明
    なし
    表 : 130. 戻り値
    タイプ 説明
    文字列 現在のユーザーのSys_id。

    この例では、現在のユーザーのsys_idを取得します。

    var currentUserId = gs.getUserID();
    gs.print("Current user ID: " + currentUserId);
    出力:
    Current user ID: 6816f79cc0a8016401c5a33be04be441

    スコープ対象と同等のもの

    スコープ対象のアプリケーションで getUserID() メソッドを使用するには、対応するスコープ対象のメソッド getUserID() を使用します。

    GlideSystem - getUserName()

    現在のユーザーのユーザー名を返します。

    表 : 131. パラメーター
    名前 タイプ 説明
    なし
    表 : 132. 戻り値
    タイプ 説明
    文字列 現在のユーザーのユーザー名。

    たとえば、このメソッドは Abel Tuter ではなく abel.tuter を返します。

    この例では、現在のユーザーと代理操作されたユーザーのユーザー名を取得します。

    var user = gs.getUserName();
    gs.info("The current user name is: " + user);
    
    var impUser = new GlideImpersonate();
    impUser.impersonate("62826bf03710200044e0bfc8bcbe5df1");
    var user2 = gs.getUserName();
    gs.info("The impersonated user name is: " + user2);
    出力:
    The current user name is: admin
    The impersonated user name is: abel.tuter

    スコープ対象と同等のもの

    スコープ対象のアプリケーションで getUserName() メソッドを使用するには、対応するスコープ対象のメソッド getUserName() を使用します。

    GlideSystem - getUserNameByUserID(文字列 user_id)

    指定されたユーザーログイン名に基づいてユーザーの表示名を返します。

    表 : 133. パラメーター
    名前 タイプ 説明
    user_id 文字列 関連する表示名を取得するユーザーのログイン名。
    表 : 134. 戻り値
    タイプ 説明
    文字列 要求されたユーザーの表示名。
    注:
    このメソッドで要求された ID を持つユーザーが見つからない場合は、指定された入力値が返されます。

    次の例は、指定されたユーザーの表示名を取得する方法を示しています。

    var displayName = gs.getUserNameByUserID('abel.tuter');
    gs.info('User display name is: ' + displayName);
    出力:
    User display name is: Abel Tuter

    GlideSystem - getXMLNodeList(文字列 xml)

    XML ドキュメント内のすべてのノードと値のアレイを構築します。

    表 : 135. パラメーター
    名前 タイプ 説明
    xml 文字列 解析する XML ドキュメント。
    表 : 136. 戻り値
    タイプ 説明
    アレイリスト 最も外側の XML ノードの名前と値のリスト。

    次の例は、アレイリスト内の XML ノードとそれに関連する値のリストを取得する方法を示しています。

    var nodeList = gs.getXMLNodeList("<note><to>Tove</to><from>Jani</from><heading>Reminder</heading><body>Don't forget me this weekend!</body></note>");
    gs.print ("The node contains: " + nodeList);
    
    出力:
    The node contains: [to : Tove, from : Jani, heading : Reminder, body : Don't forget me this weekend!]
    

    GlideSystem - getXMLText(文字列 xml, 文字列 xpathQuery)

    XPath クエリに一致する XML 文字列内の最初の要素の XML テキストを返します。

    表 : 137. パラメーター
    名前 タイプ 説明
    xml 文字列 検索する XML 文字列。
    xpathQuery 文字列 照合する XPath クエリ。
    表 : 138. 戻り値
    タイプ 説明
    文字列 検索パラメーターに一致する XML ノード。

    次の例は、渡されたノード内の指定された XML 要素の値を取得する方法を示しています。

    var nodeList = gs.getXMLText("<outer><note><to>Tove</to><from>Jani</from><heading>Reminder</heading><body>Don't forget me this weekend!</body></note></outer>", "//from");
    gs.print ("The from element contains: " + nodeList);
    出力:
    The from element contains: Jani

    GlideSystem - hasRole(文字列 roleName)

    現在のユーザーが渡されたロールの少なくとも 1 つを持っているかどうかを判定します。

    表 : 139. パラメーター
    名前 タイプ 説明
    roleName 文字列 ロールのカンマ区切りリスト。
    表 : 140. 戻り値
    タイプ 説明
    ブール 現在のユーザーが指定されたロールの少なくとも 1 つを持っているかどうかを示すフラグ。
    可能な値:
    • true:ユーザーに渡されたロールが少なくとも 1 つあります。また、ユーザーがアドミニストレーターロールを持っている場合は true を返します。
    • false:ユーザーには渡されたロールがありません。

    次の例は、現在のユーザーがアドミンロールを持っているかgroups_adminロールを持っているかを確認する方法を示しています。

    if (!gs.hasRole("admin, groups_admin") && gs.getSession().isInteractive()) {
      var qc = current.addQuery("u_hidden", "!=", "true"); //cannot see hidden groups... 
      qc.addOrCondition("sys_id", "javascript:getMyGroups()"); //...unless in the hidden group
    }

    スコープ対象と同等のもの

    スコープ対象のアプリケーションで hasRole() メソッドを使用するには、対応するスコープ対象のメソッド hasRole() を使用します。

    GlideSystem - hasRoleInGroup(Object roleName, Object group)

    現在のユーザーが、指定されたグループ内で指定されたロールを持っているかどうかを判定します。

    表 : 141. パラメーター
    名前 タイプ 説明
    roleName オブジェクト ロールの名前。
    グループ オブジェクト 指定されたロールを確認するグループのSys_id。
    表 : 142. 戻り値
    タイプ 説明
    ブール 現在のユーザーが、指定されたグループ内で指定されたロールを持っているかどうかを示すフラグ。
    可能な値:
    • true:ログインユーザーは、指定されたグループの指定されたロールに割り当てられます。
    • false:ログインユーザーは、指定されたグループの指定されたロールにアサインされていません。

    次の例は、sys_user_groupグループにrole_nameロールがあるかどうかを確認する方法を示しています。

    var group = new GlideRecord('sys_user_group');
    group.addQuery('name', 'GROUP_NAME');
    group.setLimit(1);
    group.query();
    if (group.next()) {
       if (gs.hasRoleInGroup('role_name', group)) {
          gs.print('User has role in group');  
       } else {
          gs.print('User does NOT have role in group');
       }  
    }

    GlideSystem - 時間前 (時間数)

    指定された時間数前の日時を返します。戻り値は、インスタンスのタイムゾーンに合わせて調整されます。

    表 : 143. パラメーター
    名前 タイプ 説明
    時間 番号 時間前。
    表 : 144. 戻り値
    タイプ 説明
    文字列 指定された時間数前の UTC 日時。

    形式:yyyy-mm-dd hh:mm:ss

    var currentDateTime = gs.hoursAgo(0);
    gs.info("Current date/time: " + currentDateTime);
    
    var agoDateTime = gs.hoursAgo(1);
    gs.info("Ago date/time: " + agoDateTime);
    出力
    Current date/time: 2021-03-17 20:53:25
    Ago date/time: 2021-03-17 19:53:25

    スコープ対象と同等のもの

    スコープ対象のアプリケーションで hoursAgo() メソッドを使用するには、対応するスコープ対象のメソッド hoursAgo() を使用します。

    GlideSystem - hoursAgoEnd(数値 hours)

    指定された時間数前の 1 時間目の終了日時を返します。戻り値は、インスタンスのタイムゾーンに合わせて調整されます。

    表 : 145. パラメーター
    名前 タイプ 説明
    時間 数値 (整数) 時間前。
    表 : 146. 戻り値
    タイプ 説明
    文字列 指定された時間数前の終了を表す UTC 日時。

    形式:yyyy-mm-dd hh:mm:ss

    var currentDateTime = gs.hoursAgoEnd(0);
    gs.print("Current date/time: " + currentDateTime);
    
    var agoDateTime = gs.hoursAgoEnd(1);
    gs.print("Ago date/time: " + agoDateTime);
    出力
    Current date/time: 2021-03-17 20:59:59
    Ago date/time: 2021-03-17 19:59:59

    スコープ対象と同等のもの

    スコープ対象のアプリケーションで hoursAgoEnd() メソッドを使用するには、対応するスコープ対象のメソッド hoursAgoEnd() を使用します。

    GlideSystem - hoursAgoStart(数値 hours)

    指定された時間数前の時間の開始日時を返します。戻り値は、インスタンスのタイムゾーンに合わせて調整されます。

    表 : 147. パラメーター
    名前 タイプ 説明
    時間 番号 時間前。
    表 : 148. 戻り値
    タイプ 説明
    文字列 指定された時間数前の終了を表す UTC 日時。

    形式:yyyy-mm-dd hh:mm:ss

    var currentDateTime = gs.hoursAgoStart(0);
    gs.print("Current date/time: " + currentDateTime);
    
    var agoDateTime = gs.hoursAgoStart(1);
    gs.print("Ago date/time: " + agoDateTime);
    出力
    Current date/time: 2021-03-17 20:00:00
    Ago date/time: 2021-03-17 19:00:00

    スコープ対象と同等のもの

    スコープ対象のアプリケーションで hoursAgoStart() メソッドを使用するには、対応するスコープ対象のメソッドである hoursAgoStart() を使用します。

    GlideSystem:isFirstDayOfMonth (オブジェクト日付)

    指定された日付オブジェクトの日付が月の最初の日かどうかを確認します。

    表 : 149. パラメーター
    名前 タイプ 説明
    date オブジェクト 日付を確認する日付オブジェクト (GlideDateTime や GlideDate など)。
    表 : 150. 戻り値
    タイプ 説明
    ブール 指定された日付オブジェクトの日付が月の最初の日であるかどうかを示すフラグ。
    可能な値:
    • true:月の最初の日。
    • false:月の最初の日ではありません。

    この例は、指定した日付オブジェクトの日付が月の最初の日であるかどうかを判断する方法を示しています。

    var gdt = new GlideDateTime();
    gdt.setValue('2021-04-01 12:00:00');
    var currentDay = gs.isFirstDayOfMonth(gdt);
    gs.print("First day of month: " + currentDay);
    
    gdt.setValue('2021-04-21 12:00:00');
    var currentDay = gs.isFirstDayOfMonth(gdt);
    gs.print("First day of month: " + currentDay);
    出力
    First day of month: true
    First day of month: false

    GlideSystem - isFirstDayOfWeek(オブジェクト日付)

    指定された日付オブジェクトの日付が週の最初の日かどうかを確認します。この方法では、月曜日が週の最初の日であるという ISO 標準を使用します。

    表 : 151. パラメーター
    名前 タイプ 説明
    date オブジェクト 日付を確認する日付オブジェクト (GlideDateTime や GlideDate など)。
    表 : 152. 戻り値
    タイプ 説明
    ブール 現在の日付オブジェクトの日付が週の最初の日 (月曜日) であるかどうかを示すフラグ。
    可能な値:
    • true:週の最初の日。
    • false:週の最初の日ではありません。

    この例は、指定された日付オブジェクトの日付が週の最初の日であるかどうかを判断する方法を示しています。

    var gdt = new GlideDateTime();
    gdt.setValue('2021-03-02 12:00:00');
    var currentDay = gs.isFirstDayOfWeek(gdt);
    gs.info("First day of week: " + currentDay);
    
    gdt.setValue('2021-03-22 12:00:00');
    var currentDay = gs.isFirstDayOfWeek(gdt);
    gs.info("First day of week: " + currentDay);
    出力
    First day of week: false
    First day of week: true

    GlideSystem - isFirstDayOfYear(オブジェクト日付)

    指定された日付オブジェクトの日付が年の最初の日であるかどうかを確認します。

    表 : 153. パラメーター
    名前 タイプ 説明
    date オブジェクト 日付を確認する日付オブジェクト (GlideDateTime や GlideDate など)。
    表 : 154. 戻り値
    タイプ 説明
    ブール 指定された日付オブジェクトの日付が年の最初の日であるかどうかを示すフラグ。
    可能な値:
    • true:年の最初の日。
    • false:年の初日ではありません。

    この例は、指定した日付オブジェクトの日付が年の最初の日であるかどうかを判断する方法を示しています。

    var gdt = new GlideDateTime();
    gdt.setValue('2020-12-31 12:00:00');
    var currentDay = gs.isFirstDayOfYear(gdt);
    gs.info("First day of year: " + currentDay);
    
    gdt.setValue('2021-01-01 12:00:00');
    var currentDay = gs.isFirstDayOfYear(gdt);
    gs.info("First day of year: " + currentDay);
    出力
    First day of year: false
    First day of year: true

    GlideSystem - isInteractive()

    現在のセッションがインタラクティブかどうかを確認します。

    インタラクティブセッションの例として、ユーザーがログイン画面を使用してログインした場合などが挙げられます。非インタラクティブセッションの例として、SOAP 要求を使用したデータの取得があります。

    表 : 155. パラメーター
    名前 タイプ 説明
    なし
    表 : 156. 戻り値
    タイプ 説明
    ブール セッションがインタラクティブかどうかを示すフラグ。
    可能な値:
    • true:セッションはインタラクティブです。
    • false:セッションはインタラクティブではありません。
    if (!gs.hasRole('admin') && gs.isInteractive()) {
      var qc1 = current.addQuery('u_group', '');
      var gra = new GlideRecord('sys_user_grmember');
      gra.addQuery('user', gs.getUserID());
      gra.query();
      while (gra.next()) {
        qc1.addOrCondition('u_group', gra.group);
      }
    }

    スコープ対象と同等のもの

    スコープ対象のアプリケーションで isInteractive() メソッドを使用するには、対応するスコープ対象のメソッドである isInteractive() を使用します。

    GlideSystem - isLastDayofMonth (オブジェクト日付)

    指定された日付オブジェクトの日付が月の最終日かどうかを確認します。

    表 : 157. パラメーター
    名前 タイプ 説明
    date オブジェクト 日付を確認する日付オブジェクト (GlideDateTime や GlideDate など)。
    表 : 158. 戻り値
    タイプ 説明
    ブール 指定された日付オブジェクトの日付が月の最終日であるかどうかを示すフラグ。
    可能な値:
    • true:月の最終日。
    • false:月の最終日ではありません。

    この例では、指定した日付オブジェクトの日付が月の最終日であるかどうかを判断する方法を示します。

    var gdt = new GlideDate();
    gdt.setValue('2020-12-31 12:00:00');
    var currentDay = gs.isLastDayOfMonth(gdt);
    gs.print("First day of year: " + currentDay);
    
    gdt.setValue('2021-01-01 12:00:00');
    var currentDay = gs.isLastDayOfMonth(gdt);
    gs.print("First day of year: " + currentDay);
    出力
    Last day of month: true
    Last day of month: false

    GlideSystem - isLastDayOfWeek(オブジェクト日付)

    指定された日付オブジェクトの日付が週の最終日であるかどうかを確認します。この方法では、日曜日が週の最終日であるという ISO 標準を使用します。

    表 : 159. パラメーター
    名前 タイプ 説明
    date オブジェクト 日付を確認する日付オブジェクト (GlideDateTime や GlideDate など)。
    表 : 160. 戻り値
    タイプ 説明
    ブール 現在の日付オブジェクトの日付が週の最終日 (日曜日) であるかどうかを示すフラグ。
    可能な値:
    • true:週の最後の日。
    • false:週の最終日ではありません。

    この例は、指定した日付オブジェクトの日付が週の最終日であるかどうかを判断する方法を示しています。

    var gdt = new GlideDate();
    gdt.setValue('2021-03-01 12:00:00');
    var currentDay = gs.isLastDayOfWeek(gdt);
    gs.info("Last day of week: " + currentDay);
    
    gdt.setValue('2021-03-21 12:00:00');
    var currentDay = gs.isLastDayOfWeek(gdt);
    gs.info("Last day of week: " + currentDay);
    出力
    First day of week: false
    First day of week: true

    GlideSystem - isLastDayOfYear (オブジェクト日付)

    指定された日付オブジェクトの日付が年の最終日であるかどうかを確認します。

    表 : 161. パラメーター
    名前 タイプ 説明
    date オブジェクト 日付を確認する日付オブジェクト (GlideDateTime や GlideDate など)。
    表 : 162. 戻り値
    タイプ 説明
    ブール 現在の日付オブジェクトの日付が年の最終日であるかどうかを示すフラグ。
    可能な値:
    • true:年の最終日。
    • false:年の最終日ではありません。

    この例では、指定された日付オブジェクトの日付が年の最終日であるかどうかを判断する方法を示します。

    var gdt = new GlideDateTime();
    gdt.setValue('2020-12-31 12:00:00');
    var currentDay = gs.isLastDayOfYear(gdt);
    gs.info("Last day of year: " + currentDay);
    
    gdt.setValue('2021-01-01 12:00:00');
    var currentDay = gs.isLastDayOfYear(gdt);
    gs.info("Last day of year: " + currentDay);
    出力
    Last day of year: true
    Last day of year: false

    GlideSystem - isLoggedIn()

    現在のユーザーが現在ログインしているかどうかを判定します。

    表 : 163. パラメーター
    名前 タイプ 説明
    なし
    表 : 164. 戻り値
    タイプ 説明
    ブール 現在のユーザーがログインしているかどうかを示すフラグ。
    可能な値:
    • true:ユーザーはログインしています。
    • false:ユーザーはログインしていません。

    この例は、現在のユーザーがログインしているかどうかを判断する方法を示しています。

    if(gs.isLoggedIn())
      gs.info("Current user is logged in");
    else
      gs.info("Current user is NOT logged in");
    出力
    Current user is logged in

    スコープ対象と同等のもの

    スコープ対象のアプリケーションで isLoggedIn() メソッドを使用するには、対応するスコープ対象のメソッドである isLoggedIn() を使用します。

    GlideSystem - isMobile()

    要求がモバイルデバイスから送信されたかどうかを判断します。

    このメソッドは、UI アクション条件とビジネスルールで使用できます。

    表 : 165. パラメーター
    名前 タイプ 説明
    なし
    表 : 166. 戻り値
    タイプ 説明
    ブール 要求がモバイルデバイスから送信されたかどうかを示すフラグ。
    可能な値:
    • true:モバイルデバイス。
    • false:非モバイルデバイス。

    この例では、現在のデバイスがモバイルデバイスかどうかを判断する方法を示します。

    if(gs.isMobile())
        gs.info("Submitted from mobile UI");
      else 
       gs.info("NOT submitted from mobile UI");
    出力
    Submitted from mobile UI

    スコープ対象と同等のもの

    スコープ対象のアプリケーションで isMobile() メソッドを使用するには、対応するスコープ対象のメソッドである isMobile() を使用します。

    GlideSystem - lastWeek()

    1 週間前の日時を GMT で返します。

    表 : 167. パラメーター
    名前 タイプ 説明
    なし
    表 : 168. 戻り値
    タイプ 説明
    文字列 1 週間前の日時。

    形式:yyyy-MM-dd hh:mm:ss

    この例は、現在の日付オブジェクトの日付から 1 週間前の日付を取得する方法を示しています。

    var gdt = new GlideDateTime();
    gdt.setValue('2021-03-22 01:00:00');
    
    gs.info("Current date: " + gs.nowDateTime());
    
    gs.info("One week earlier: " + gs.lastWeek());
    出力
    Current date: 2021-03-22 15:27:07
    One week earlier: 2021-03-15 15:27:07

    GlideSystem - log(文字列メッセージ, 文字列ソース)

    メッセージをシステムログに記録し、syslog テーブルに保存します。

    表 : 169. パラメーター
    名前 タイプ 説明
    メッセージ 文字列 ログに記録するメッセージ。
    ソース 文字列 オプション。メッセージのソース。
    表 : 170. 戻り値
    タイプ 説明
    なし

    次の例は、定数と変数を使用してログエントリを投稿する方法を示しています。

    var count = new GlideAggregate('incident');
    count.addQuery('active', 'true');
    count.addAggregate('COUNT', 'category');
    count.query();   
    while (count.next()) {
       var category = count.category;
       var categoryCount = count.getAggregate('COUNT', 'category');
       gs.log("The are currently " + categoryCount + " incidents with a category of " + category, "Incident Counter");
    }

    GlideSystem - logError(文字列メッセージ, 文字列ソース)

    エラーをシステムログに記録し、syslog テーブルに保存します。

    表 : 171. パラメーター
    名前 タイプ 説明
    メッセージ 文字列 ログに記録するエラーメッセージ。
    ソース 文字列 オプション。メッセージのソース。
    表 : 172. 戻り値
    タイプ 説明
    なし

    次の例では、インシデントテーブルが見つからない場合にエラーをログに記録します。

    var gr_NOW = new GlideRecord("incident");
    if (!gr_NOW.isValid()) {
      gs.logError('Incident table could not be found');
      return;
    }

    GlideSystem - logWarning(文字列メッセージ, 文字列ソース)

    警告をシステムログに記録し、syslog テーブルに保存します。

    表 : 173. パラメーター
    名前 タイプ 説明
    メッセージ 文字列 ログに記録するメッセージ。
    ソース 文字列 オプション。メッセージのソース。
    表 : 174. 戻り値
    タイプ 説明
    なし

    次の例では、インシデントテーブルが見つからない場合に警告をログに記録します。

    var gr_NOW = new GlideRecord("incident");
    if (!gr_NOW.isValid()) {
      gs.logWarning('Incident table could not be found');
      return;
    }

    GlideSystem - minutesAgo(分数)

    指定された分数前の日付と時刻を返します。

    表 : 175. パラメーター
    名前 タイプ 説明
    番号 戻るまでの過去の分数。
    表 : 176. 戻り値
    タイプ 説明
    文字列 指定された分数前の UTC 日時。

    形式:yyyy-mm-dd hh:mm:ss

    この例では、addQuery() 呼び出しで minutesAgo() メソッドを使用する方法を示します。

    // Check to see if the user has failed to login too many times
    // when the limit is reached, lock the user out of the system
    //
    //Check failed logins in the last 15 minutes
    var now_GR = new GlideRecord('sysevent');
    now_GR.addQuery('name', 'login.failed');
    now_GR.addQuery('parm1', event.parm1.toString());
    now_GR.addQuery('sys_created_on','>=', gs.minutesAgo(15));
    now_GR.query();
    var rowCount = now_GR.getRowCount();
    if(rowCount >= 5){
      var now_GR = new GlideRecord("sys_user");
      now_GR.addQuery("user_name", event.parm1.toString());
      now_GR.query();
      if (now_GR.next()) {
        now_GR.locked_out = true;
        now_GR.update();
        gs.log("User " + event.parm1 + " locked out due to too many invalid login attempts");
      }
    }

    GlideSystem - minutesAgoEnd(数値 分)

    特定の分数前の 1 分間の終了日時を返します。

    表 : 177. パラメーター
    名前 タイプ 説明
    番号 5 や 11 など、分前の整数です。
    表 : 178. 戻り値
    タイプ 説明
    文字列 指定された分数前の 1 分 (59 秒) の終わりの GMT。

    形式:yyyy-mm-dd hh:mm:ss

    次の例では、現在の日付と時刻、および 30 分前の日時を 1 分の終わりに GMT で表示しています。

    var nowDateTime = new GlideDateTime();
    gs.print("Now: " + nowDateTime);
    var thirtyMinutesAgoDateTime = gs.minutesAgoEnd(30);
    gs.print("Thirty minutes ago end time: " + thirtyMinutesAgoDateTime);

    出力

    Now: 2021-10-20 15:22:13
    Thirty minutes ago end time: 2021-10-20 14:52:59

    スコープ対象と同等のもの

    スコープ対象のアプリケーションで minutesAgoEnd() メソッドを使用するには、対応するスコープ対象のメソッドである minutesAgoEnd() を使用します。

    GlideSystem - minutesAgoStart(分数)

    特定の分数前の 1 分前の開始日時を返します。

    表 : 179. パラメーター
    名前 タイプ 説明
    番号 15 や 112 など、分前の整数です。
    表 : 180. 戻り値
    タイプ 説明
    文字列 指定した分数前の GMT (分の開始時)。

    形式:yyyy-mm-dd hh:mm:ss

    次の例では、現在の日付と時刻、および 30 分前の 1 分前の日付と時刻を GMT で表示しています。

    var nowDateTime = new GlideDateTime();
    gs.info("Now: " + nowDateTime);
    var thirtyMinutesAgoDateTime = gs.minutesAgoStart(30);
    gs.info("Thirty minutes ago: " + thirtyMinutesAgoDateTime);

    出力

    Now: 2021-10-20 14:56:18
    Thirty minutes ago: 2021-10-20 14:26:00

    スコープ対象と同等のもの

    スコープ対象のアプリケーションで minutesAgoStart() メソッドを使用するには、対応するスコープ対象のメソッドである minutesAgoStart() を使用します。

    GlideSystem - monthsAgo(月数)

    特定の月数前の日付と時刻を返します。

    表 : 181. パラメーター
    名前 タイプ 説明
    番号 月前の整数。
    表 : 182. 戻り値
    タイプ 説明
    文字列 指定された月数前のまったく同じ時刻の GMT。

    形式:yyyy-mm-dd hh:mm:ss

    次の例では、現在の日付と時刻と 1 か月前の日時を同時に GMT で表示しています。

    var nowDateTime = new GlideDateTime();
    gs.info("Now: " + nowDateTime);
    var oneMonthAgoDateTime = gs.monthsAgo(1);
    gs.info("One month ago: " + oneMonthAgoDateTime);

    出力

    Now: 2021-10-20 15:29:15
    One month ago: 2021-09-20 15:29:15

    スコープ対象と同等のもの

    スコープ対象のアプリケーションで monthsAgo() メソッドを使用するには、対応するスコープ対象のメソッド monthsAgo() を使用します。

    GlideSystem - monthsAgoEnd(数値月数)

    指定された月数前の月の最終日の日時を返します。

    表 : 183. パラメーター
    名前 タイプ 説明
    数値 (整数) 月数 (4 や 16 など)。
    表 : 184. 戻り値
    タイプ 説明
    文字列 指定された月数前の月の日時スタンプ (現地時間)。

    形式:UTC yyyy-mm-dd hh:mm:ss

    次の例では、営業月末の現在の日付と時刻と 2 か月前の日付と時刻を表示します。

    var nowDateTime = new GlideDateTime();
    gs.info("Now: " + nowDateTime);
    var endOfTheMonthDateTime = gs.monthsAgoEnd(2);
    gs.info("End of the month: " + endOfTheMonthDateTime);

    出力:

    Now: 2021-10-20 19:23:35
    End of the month: 2021-08-01 06:59:59

    GlideSystem - monthsAgoStart(番号月数)

    特定の月数前の月初の日時を返します。

    表 : 185. パラメーター
    名前 タイプ 説明
    番号 5 や 14 など、月前の整数です。
    表 : 186. 戻り値
    タイプ 説明
    文字列 指定された月数前の GMT の月初。

    形式:yyyy-mm-dd hh:mm:ss

    次の例では、現在の日付と時刻と 3 か月前の日時を GMT で表示しています。

    var nowDateTime = new GlideDateTime();
    gs.info("Now: " + nowDateTime);
    var threeMonthsAgoDateTime = gs.monthsAgoStart(3);
    gs.info("Three months ago start date and time: " + threeMonthsAgoDateTime);

    出力

    Now: 2021-10-20 15:05:27
    Three months ago start date and time: 2021-07-01 07:00:00

    スコープ対象と同等のもの

    スコープ対象のアプリケーションで monthsAgoStart() メソッドを使用するには、対応するスコープ対象のメソッド monthsAgoStart() を使用します。

    GlideSystem:nil(オブジェクトオブジェクト)

    オブジェクトをクエリし、オブジェクトが null または空の文字列を含んでいる場合は true を返します。

    表 : 187. パラメーター
    名前 タイプ 説明
    obj オブジェクト チェックするオブジェクト。
    表 : 188. 戻り値
    タイプ 説明
    ブール null または空の文字列の場合は True。それ以外の場合は false です。
    if ((!current.u_date1.nil()) && (!current.u_date2.nil())) {
      var start = current.u_date1.getGlideObject().getNumericValue();
      var end = current.u_date2.getGlideObject().getNumericValue();
      if (start > end) {
        gs.addInfoMessage('start must be before end');
        current.u_date1.setError('start must be before end');
        current.setAbortAction(true);
      }
    }

    スコープ対象と同等のもの

    スコープ対象のアプリケーションで nil() メソッドを使用するには、対応するスコープ対象のメソッド nil() を使用します。

    GlideSystem - now()

    現在の日付を UTC で返します。

    表 : 189. パラメーター
    名前 タイプ 説明
    なし
    表 : 190. 戻り値
    タイプ 説明
    文字列 ユーザー定義形式の現在の日付 (UTC)。
    // When the user password changes then set the u_password_last_reset field
    // to now so we know when to force another update
     
    var now_GR = new GlideRecord("sys_user");
    if (now_GR.get(event.parm1.toString())) {
        // Do something based on the Password Changing
        gs.log("The user password changed so do something else...");
        now_GR.u_password_last_reset = gs.now();
        now_GR.update();
    }

    GlideSystem - nowNoTZ()

    現在の日付と時刻を UTC 形式で返します。

    表 : 191. パラメーター
    名前 タイプ 説明
    なし
    表 : 192. 戻り値
    タイプ 説明
    文字列 現在の UTC 日時
    // When the user password changes then set the u_password_last_reset field
    // to now so we know when to force another update
     
    var now_GR = new GlideRecord("sys_user");
    if (now_GR.get(event.parm1.toString())) {
        // Do something based on the Password Changing
        gs.log("The user password changed so do something else...");
        now_GR.u_password_last_reset = gs.nowNoTZ();
        now_GR.update();
    }

    GlideSystem - nowDateTime()

    現在の日付と時刻をユーザー定義形式で返します。

    表 : 193. パラメーター
    名前 タイプ 説明
    なし
    表 : 194. 戻り値
    タイプ 説明
    文字列 ユーザー定義形式の現在の日付と時刻。システムの日付と時刻の形式の設定の詳細については、「 日付フィールド」および「日付/時刻」フィールドを参照してください。
    var currentDateTime = gs.nowDateTime();
    gs.print("Current date/time: " + currentDateTime);
    出力
    Current date/time: 2021-03-17 14:04:02

    ワークフロースクリプトの変数を現在の日時に設定する場合は、 setDisplayValue() メソッドを使用します。次のスクリプトは、ワークフロー変数 end_date を現在の日時に設定します。

    current.variables.end_date.setDisplayValue(gs.nowDateTime());

    GlideSystem - nowGlideDateTime()

    現在の日付と時刻を持つ GlideDateTime オブジェクトを取得します。

    現在の日付と時刻を含む GlideDateTime オブジェクトを取得したら、GlideDateTime メソッドを使用して、日時計算の実行、日時の書式設定、日時形式間の変換などの日時操作を実行できます。

    表 : 195. パラメーター
    名前 タイプ 説明
    なし
    表 : 196. 戻り値
    タイプ 説明
    オブジェクト GMT 形式の現在の日付と時刻を持つ GlideDateTime オブジェクト。

    フィールドu_target_dateを GMT 形式で現在の日付と時刻に設定します。

    current.u_target_date = gs.nowGlideDateTime();

    GlideSystem - print(文字列メッセージ)

    メッセージをシステムログに書き込みます。

    このメソッドは、debug がアクティブ化されていない限り、syslog テーブルにメッセージを書き込みません。

    表 : 197. パラメーター
    名前 タイプ 説明
    メッセージ 文字列 ログに記録するメッセージ
    表 : 198. 戻り値
    タイプ 説明
    なし
    var rec = new GlideRecord('incident');
    rec.addQuery('active',false);
    rec.query();
    while (rec.next()) { 
     gs.print('Inactive incident ' + rec.number + ' deleted');
     rec.deleteRecord();
    }

    GlideSystem - quartersAgo(数値四半期)

    特定の四半期前の日付と時刻を返します。

    表 : 199. パラメーター
    名前 タイプ 説明
    四半期 番号 四半期前の整数。
    表 : 200. 戻り値
    タイプ 説明
    文字列 四半期前に指定された数である四半期の GMT。

    形式:yyyy-mm-dd hh:mm:ss

    次の例では、現在の日付と時刻と 4 四半期前の日付と時刻を同時に表示しています。

    var nowDateTime = new GlideDateTime();
    gs.print("Now: " + nowDateTime);
    var fourQuartersAgoDateTime = gs.quartersAgo(4);
    gs.print("Four quarters ago: " + fourQuartersAgoDateTime);

    出力

    Now: 2021-10-20 16:27:32
    Four quarters ago: 2020-10-20 16:27:32

    GlideSystem - quartersAgoEnd(Number quarters)

    四半期前の指定した数について、四半期の最終日の日時を返します。

    表 : 201. パラメーター
    名前 タイプ 説明
    四半期 番号 四半期の整数
    表 : 202. 戻り値
    タイプ 説明
    文字列 四半期前に指定された数である四半期末の GMT (yyyy-mm-dd hh:mm:ss 形式)

    スコープ対象と同等のもの

    スコープ対象のアプリケーションで quartersAgoEnd() メソッドを使用するには、対応するスコープ対象のメソッド quartersAgoEnd() を使用します。

    GlideSystem - quartersAgoStart(番号四半期)

    四半期前の指定した数について、四半期の初日の日時を返します。

    表 : 203. パラメーター
    名前 タイプ 説明
    四半期 番号 四半期の整数
    表 : 204. 戻り値
    タイプ 説明
    文字列 四半期前に指定された数である GMT 月の終わり (yyyy-mm-dd hh:mm:ss の形式)

    スコープ対象と同等のもの

    スコープ対象のアプリケーションで quartersAgoStart() メソッドを使用するには、対応するスコープ対象のメソッド quartersAgoStart() を使用します。

    GlideSystem - setProperty(文字列キー, 文字列値, 文字列説明)

    指定されたキーを指定された値に設定します。

    注:
    このメソッドを使用してシステムプロパティ (sys_properties) を設定すると、システム全体のキャッシュフラッシュが発生するため、注意が必要です。フラッシュのたびに、キャッシュの再ビルド中にシステムのパフォーマンスが低下する可能性があります。値を頻繁に更新する必要がある場合は、システムプロパティとして保存しないでください。一般に、sys_propertiesテーブルには頻繁に変更されない値のみを配置する必要があります。
    表 : 205. パラメーター
    名前 タイプ 説明
    キー 文字列 設定するプロパティのキー。
    文字列 設定するプロパティの値。
    説明 文字列 プロパティの説明。
    表 : 206. 戻り値
    タイプ 説明
    なし
    gs.setProperty("glide.foo","bar","foo");
    gs.info(gs.getProperty("glide.foo"));

    出力:bar

    スコープ対象と同等のもの

    スコープ対象のアプリケーションで setProperty() メソッドを使用するには、対応するスコープ対象のメソッド setProperty() を使用します。

    GlideSystem - setRedirect(オブジェクト URI)

    このトランザクションのリダイレクト URI を設定します。これにより、ユーザーに表示される次のページが決まります。

    表 : 207. パラメーター
    名前 タイプ 説明
    URI オブジェクト リダイレクトとして設定する URI
    表 : 208. 戻り値
    タイプ 説明
    なし

    この例では、ユーザーを特定のカタログアイテムにリダイレクトし、現在のメールをパラメーターとして渡します。

    gs.setRedirect("com.glideapp.servicecatalog_cat_item_view.do?sysparm_id=d41ce5bac611227a0167f4bf8109bf70&sysparm_user=" 
    + current.sys_id + "&sysparm_email=" + current.email)

    スコープ対象と同等のもの

    スコープ対象のアプリケーションで setRedirect() メソッドを使用するには、対応するスコープ対象のメソッド setRedirect() を使用します。

    GlideSystem - setReturn(オブジェクト URI)

    このトランザクションの戻り先 URI を設定します。これにより、ユーザーが次のフォームから戻ったときにどのページに誘導されるかが決まります。

    表 : 209. パラメーター
    名前 タイプ 説明
    URI オブジェクト 返品場所として設定する URI。
    表 : 210. 戻り値
    タイプ 説明
    なし

    この例は、ユーザーが次のページを終えたときに現在のページに戻ることを確認します。

    gs.setReturn (current.getLink(true));

    GlideSystem - tableExists(文字列 tableName)

    データベーステーブルが ServiceNow インスタンスに存在するかどうかを判定します。

    表 : 211. パラメーター
    名前 タイプ 説明
    tableName 文字列 チェックするテーブルの名前。
    表 : 212. 戻り値
    タイプ 説明
    ブール 指定されたテーブルが ServiceNow インスタンスに存在するかどうかを示すフラグ。
    可能な値:
    • true:テーブルが存在します
    • false:テーブルが存在しません

    この例では、インシデントテーブルと foo テーブルが ServiceNow インスタンスに存在するかどうかを確認する方法を示しています。

    gs.info("Does the incident table exist? " + gs.tableExists("incident"));
    
    gs.info("Does the foo table exist? " + gs.tableExists("foo"));

    出力

    Does the incident table exist? true
    Does the foo table exist? false

    スコープ対象と同等のもの

    スコープ対象のアプリケーションで tableExists() メソッドを使用するには、対応するスコープ対象のメソッドである tableExists() を使用します。

    GlideSystem - userID()

    このセッションに関連付けられたユーザーのsys_idを返します。代わりに getUserID() を使用してください。

    表 : 213. パラメーター
    名前 タイプ 説明
    なし
    表 : 214. 戻り値
    タイプ 説明
    文字列 現在のユーザーのSys_id。

    次の例は、現在のユーザーに割り当てられているすべてのアクティブなインシデントレコードのアサインを解除する方法を示しています。

    var incidentGR = new GlideRecord('incident');
    incidentGR.addActiveQuery();
    
    // Filter results to incidents assigned to the current user
    var currentUserSysId = gs.userID();
    incidentGR.addQuery('assigned_to', currentUserSysId);
    incidentGR.query();
    
    while (incidentGR.next()) {
        incidentGR.setValue('assigned_to', 'NULL');
        incidentGR.update();
        gs.info(
            'Unassigned Incident: {0}: {1}',
            incidentGR.number.toString(),
            incidentGR.short_description.toString()
        );
    }

    出力:

    Unassigned Incident: INC0000057: Performance problems with wifi
    Unassigned Incident: INC0009001: Unable to post content on a Wiki page
    Unassigned Incident: INC0008111: ATF : Test1

    GlideSystem - workflowFlush(オブジェクト glideRecord)

    指定された GlideRecord のスケジュール (sys_trigger) テーブルで開いているスケジュール済みジョブレコードを削除します。

    表 : 215. パラメーター
    名前 タイプ 説明
    glideRecord オブジェクト The GlideRecord
    表 : 216. 戻り値
    タイプ 説明
    なし

    GlideSystem - yearsAgo(年数)

    特定の年数前の日付と時刻を取得します。

    表 : 217. パラメーター
    名前 タイプ 説明
    番号 整数の年数
    表 : 218. 戻り値
    タイプ 説明
    文字列 指定された年数前の GMT (yyyy-mm-dd hh:mm:ss 形式)。

    スコープ対象と同等のもの

    スコープ対象のアプリケーションで yearsAgo(Number years) メソッドを使用するには、対応するスコープ対象のメソッド yearsAgo(Number years) を使用します。

    GlideSystem - yesterday()

    昨日の時刻 (24 時間前) を返します。

    表 : 219. パラメーター
    名前 タイプ 説明
    なし
    表 : 220. 戻り値
    タイプ 説明
    文字列 24 時間前の GMT (yyyy-mm-dd hh:mm:ss 形式)

    スコープ対象と同等のもの

    スコープ対象のアプリケーションで yesterday() メソッドを使用するには、対応するスコープ対象のメソッド yesterday() を使用します。