$p.deptId
概要¶
ログインしているユーザの組織IDを取得する関数について説明します。
構文¶
使用例¶
以下は組織を入力する項目にログインしているユーザの組織IDを設定するスクリプトです。
JavaScript¶
サンプルコード¶
Note
コード内の【 ... 】は適宜修正してください。
1. 所属組織に応じて選択肢を絞り込む
新規作成・編集画面を開いた際に、ログイン中のユーザが所属している組織(部署)に応じて、プルダウン項目(分類項目)の選択肢を絞り込みます。
対応表にない組織のユーザには選択肢は空白となります。
実務での使いどころ¶
営業部第一課のユーザには営業関連の選択肢だけ、開発部システム開発課のユーザにはマニュアル・サンプルコード関連の選択肢だけ、といったように、組織(部署)ごとに入力してよい選択肢を分けたい場面に使えます。
事前準備¶
- プルダウン項目(分類項目)を1つ用意し、選択肢一覧に絞り込み対象の選択肢をすべて登録します。
- 「テーブルの管理 > 項目」タブで対象の分類項目(例:分類A)を選択します。
- 「選択肢」欄に、改行区切りで選択肢を入力します(例:営業資料 / 提案書 / マニュアル / サンプルコード)。
選択肢設定(分類A)¶
1. 対象ユーザに組織(部署)を設定しておきます。
Note
本サンプルでは「営業部 第一課(DEPT002)」「開発部 システム開発課(DEPT004)」の2組織を使用します。
- スクリプトを登録します。
- 「テーブルの管理 > スクリプト」タブで「新規作成」を選択します。
| 設定項目 | 設定値 |
|---|---|
| タイトル | 任意の名前(例:所属組織による選択肢絞り込み) |
| スクリプト | 下記サンプルコードを貼り付け |
| 出力先 | 「全て」のチェックを外し、「編集」にチェック(「編集」は新規作成画面にも適用されます) |
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();
}
});
};
