0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Record Producer 6:VariablesのReference Typeについて【ServiceNow】

Last updated at Posted at 2025-02-12

※この記事はServiceNow初心者が学習用のために記載した記事です。内容について誤っている場合がございます。不足点などございましたらコメントいただけますと幸いです。

Reference Typeとは

「Reference Type」は、他のテーブルにあるデータを選べるようにするためのフィールド

使用例

  • フォームで「担当者」を選んでもらいたい時、「ユーザー(sys_user)」テーブルから選べるようにする
  • この「ユーザー選択」のフィールドが「Reference Type」である
  • ユーザーを選択した際、選択したユーザーのレコード情報が返ってくる
    • 例:「担当者」というフィールドにユーザーを選んでもらったとき、返ってくる情報は以下のようなもの
      • sys_id(ユーザーの一意識別子)
      • ユーザー名(nameフィールド)
      • メールアドレス(emailフィールド)
      • 部署(departmentフィールド)など、
      • ※上記は、選択したユーザーのテーブルに格納されている他の情報

便利な点

最新のデータを選べる: 例えば、部署やユーザーなど、最新の情報を選ぶことができ、手間が省ける
選択肢を管理できる: 誰が選べるか、何を選べるかをシステムで管理できるので、間違いが減る

具体例

Reference Typeの変数で、選択したユーザーのユーザー名(nameフィールド)を取得したい

  • Referenceフィールドから選択されたユーザーの情報にアクセスするために、スクリプトを使用する

例:

フォームで「担当者」というフィールド(変数のQuestion(ラベル名))があり、そのフィールドを通じてユーザーを選んでもらったとする

スクリプト例:

var selectedUser = producer.department;  // 'department'は、選択されたユーザーのsys_idが格納されているフィールド名
var userRecord = new GlideRecord('sys_user'); // sys_userテーブルに対するGlideRecordを作成

if (userRecord.get(selectedUser)) {  // 選ばれたユーザーのsys_idを元にレコードを取得
    var userName = userRecord.name;  // 取得したレコードからユーザー名を取得
    gs.info('選択されたユーザーの名前: ' + userName);  // ログにユーザー名を表示
}

説明:

  1. producer.department は、「担当者」フィールドに選ばれたユーザーの sys_id を取得する(この例では department というフィールド名にしているが、実際のフィールド名に合わせる)
  2. new GlideRecord('sys_user') で、選ばれた sys_id をもとに、sys_user テーブルのレコードを取得
  3. userRecord.name を使って、ユーザー名(nameフィールド)を取得する
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?