スクリプトインクルードを使用してフィルターとブレッドクラムを非表示にする

  • リリースバージョン: Xanadu
  • 更新日 2024年08月01日
  • 所要時間:2分
  • スクリプトを使用すると、テーブルごとまたはグローバルベースで、フィルターとブレッドクラムを特定のロールに制限できます。スクリプトの使用は、リストコントロールを使用する場合に比べて柔軟性が高い高度なオプションです。

    始める前に

    スクリプトインクルードを使用するには、JavaScript の知識が必要です。

    必要なロール:script_include_admin

    このタスクについて

    示されている例は、環境に合わせて変更する必要があります。

    手順

    1. <tablename>DisplayFilter という名前のスクリプトインクルードを作成します。
      スクリプトセクションには、スクリプトインクルードと同じ名前の関数が 1 つ含まれています。
    2. 関数を使用して、グローバル変数 answer を true (フィルターとブレッドクラムを表示) または false (非表示) に設定します。
      次の例では、インシデントテーブルのフィルターとブレッドクラムを、任意のロールを持つユーザーに制限しています。スクリプトの名前が、大文字と小文字の違いを含めて関数名と正確に一致していることを確認してください。
      function incidentDisplayFilter() {
          if (gs.getUser().hasRoles()) {
              answer = "true";
          } else {
              answer = "false";
          }
      
          return answer;
      }
    3. オプション: フィルターとブレッドクラムへのアクセスから特定のロールを除外するには、次の変更を行います。
      function incidentDisplayFilter() {
          if (gs.getUser().hasRoles() && !gs.getUser().hasRoles('newrole')) {
              answer = "true";
          } else {
              answer = "false";
          }
      
          return answer;
      }

      ロール newRole を持つユーザーには、フィルターとブレッドクラムへのアクセス権がありません。

    4. オプション: すべてのユーザーがインシデントテーブルでフィルターとブレッドクラムを使用できるようにするには、スクリプトを次のように変更します。
      function incidentDisplayFilter() {
          var answer = true;
      
          return answer;
      }
    5. オプション: 別のテーブルのフィルターおよびブレッドクラムへのアクセス権を変更するには、インシデントの代わりにそのテーブルの名前を使用してスクリプトインクルードを作成します。