user
概要¶
サーバスクリプトでユーザの情報を読み取るためのオブジェクトです。「usersオブジェクト」のGetメソッドで取得します。
プロパティ¶
| No | プロパティ名 | get | set | type | 説明 |
|---|---|---|---|---|---|
| 1 | UserId | ○ | int | ユーザID | |
| 2 | DeptId | ○ | int | 組織ID | |
| 3 | LoginId | ○ | string | ログインID | |
| 4 | Name | ○ | string | 名前 | |
| 5 | UserCode | ○ | string | ユーザコード | |
| 6 | TenantManager | ○ | bool | テナント管理者 | |
| 7 | Disabled | ○ | bool | 無効 |
使用例¶
下記の例では「usersオブジェクト」からユーザID 1 の「userオブジェクト」を取得し,ユーザの名前と組織IDをログに出力します。
JavaScript¶
サンプルコード¶
1. 担当者を選んだら、その人の所属組織名を入れる
備品申請などのテーブルで、担当者(申請者)を選んだその場で、その人の所属組織名を「所属」の項目に入れます。担当者の項目に自動ポストバックを設定し、「計算式の前」でusers.Getとdepts.Getから組織名を取得してmodelに書き込みます。新規作成の画面を開いたとき、担当者を選び直したとき、保存したときのいずれでも、所属が担当者に合わせて入ります。
実務での使いどころ¶
申請書・作業記録・問い合わせなど、人を選んで部署を書く場面で、所属の書き間違いや書き漏れを防げます。プロセスの「データの変更」で入れられる組織は、操作しているログインユーザーの組織のみです。ルックアップはテーブルの値を引く機能で、ユーザー管理の所属組織は引けません。社員マスタをテーブルとして持っている場合は、ルックアップを使ってください。
事前準備¶
1:「備品申請」テーブル(記録テーブル)で、以下の項目を有効化してください。
| 項目コード | 内容 |
|---|---|
| 担当者(Owner) | 申請者。項目の詳細設定で「自動ポストバック」を有効にする |
| 分類B(ClassB) | 所属。スクリプトが入れる。手入力させない場合は読み取り専用にする |
2:スクリプトを登録します。
2-1:「テーブルの管理 > サーバスクリプト」タブで「新規作成」を選択する。
2-2:タイトル: 任意の名前(例:deptNameFromOwner)
2-3:スクリプト: 下記サンプルコードを貼り付け
2-4:条件: 「計算式の前」にチェック
JavaScript¶
// 元にするユーザーの項目(担当者)と、所属組織名を入れる項目
const USER_COLUMN = 'Owner';
const DEPT_NAME_COLUMN = 'ClassB';
// 選ばれているユーザーの所属組織名を入れる。ユーザー・組織が取れないときは空にする
function setDeptName() {
const userId = model[USER_COLUMN];
const user = userId ? users.Get(userId) : null;
const dept = user ? depts.Get(user.DeptId) : null;
model[DEPT_NAME_COLUMN] = dept ? dept.DeptName : '';
}
setDeptName();
注記¶
- 「計算式の前」は、自動ポストバックを設定した項目を画面で変えたとき(保存の前)にも動き、
modelに入れた値が画面に表示されます。 - 担当者の選択肢に出るのは、テーブルにアクセス権のあるユーザーです。
- 無効にした組織の扱いは、バージョンによって違いました。1.5.6.1 では
depts.Getで取得できず所属が空になり、1.5.8.1 では組織名が入りました。 - 入るのは保存した時点の組織名です。あとで組織名を変えても、保存済みのレコードの所属は変わりません。
2. 担当者が無効になっているレコードに、一覧で印を付ける
一覧を表示するとき、行ごとに担当者の「userオブジェクト」を取得し、Disabled(無効)であれば、その行に色を付けます。
実務での使いどころ¶
退職・休職・異動でアカウントを無効にしたあと、その人が担当者のまま残っている顧客・案件・問い合わせを見つけて、担当を引き継ぎたいときに使えます。一覧のフィルタでは、担当者が無効かどうかでは絞り込めません。
事前準備¶
1:「顧客台帳」テーブルで、担当者(Owner)を有効化してください。
2:「テーブルの管理 > スタイル」タブで、以下のスタイルを登録してください(出力先:一覧)。
3:スクリプトを登録します。
3-1:「テーブルの管理 > サーバスクリプト」タブで「新規作成」を選択する。
3-2:タイトル: 任意の名前(例:markDisabledOwner)
3-3:スクリプト: 下記サンプルコードを貼り付け
3-4:条件: 「行表示の前」にチェック
JavaScript¶
条件:行表示の前
注記¶
- 管理者や分類項目(
[[Users]])の担当者を見るときは、OWNER_COLUMNをその項目名にしてください。
