コンバータ: Quser to Email文字列
コンバータ: 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

  1. 「ユーザの主として属する組織のメールアドレス」は空文字列となっている場合があります

Capture

See also

%d人のブロガーが「いいね」をつけました。