【JPIERE-0366】検索ウィドウのプロセス実行後に選択レコードがクリアされない不具合対応(再オープン)

検索ウィンドウのプロセス実行後に、選択レコードがクリアされない不具合があるのですが、パッチがコミットされないため、先行してJPiereに反映させました。

このカスタマイズは、IDEMPIERE-3094 Infowindow:Previous recordSelectedData don't clear before process run が適用されたため、2018年4月10日にJPiereからいったん削除しましたが、再度、不具合が発見されたため、2018年6月21日に再度JPiereとしてパッチを作成しました。

カスタマイズ情報

2018年6月21日に追加

2018年6月17日の修正では、検索ウィンドウのページング処理の際に表示されているページ以外の選択データが含まれない不具合が発見されたため2018年6月17日の修正を削除し、プロセス実行後に、検索ウィンドウの選択情報をクリアする処理に修正しました。

2018年6月17日に追加

検索ウィンドウで選択ウィンドウで選択したデータに対してプロセスを実行した後で、選択したレコードが解除されない場合がある不具合を発見。

◆再現方法

・売上請求伝票の伝票ステータス一括更新(マニュアル)

->データを選択し、伝票ステータスを”確認中にする”にてプロセス実行する。

->実行済みデータのチェックを外して、別のデータを選択して実行すると、外したはずのデータがプロセスの実行対象に含まれてしまう。

  • org.adempiere.webui.panel.InfoPanel

上記のクラスのgetSaveKeys()メソッドに、選択されていないデータがプロセスの対象に含まれないように判定分を追加しました。

 

2018年4月10日に削除

下記の部分のカスタマイズは、iDempiereに反映されているためJPiereでは2018年4月10日に削除しています。

  • org.adempiere.webui.info.InfoWindow

@Override

protected void executeQuery() {

  if (!isRequeryByRunSuccessProcess)//JPIERE-0366 & IDEMPIERE-3094

prepareTable();

    super.executeQuery();

    if (ClientInfo.maxHeight(ClientInfo.SMALL_HEIGHT-1) ||

      ClientInfo.maxWidth(ClientInfo.SMALL_WIDTH-1)) {

    layout.getNorth().setOpen(false);

    LayoutUtils.addSclass("slide", layout.getNorth());

    }

}

関連するコンテンツ