Questetra 組織所属メンバー メールアドレス取得 (Questetra Get Membership Mail Address Belong To Org)
Questetra の「組織」に所属するメンバーのメールアドレスを取得します。
Configs
  • A1: Qgroup ID(組織ID e.g g12->12)を入力してください(A2 より優先されます)#{EL}
  • A2: 組織型データ項目を選択してください
  • B1: Quser のメールアドレス(改行区切)が格納される文字列型(複数行)データを指定してください
  • B2: Quser のメールアドレス(カンマ区切)が格納される文字列型データを指定してください
  • C: リーダーのみ取得(ON)
Script (click to open)


//////// START "main()" /////////////////////////////////////////////////////////////////
main();
function main() {

//// == Config Retrieving / 工程コンフィグの参照 ==
//// == Data Retrieving / ワークフローデータの参照 ==
//// == Validation / 入力チェック
const conf_qgroupId = configs.get( "conf_QgroupId" );
const conf_qgroup = configs.getObject( "conf_Qgroup" );
const conf_Qusers_separating_newline = configs.getObject( "conf_Qusers_separating_newline" );
const conf_Qusers_separating_comma = configs.getObject( "conf_Qusers_separating_comma" );
const strIsLeaderOnly = configs.get("conf_IsGetLeaderOnly");


//// == Calculating / 演算 ==
let qGroup = null;
if ( conf_qgroupId !== null && conf_qgroupId !== "") {
qGroup = qgroupDao.findById( new java.lang.Long(conf_qgroupId) );
} else if (conf_qgroup !== null) {
qGroup = engine.findData( conf_qgroup );
}
if (qGroup === null){
engine.log("No organization specified.");
return;
}
let qUsers;
if ( strIsLeaderOnly === "true"){
engine.log("Get Leader Only.");
qUsers = quserDao.findByQgroupAndPosition( qGroup , true);
}else{
engine.log("Get All Staff/Leader.");
qUsers = quserDao.findByQgroup( qGroup );
}

let qUsersList = "";
let qUsersListByComma = "";

for(var i=0; i < qUsers.size(); i++){
qUsersList += qUsers.get(i).getEmail() + "\n";
qUsersListByComma += qUsers.get(i).getEmail() + ",";
}
qUsersList = qUsersList.replace(/\n$/,"");
qUsersListByComma = qUsersListByComma.replace(/\,$/,"");
engine.log("qUsersList: " + qUsersList);
engine.log("qUsersListByComma:" + qUsersListByComma + "");

//// == Data Updating / ワークフローデータへの代入 ==
if ( conf_Qusers_separating_newline !== null ){
engine.setData( conf_Qusers_separating_newline, new java.lang.String(qUsersList) );
}
if ( conf_Qusers_separating_comma !== null ){
engine.setData( conf_Qusers_separating_comma, new java.lang.String(qUsersListByComma) );
}
} //////// END "main()" /////////////////////////////////////////////////////////////////

Download

2022-05-31 (C) Questetra, Inc. (MIT License)
https://support.questetra.com/ja/addons/questetra-membership-get-mail-address-belong-to-org-2022/
Addonファイルのインポートは Professional でのみご利用いただけます
自由改変可能な JavaScript (ECMAScript) コードです。いかなる保証もありません。

Notes

  • A1, A2 の両方が設定された場合、A1 が優先されます
  • “Qgroup ID” 取得方法
    • [システム設定]>[組織一覧]> 取得したい組織名をクリック > “組織ID” を参照してください。
    • “組織ID” の “g” を除いた数値を記載してください。
QGroup ID の取得方法
  • “C: リーダーのみ取得(ON)” 設定
    • 指定組織に所属するメールアドレスの出力範囲 ONの場合:リーダー属性を持つユーザのメールアドレス OFFの場合:全てのユーザのメールアドレス

Capture

See also

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