コンテンツにスキップ

$p.deptId

概要

ログインしているユーザの組織IDを取得する関数について説明します。

構文

$p.deptId()

使用例

以下は組織を入力する項目にログインしているユーザの組織IDを設定するスクリプトです。

JavaScript
$p.set($p.getControl('ClassA'), $p.deptId());

サンプルコード

Note

コード内の【 ... 】は適宜修正してください。

1. 所属組織に応じて選択肢を絞り込む

新規作成・編集画面を開いた際に、ログイン中のユーザが所属している組織(部署)に応じて、プルダウン項目(分類項目)の選択肢を絞り込みます。
対応表にない組織のユーザには選択肢は空白となります。

実務での使いどころ

営業部第一課のユーザには営業関連の選択肢だけ、開発部システム開発課のユーザにはマニュアル・サンプルコード関連の選択肢だけ、といったように、組織(部署)ごとに入力してよい選択肢を分けたい場面に使えます。

事前準備

  1. プルダウン項目(分類項目)を1つ用意し、選択肢一覧に絞り込み対象の選択肢をすべて登録します。
    1. 「テーブルの管理 > 項目」タブで対象の分類項目(例:分類A)を選択します。
    2. 「選択肢」欄に、改行区切りで選択肢を入力します(例:営業資料 / 提案書 / マニュアル / サンプルコード)。

選択肢設定(分類A)

営業資料
提案書
マニュアル
サンプルコード

1. 対象ユーザに組織(部署)を設定しておきます。

Note

本サンプルでは「営業部 第一課(DEPT002)」「開発部 システム開発課(DEPT004)」の2組織を使用します。

  1. スクリプトを登録します。
    1. 「テーブルの管理 > スクリプト」タブで「新規作成」を選択します。
設定項目 設定値
タイトル 任意の名前(例:所属組織による選択肢絞り込み)
スクリプト 下記サンプルコードを貼り付け
出力先 「全て」のチェックを外し、「編集」にチェック(「編集」は新規作成画面にも適用されます)
const COLUMN_NAME = 'ClassA';

const DEPT_OPTION_MAP = {
    【組織ID_1】: ['営業資料', '提案書'],       // DEPT002 営業部 第一課
    【組織ID_2】: ['マニュアル', 'サンプルコード']  // DEPT004 開発部 システム開発課
};

$p.events.on_editor_load = function () {
    // ログイン中のユーザが所属する組織IDを取得する(単一の値、数値)
    const deptId = $p.deptId();

    // 対応表にない組織の場合は、選択肢を全て非表示(空)にする
    const allowedValues = DEPT_OPTION_MAP.hasOwnProperty(deptId)
        ? DEPT_OPTION_MAP[deptId]
        : [];

    // 分類Aの要素(プルダウン)を取得し、許可されていない選択肢を削除する
    const $select = $p.getControl(COLUMN_NAME);
    $select.find('option').each(function () {
        const value = $(this).val();
        // 未選択用の空の選択肢は残す
        if (value !== '' && allowedValues.indexOf(value) === -1) {
            $(this).remove();
        }
    });
};

実行結果(営業部 第一課の所属ユーザの場合)

分類Aの選択肢: 営業資料, 提案書

実行結果(開発部システム開発課の所属ユーザの場合)

分類Aの選択肢: マニュアル, サンプルコード

実行結果(DEPT_OPTION_MAPにない組織所属ユーザの場合)

分類Aの選択肢: (なし)