2013年

10月

22日

【iDempiere標準業務機能】単票表示とグリッド表示の切替とレコード検索

 iDempiere(アイデンピエレ)の標準画面(ウィンドウ)は、単票表示とグリッド表示を適宜切り替えて使用します。単票表示は1レコードの情報を画面全体で表示するので情報が把握しやすく、編集するのに適しています。グリッド表示は複数レコードが一覧表示されるのでデータを全体的に確認するのに適しています。

 

表示切替アイコン

 iDempiereの標準画面(ウィンドウ)は、ツールバーの表示切替アイコンをクリックする事により、単票表示とグリッド表示を切り替え表示する事ができます。

 具体的には、検索アイコンを使用して確認したいレコードをある程度絞り込んでから、グリッド表示の状態で一覧から確認したいレコードを探し出し、見つけたら単票表示に切り替えてレコードの情報を全体的に確認するという使い方をします。

単票表示

1レコードの情報を画面全体で表示します。レコードを編集するのに適している表示形式です。

単票表示
単票表示

単票表示の状態で表示レコードを変更する

表示レコード移動アイコンを押すと、単票表示の状態のまま表示するレコードを変更する事ができます。

Web-UIの表示レコード移動アイコン

Web-UIの表示レコード移動アイコン

Swing-UIの表示レコード移動アイコン

Swing-UIの表示レコード移動アイコン

グリッド表示

複数レコードを一覧表示します。複数レコードを確認するのに便利な表示形式です。

グリッド表示
グリッド表示

ページング(Web-UI)

 Web-UIでは表示するレコード数がある一定数を超えるとページングされます。

Web-UIのページング
Web-UIのページング

ページングするレコード数の設定

親タブ

 親タブでページングするレコード数は、システムコンフィグ設定で行います。システムコンフィグ設定の初期設定値は25レコードになっています。

子タブ

 子タブでは、レコード数が10を超えるとページングされます。子タブのレコード数の表示は、2013年10月現在ではシステムコンフィグ設定では行えません。変更したい場合には、ソースコードの修正(モディフィケーション)をする必要があります。

【技術情報】子タブの1ページに表示されるレコード件数

 子タブでグリッド表示1ページに表示されるレコード数を10以外の数値にする場合には、モディフィケーションを行う必要があります。修正するクラスはGridViewクラスです。そのクラスでDEFAULT_DETAIL_PAGE_SIZE = 10と定数として処理されていますので、この数値を変更すれば子タブの1ページに表示されるレコード数を変更する事ができます。

※上記は簡単なテストを行って確認致しましたが、最終的にモディフィケーションを行うかどうかは自己の責任のもと判断して下さい。

レコード検索

 レコード数が多くなってくると、グリッド表示されるレコード数が多くなり探しているレコードを見つける事が困難になります。通常は、レコード検索アイコンを押して表示するレコードをある程度絞り込んでからグリッド表示で該当レコードを探し、単票表示で確認するというような流れになります。

Web-UIのレコード検索

レコード検索のメインタブ

 レコード検索のメインのタブでは、検索によく使用するフィールド(項目)を表示させておき、簡単に素早く目的のレコードを検索できるようになっています。

  • 「Saved Query」では、レコード検索の詳細タブで名前を付けて保存した検索条件を呼び出し再利用する事ができます。
  • 「履歴(History records」フィールドでは、”全部(All)”、”年(Year)”、"月(Month)"、"週(Week)"、"日(Day)"で期間検索する事ができます。
レコード検索のメインタブ
レコード検索のメインタブ

【カスタマイズポイント】レコード検索フィールド

 どのフィールド(項目)をレコード検索のメインのタブに表示するフィールドとするのかは、アプリケーション辞書で簡単に設定する事ができます。基本的にテーブルにあるカラム(項目)であれば検索フィールドとしてメインのタブに表示する事ができますので、iDempiereの導入の際に業務担当者とミーティングし、テーブルのどの項目を検索フィールドとして表示するのか決めておくと良いでしょう。

【補足説明】テキストフィールドのありまい検索

テキスト入力の検索フィールドでは"%"記号によりあいまい検索ができます。

  • 部分一致:%テキスト%
  • 前方一致:テキスト%
  • 後方一致:%テキスト

※%を使用せずに検索すると前方一致で検索していると思われます。

※アルファベットの大文字/小文字は区別する事無く検索します。

【補足説明】期間検索する際に検索の基準となる日付について

「期間検索(History records」フィールドでは、”全部(All)”、”年(Year)”、"月(Month)"、"週(Week)"、"日(Day)"で期間検索する事ができます。これはSystem日付とレコードの作成日(created)を比較しており、その差が、日(Day)であれば1日、週(Week)であれば7日、月(Month)であれば31日、年(Year)であれば365日以内のレコードを検索し表示しています。

レコード検索の詳細タブ

 レコード検索の詳細タブでは、より細かくレコード検索条件を設定する事ができます。レコード検索条件に名前をつけて保存しておき、後で再利用することもできます。

レコード検索の詳細タブ
レコード検索の詳細タブ

【補足説明】詳細検索で保存したクエリを再利用できる人について

 詳細検索で保存したクエリは、AD_UserQueryテーブルに保存されています。AD_UserQueryテーブルには、AD_User_ID、AD_Table_ID、AD_Tab_IDなどのカラム(項目)があり、AD_Role_ID(職責)は項目とし存在していないため、ユーザー単位で登録し再利用できるようになっている事がデータ構造からわかります。

 実際、ユーザーが異なれば、「職責(Role)」が同じでも、検索クエリを共有する事はできません。反対にユーザーが同じであれば、ログインする職責が異なっても、自分で保存した検索クエリを使用する事ができます。

 保存した検索クエリは、同じテーブルの情報を検索する場合であっても、画面(タブ)が異なっていると、再利用する事はでません。AD_UserQueryテーブルのモデルクラスであるMUserQueryクラスでは、AD_User_ID(ユーザーID)とAD_Tab_ID(タブID)をキーとして保存されている検索クエリをGetしています。

レコード検索数の制限

 レコード検索で、表示するレコードを絞り込んでも思いのほか該当するレコードが多く、ネットワークやサーバーのリソースを無駄に消費してしまう事があります。そのような無駄なリソースの消費が発生しないように、表示するレコード数を予め「職責(Role)」で制限しておく事ができます。

参考サイト

関連するコンテンツ