スクリプトでフォームを表示したユーザーの情報を確認する

✔ 概要

JavaScript API を使用することで、フォームを表示したユーザーの「氏名」や「所属のグループ名(グループコード)」などの情報が参照できます。 参照したユーザーの情報は、オブジェクトの表示や入力制御を動的に変更するときの条件として使用できます。

本項では、JavaScript を使用したユーザー情報を参照する方法、その使用例を説明します。

注意

本設定は、V5.2.0以降のフォームで利用可能です。
V5.2.0より前のバージョンで作られたフォーム、Liteフォームおよび旧バージョン形式のフォーム(JSP/PDF)では利用できません。

ヒント

以降の説明では、申請・承認フォームを表示しているユーザーの情報を参照するため JavaScript の API を利用します。
それぞれのAPIは、以下の名前空間で公開しています。JavaScript API リファレンス もあわせて参照ください。

  • フォームを表示しているユーザーの情報を参照
    • iftc.cwf.api.Forms
    • iftc.cwf.api.WorkFlowNode


操作中のユーザー情報を参照する

操作中のユーザー情報を参照するときは、「iftc.cwf.api.WorkFlowNode」クラスの各プロパティを参照します。
プロパティとしてはユーザーの ID やグループコード/グループ名、役職コード/役職名、などの情報が参照可能です。

ヒント

以下の JavaScript では、フォームを表示したユーザーの情報を参照しています。
これらの値は個別の処理を行うかの判定値として使用できます。

//APIをインスタンス化
const forms = new iftc.cwf.api.Forms();

//現在処理中のユーザー情報を取得
const userInfo =  forms.getCurrentWorkFlowNode();

//ユーザーのIDを取得
const userId = userInfo.userId;

//ユーザーの姓を取得
const userLastName = userInfo.lastName;

//ユーザーの名を取得
const userFirstName = userInfo.firstName;

//ユーザーのグループコードを取得
const userGroupCode = userInfo.groupCode;

//ユーザーのグループ名を取得
const userGroupName = userInfo.groupName;

//ユーザーの役職コードを取得
const userAuthorityCode = userInfo.authorityCode;

//ユーザーの役職名を取得
const userAuthorityName = userInfo.authorityName;

//ユーザーのユーザー定義1~5を配列で取得
const userExt = userInfo.userExt;

実用例

以下の JavaScript では、入力テキストに対してグループや役職を条件として必須入力/読取専用を設定します。
グループや役職を対象とした制御が必要なときは以下のように JavaScript で設定してください。

ヒント

//APIをインスタンス化
const forms = new iftc.cwf.api.Forms();

//現在処理中のユーザー情報を取得
const userInfo =  forms.getCurrentWorkFlowNode();

//ユーザーのグループコードを取得
const userGroupCode = userInfo.groupCode;

//ユーザーの役職コードを取得
const userAuthorityCode = userInfo.authorityCode;


//グループコードが「101」であるか確認する
if( userGroupCode == '101' ){
   //グループコードが「101」であるとき
   //入力テキスト「ITEXT000」の必須入力を有効とする
   new iftc.cwf.api.FormObject( 'ITEXT000' ).setRequired( true );
}else{
   //グループコードが「101」以外であるとき
   //入力テキスト「ITEXT000」の必須入力を無効とする
   new iftc.cwf.api.FormObject( 'ITEXT000' ).setRequired( false );
}


//役職コードが「A001」であるか確認する
if( userAuthorityCode == 'A001' ){
   //役職コードが「A001」であるとき
   //入力テキスト「ITEXT001」の読取専用を有効とする
   new iftc.cwf.api.FormObject( 'ITEXT001' ).setReadOnly( true );
}else{
   //役職コードが「A001」以外のとき
   //入力テキスト「ITEXT001」の読取専用を無効とする
   new iftc.cwf.api.FormObject( 'ITEXT001' ).setReadOnly( false );
}