Compiere Distributionの定型画面(標準画面)の特徴の1つに"単票表示"の画面と"グリッド表示(複数行表示/一覧表示)"の画面を切り替えて使用する事があります。
参照:Compiere Distributionとは -> 業務機能概要 -> 2種類あるGUIとGUIの特徴
そして、Compiere Distributionは基本的にグリッド表示の場合は1レコードは横一列で表示されます。 そのため、1レコードの情報量が多いと横スクロールをして確認するという事も良く行われます。
iDempiereでは、このグリッド表示をより使いやすくするために、個人レベルで項目の並び順や表示する項目の幅を設定する事ができるようになっています。
グリッド表示を個人レベルでカスタマイズできるのは素晴らしい機能で、使いやすさを向上させる上で大いに貢献してくれる機能なのですが、それでも情報量が多いと横スクロールするのは避けられないと思います。
でもマウスで操作する際には、横スクロールは"面倒くさい"と思う方が多いのではないでしょうか。
そこで、なるべく横スクロールをしなくて済むように、JPiere(ジェイピエール)では1レコードの情報を複数行で表示できるようにプラグインを開発しました。1レコードを複数行で表示するために、画面に表示されているレコード数は減りますが縦スクロールすれば簡単に確認する事ができますので、横スクロールして確認するよりも使いやすい場面があるのではないかと思います。
この機能は「ウィンドウ(Window)」の仕組みをプラグイン化してカスタマイズし、「フォーム(Form)」を使用して画面に表示しています。ウィンドウで作成されている画面ならどの画面でもこのプラグインを活用して1レコードの内容を複数行にして一覧表示する事ができます。
そのため、例えば受注伝票ヘッダーの情報は3行表示にして、明細情報は2行表示にしてという事が可能です。
現実的には2行もしくは3行表示、多くても4行表示できれば十分な気がしますが、機能的には何行でも表示する事ができます。タブ毎に何行表示するか設定できますので、情報量の多いタブでは5行以上の表示も可能です。
そして、CSSも少し修正して、入力項目や行、列毎にラインを引いて、見やすくしています。
【補足説明】標準ウィンドウとの細かな仕様の違い
iDempiere標準のウィンドウの機能は、基本的にこの1レコード複数行表示プラグインでも同じですが、下記の機能については仕様上異なります。
- グリッド表示時のレコードソート機能は、最上位のタイトル項目のみ有効:一覧表示されているデータは、タイトル項目をクリックする事によりソートする事ができますが、複数列表示の場合は、一番上のタイトル項目でのみソートする事ができます。
- グリッド表示の個別カスタマイズの機能の廃止:グリッド表示の個別カスタマイズの機能はとても便利な機能ですが、標準機能のままでは複数列の表示には使用する事はできないため廃止としています。1レコード複数行表示プラグインでは予めアプリケーション辞書のウィンドウの設定で使いやすいように並び替えておく事を前提としています。
- CSVインポート機能の廃止:
ウィンドウの設定
"【JPIERE-0014】1レコード複数行表示"のプラグインをインストールするとアプリケーション辞書のウィンドウ/タブ/フィールドのタブの設定に、「追加ヘッダ行数(Additional Header Line)」というカラムが追加されます。1レコード複数行で表示したいタブは、この"追加ヘッダ行数"の設定を行います。ヘッダー行は必ず1行はありますので、3列表示にしたい場合は"追加ヘッダ行数"を"2"と設定します。
これでグリッド表示の並び順に従って、設定したヘッダ―数(1+追加ヘッダー行数の数)だけ、1レコードを複数行表示します。
そして同じ列で表示したい項目については、フィールドの設定で「同一行」のフラグをONにします。このフラグはSwing-UI用の設定ですが、この"1レコード複数行のグリッド表示機能"はSwing-UIでは使用する事はないので、流用しています。
フォームの設定
クラス名のフィールドに、"jpiere.plugin.webui.formwindow." + "AD_Window_ID"を設定します。AD_Window_IDは、1レコード複数行のグリッド表示をさせたいウィンドウのIDになります。このIDの設定で好きなウィンドウで1レコード複数行のグリッド表示を実現する事ができます。
メニューツリーへの割り当て
作成した"フォーム"をメニューに割り当てます。1レコード複数行のグリッド表示を行ったウィンドウを直接メニューに割り当てるわけではありませんので注意して下さい。
以上で、1レコード複数行のグリッド表示の設定は完了です。
このプラグインでは、「JPAdditionalHeaderLine(追加ヘッダー行数)」エレメントを登録し、AD_Tabテーブルにカラムとして追加しています。
このプラグインを使用するための変更要素が非常にすくないため、2Packのデータは用意していません。このプラグインを使う人は、手で"JPAdditionalHeaderLine"カラムをAD_Tableに追加して下さい。
JPiere3.1
JPiere3.1より以下の機能を追加しています。
2019年12月13日:JPiere7.1
【JPIERE-0450】デスクトップクラスのプラグイン化に伴い、フォームウィンドウへのズーム処理をJPMSからフォームウィンドウへ移管。
◆IFormWindowZoomFactoryをJPMSからフォームウィンドウへ移管
◆JPiereFormWindowZoomDesktopの追加
フォームウィンドウへズームする事のできるデスクトップクラス。
- 【iDempiere Lab】伝票を素早く入力する方法(2014/9/9の研究日誌)
- iDempiere Lab -> アプリケーション辞書 -> ウィンドウ/タブ/フィールド
- Compiere Distribuitonとは -> 業務機能概要 -> 2種類あるGUIとGUIの特徴
- Compiere Distributionとは -> 開発手法概要 -> GUI
- 【JPIERE-0098】マトリクスウィンドウ
- 【JPIERE-0111】シンプルインプットウィンドウ(簡単入力画面)
- 【JPIERE-0139】フォームウィンドウへのズーム
- 【JPIERE-0450】デスクトップクラスのプラグイン化