アカウント
最終更新日: 2021年7月30日
R8 | R9
ログオンアカウント名を返します。
例: ログオンアカウントが "admin" なら "管理者" という文字列を、そうでなければ "一般" という文字列をセットする。
USERNAME
USERNAME()
IF(EXACT(USERNAME(),"admin"), "管理者","一般")
USERINFO
USERINFO(項目名)
USERINFO(項目名#id)
ログオンアカウントに関する情報を返します。引数には juser モデルの項目名(英語)を指定します。
戻り値の型は文字列になります。
繰り返し項目の場合は item.0, item.1 と指定します。 繰り返しコンテナの場合は cont.0.str と指定します。
チェックボックスなど複数個の値をもつ場合は「空白」を区切り文字とした一つの文字列を返します。
対象項目がモデル参照の場合、「項目名」は内容部を、「項目名#id」はID部を返します。ID部も常に文字列型になります。
参照連動項目の場合は「項目名」が内容部を返します。「項目名#id」は無効です。(参照連動項目のID部は、連動元項目のID部と同じです。)
例1: ログオンアカウントの氏名情報を取得する。
USERINFO("name")
例2: juserモデルに、別モデル "company" を参照する項目 "companyname" を用意した。その companyname 項目の ID 部を取得する。
USERINFO("companyname#id")
詳細
USERINFO関数の戻り値はログオン時にセットされる
USERINFO関数の戻り値は、ログオン時に一度 juser テーブルの値を読み込んで用意します。この方式のため、juser の更新後に USERINFO 関数が(更新前の)古い値を返すことがあります。
戻り値にnullは返されない
USERINFO関数の戻り値がnullとなることはありません。値がない場合は、空文字 "" を返します。
IF関数の条件部に用いるときは USERINFO("name") == null とするのではなく、次のようにISBLANK関数を利用して判定してください。
IF(ISBLANK(USERINFO("name")), ...)
除外される項目
次の項目は USERINFO 関数で取得することはできません。
passwd,passwdErrCount,oldPasswds,compulsoryChange,useridjshparam,jgroupidjshparamJGROUPID
JGROUPID()
ログオンアカウントが所属するグループIDの配列(整数型)を返します。値は昇順に並んでいます。
例:利用者の所属するグループが「ない」か、またはグループID 1000 に所属している場合は null を、そうでなければ(所属している)先頭のグループIDを返す。
IF(
OR(
ISEMPTY(JGROUPID()),
CONTAINS(JGROUPID(),1000)
),
null,
CHOOSE_INT(1,JGROUPID())
)
グループ「本社、A事業所、B事業所、C事業所」を想定します。本社のグループIDを1000とします。
本社所属の社員はA,B,C全ての事業所に所属させているとします。
グループで検索できるよう、検索画面にグループ(jgroupを参照する項目)を用意します。参照型はリストボックスとします。ここで検索画面の初期値として上記式を設定すると、所属グループに本社が含まれている場合は、検索条件の初期値が 「(すべて)」(null) になります。本社が含まれていない場合は先頭の1件をコンボボックスにセットします。