スクリプトタスクでテーブル型データを取り扱う際の質問です
回答済み①「R2301: Scriptデータ取得/代入」に関して
データ代入サンプルの
const def = engine.findDataDefinitionByNumber("17");
let table = engine.findData(def);
のこの2行はどういう事でしょうか。
engine.findDataByNumber("17")
との違いを教えてください。
②「com.questetra.bpms.core.event.scripttask.ScriptListArray」に関して
「get(int row_index, int col_index)」で取得できるデータが選択肢型の場合に選択肢IDではなくラベルを取得したい場合はどのような方法がありますか
-
> ①「R2301: Scriptデータ取得/代入」に関して
このサンプルでは、取得したデータが空(テーブルが空行)の場合に、テーブルを追加する処理を行なっています。
table = def.createListArray();
そのため、一旦、データ項目定義のオブジェクト(ProcessDataDefinitionView)を経由して、入力データを取得するようなコードとなっております。
table に取得される値は、engine.findDataByNumber("17") で取得されるものと同じです。(ProcessDataDefinitionView は、サービスタスク定義の Addon-XML を定義する際に、データ項目を指定できる Config 項目からデータを取得する際に利用されることが多いです。)
> ②「com.questetra.bpms.core.event.scripttask.ScriptListArray」に関して
テーブル型の選択項目におけるデータ取得/代入については、「選択肢ID」のみがサポートされております。
残念ながら、現状(Ver. 13.0)、通常の選択型データ項目のように「表示ラベル」を取得する方法は提供されておりません。 -
Ver13.1で対応していただいたようですね。ありがとうございます。
https://support.questetra.com/ja/versions/version-1310/
-
さっそく、ご確認いただきありがとうございます。
通常の選択型データ項目と同様、テーブル型の選択項目では ItemView オブジェクトを取得できますので、getDisplay() メソッドにて表示ラベルを取得できるようになりました。
https://questetra.zendesk.com/hc/ja/articles/360024574471-R2300#ScriptListArray
サインインしてコメントを残してください。
コメント
5件のコメント