検索ウィンドウに割り当てたプロセスからジャスパーレポートが出力できるかどうか、調査及び研究し、その成果をまとめています。
ジャスパーレポートの設定
iDempiereの検索ウィンドウで選択されているレコードのIDは、T_SELECTIONテーブルの、T_SELECTION_IDカラムに保存されています。iDempiereからはプロセスID(AD_PInstance_ID)がジャスパーレポートへ渡されますので、ジャスパーレポートのSQLでは、AD_PInstance_IDを使用して、検索ウィンドウで選択されているレコードIDを取得します。
SQLサンプル
SELECT * From JP_ReferenceTest WHERE JP_ReferenceTest_ID IN
(SELECT T_Selection_ID FROM T_Selection WHERE AD_PInstance_ID = $P{AD_PINSTANCE_ID} )
プロセスのクラスが無いケース
まずは、プロセス無しの単純なジャスパーレポートだけで試してみます。
【JPIERE-0084】リファレンスの検証画面の検索ウィンドウにジャスパーレポートのプロセスを割り当てて検証します。
◆アプリケーション辞書の検索ウィンドウ設定
◆すべてのリファレンスがあるテスト用検索ウィンドウ
検証結果 - ちゃんとジャスパーレポートは出力される!!
プロセスのクラスがあるケース
次に、プロセスのクラスがあるケースで試してみます。
【JPIERE-0084】リファレンスの検証画面の検索ウィンドウにジャスパーレポートのプロセスを割り当てて検証します。
レポートとプロセス設定
検証結果 - ちゃんとプロセスが実行された後で、ジャスパーレポートは出力される!!
ちゃんとプロセスが実行された後で、ジャスパーレポートが出力されました!!
プロセスが呼び出されて、プロセスの処理が実行されて、コミットされた後で、ジャスパーレポートが表示されるようになっています。