コンバータ: Quser to Email文字列 (Converter: Quser to Email-String)
ユーザ型データをそのユーザの「メールアドレス情報」(文字列データ)に変換します。ワークフロー基盤に登録されている最新の情報を参照して変換します。Email文字列以外にも「ユーザID」「氏名」「主として属する組織」「主として属する組織のID」「主として属する組織の組織名」を取得することも可能です。
Configs
- A: ユーザ型データ項目を選択してください *
- B: ユーザのメールアドレス情報が格納される文字列型データ項目を選択してください(更新)
- C: ユーザID情報が格納される文字列型データ項目を選択してください(更新)
- D: ユーザの氏名が格納される文字列型データ項目を選択してください(更新)
- E: ユーザの主として属する組織が格納される組織型データ項目を選択してください(更新)
- F: ユーザの主として属する組織のIDが格納される文字列型データ項目を選択してください(更新)
- G: ユーザの主として属する組織の組織名が格納される文字列型データ項目を選択してください(更新)
- H: ユーザの主として属する組織のメールアドレスが格納される文字列型データ項目を選択してください(更新)
Script (click to open)
// GraalJS Script (engine type: 2)
// Notes:
// "Email of the organization to which the user belongs primarily" may be an empty.
//
// Notes (ja):
// 「ユーザの主として属する組織のメールアドレス」は空文字列となっている場合があります
//////// START "main()" ////////////////////////////////////////////////////////////////
main();
function main(){
//// == Config Retrieving / 工程コンフィグの参照 ==
const dataIdA = configs.get( "conf_DataIdA" ) + ""; // required
const dataIdB = configs.get( "conf_DataIdB" ) + ""; // not required
const dataIdC = configs.get( "conf_DataIdC" ) + ""; // not required
const dataIdD = configs.get( "conf_DataIdD" ) + ""; // not required
const dataIdE = configs.get( "conf_DataIdE" ) + ""; // not required
const dataIdF = configs.get( "conf_DataIdF" ) + ""; // not required
const dataIdG = configs.get( "conf_DataIdG" ) + ""; // not required
const dataIdH = configs.get( "conf_DataIdH" ) + ""; // not required
// 'java.lang.String' to javascript primitive 'string'
//// == Data Retrieving / ワークフローデータの参照 ==
if( engine.findDataByNumber( dataIdA ) === null ){
throw new Error( "\n AutomatedTask UnexpectedQuserError:" +
" Quser {A} is null \n" );
}
const quser = engine.findDataByNumber( dataIdA );
// 'com.questetra.bpms.core.event.scripttask.QuserView'
// https://questetra.zendesk.com/hc/en-us/articles/360024574471-R2300
//// == Calculating / 演算 ==
const strQuserEmail = quser.getEmail() + "";
const strQuserId = quser.getId() + ""; // java.lang.Long to string
const strQuserName = quser.getName() + "";
const qorgQuserMainOrg = qgroupDao.findPrimaryQgroup( quser );
// com.questetra.bpms.core.event.scripttask.QgroupDaoWrapper
const strQuserMainOrgId = qorgQuserMainOrg.getId() + ""; // java.lang.Long to string
const strQuserMainOrgName = qorgQuserMainOrg.getName() + "";
let strQuserMainOrgEmail = "";
if( qorgQuserMainOrg.getEmail() === null ){
engine.log( " AutomatedTask QorgDataCheck:" +
" Qorg '" + strQuserMainOrgName + "' has no Email Info" );
}else if( qorgQuserMainOrg.getEmail() + "" === "" ){
engine.log( " AutomatedTask QorgDataCheck:" +
" Qorg '" + strQuserMainOrgName + "' has not Email Info" );
}else{
strQuserMainOrgEmail = qorgQuserMainOrg.getEmail();
}
//// == Data Updating / ワークフローデータへの代入 ==
if( dataIdB !== "" ){
engine.setDataByNumber( dataIdB, strQuserEmail );
}
if( dataIdC !== "" ){
engine.setDataByNumber( dataIdC, strQuserId );
}
if( dataIdD !== "" ){
engine.setDataByNumber( dataIdD, strQuserName );
}
if( dataIdE !== "" ){
engine.setDataByNumber( dataIdE, qorgQuserMainOrg );
}
if( dataIdF !== "" ){
engine.setDataByNumber( dataIdF, strQuserMainOrgId );
}
if( dataIdG !== "" ){
engine.setDataByNumber( dataIdG, strQuserMainOrgName );
}
if( dataIdH !== "" ){
engine.setDataByNumber( dataIdH, strQuserMainOrgEmail );
}
} //////// END "main()" ////////////////////////////////////////////////////////////////

Download
2021-07-08 (C) Questetra, Inc. (MIT License)
https://support.questetra.com/ja/addons/converter-quser-to-email-string-2021/
Addonファイルのインポートは Professional でのみご利用いただけます
Notes
- 「ユーザの主として属する組織のメールアドレス」は空文字列となっている場合があります
Capture
See also
Related