【JPIERE-0514】業務状況確認ガジェットから検索ウィンドウを開く(フォーム検索ウィンドウ)

業務状況確認ガジェットからは、ウィンドウもしくはフォームを開くことができますが、検索ウィンドウは開けませんでした。そこで、JPiereでは、業務状況確認ガジェットから検索ウィンドウを開けるようにしました。

JPiereにおいては、業務状況確認ガジェットから、【JPIERE-0513】検索ウィンドウでのワークフロー(WF)承認で作成した、未処理WFアクティビティの検索ウィンドウを開けるようにしました。

設定

業務状況確認ガジェットから、検索ウィンドウを開くのは、フォームを通して開くようにしています。フォームを通して検索ウィンドウを開くので、このカスタマイズを「フォーム検索ウィンドウ」と呼びたいと思います。

フォームの設定

クラス名に"AD_InfoWIndow_ID="と入力し、その後に開きたい検索ウィンドウのIDを入力して下さい。

 

業務状況確認ガジェットの設定

上記で登録したフォームを、業務状況確認のフォームフィールドに設定して下さい。

カスタマイズ情報

改修クラス

  • jpiere.base.plugin.factory.JPiereBasePluginFormFactory

追加クラス

  • jpiere.base.plugin.webui.apps.form.AbstractJPiereFormInfoWindow
  • jpiere.base.plugin.webui.apps.form.IJPiereFormInfoWindowController
  • jpiere.base.plugin.webui.apps.form.JPiereFormInfoWindow

カスタマイズ履歴

2022年10月24日(v9):事前定義変数を使用してフォーム検索ウィンドウを開けるように改善しました

この仕組みを活用すると、検索ウィンドウに初期値が設定できます。

◆事前定義変数の設定

JPBPのフォームのファクトリークラス(JPiereBaseFormFactoryクラス)では、フォームのクラス名の所に、事前定義変数を設定するようにサンプル実装しました。

 事前定義変数を設定したい場合は、クラス名に、"AD_InfoWIndow_ID=検索ウィンドウのID"の後に";(セミコロン)"を入れて、"変数名(コンテキスト名)=値"を設定して下さい。複数の変数を設定したい場合は、",(カンマ)"で区切って下さい。

 フォームのクラス名フィールドは60文字ですので、設定できる変数の数が限られます。クラス名フィールドの文字数を増やすのも一つの方法ですが、事前定義変数の取得ロジックは、フォームのファクトリークラスに実装することになりますので、そのロジックを自由に実装するのが良いのではないかと思います。JPBPのフォームのファクトリークラスの実装はあくまでも実装のサンプルと思って下さい。

 この改善の本質は、ファクトリークラスではなく、フォーム検索ウィンドウを作成する時に、事前定義変数を引数として指定できるようにしたことです。事前定義変数の取得ロジックはファクトリークラスに自由に実装して下さい。

◆事前定義変数の使用

事前定義変数は、検索ウィンドウの各種ロジックに使用できます。使用する際には変数名(コンテキスト名)に、"+"を付けて、@マークを前後につけて下さい。

事前定義変数は、コンテキストに"+"を付けてセットされます。

◆改善結果

業務状況確認をクリックして検索ウィンドウ開くと、事前定義変数で定義した値が初期値として設定されて、検索結果に表示しているデータも初期値を反映したものになっています。