マスターテーブル, 選択肢データを取得 (Master Table, Get Options Data)
ワークフロー基盤のマスターテーブル(OptionsXML)を参照し、マスターデータ取得します。
Configs
- A: マスターファイル名をセットしてください (例 “foo.xml”) *#{EL}
- C1: マスターのID一覧が格納される文字列型データを選択してください (更新)
- C2: マスターのLabel一覧が格納される文字列型データを選択してください (更新)
Script (click to open)
// id = value, label = display
//////// START "main()" /////////////////////////////////////////////////////////////////
main();
function main(){
//// == Config Retrieving / 工程コンフィグの参照 ==
const strMasterName = configs.get( "strSetConfA" ); // required
const pocketOptionIds = configs.getObject( "SelectConfC1" ); // not
const pocketOptionLabels = configs.getObject( "SelectConfC2" ); // not
if( strMasterName === "" ){
throw new Error( "\n AutomatedTask ConfigError:" +
" Config {MasterFile Name A} is empty \n" );
}
//// == Calculating / 演算 ==
const jarrOptions = itemDao.findAll( strMasterName, true );
// return "List<ItemView>" (java.util.ArrayList)
// M319: Register an Options-XML file to which the Process Model Definitions Refer
// M319: Options-XML: 複数の業務プロセス定義から参照される選択肢XML
// R2300 com.questetra.bpms.core.event.scripttask.ItemDaoWrapper
if( jarrOptions.size() - 0 === 0 ){
throw new Error( "\n AutomatedTask UnexpectedOptionsXmlError:" +
strMasterName + " not found or null \n" );
}
engine.log( " AutomatedTask OptionsXML: " +
strMasterName + ": " +
jarrOptions.size() + " options" );
let strOptionIds = "";
let strOptionLabels = "";
for( let i = 0; i < (jarrOptions.size() - 0); i++ ){
strOptionIds += jarrOptions.get(i).getValue() + "\n";
strOptionLabels += jarrOptions.get(i).getDisplay() + "\n";
}
strOptionIds = strOptionIds.slice( 0, -1 );
strOptionLabels = strOptionLabels.slice( 0, -1 );
//// == Data Updating / ワークフローデータへの代入 ==
if( pocketOptionIds !== null ){ // STRING
engine.setData( pocketOptionIds, strOptionIds );
}
if( pocketOptionLabels !== null ){ // STRING
engine.setData( pocketOptionLabels, strOptionLabels );
}
} //////// END "main()" /////////////////////////////////////////////////////////////////

Download
2021-11-11 (C) Questetra, Inc. (MIT License)
https://support.questetra.com/ja/addons/master-table-get-options/
Addonファイルのインポートは Professional でのみご利用いただけます
自由改変可能な JavaScript (ECMAScript) コードです。いかなる保証もありません。
Notes
想定用途は、「選択肢マスタ」を編集するためのデータ取得です。
Capture
Related