コンテンツにスキップ

iDempiere 画面レイアウト(UI レイアウト)|操作と仕組み

iDempiere の各画面(ウィンドウ)は、Application Dictionary(AD) に登録されたメタデータから自動生成されます。プログラムを書かずに、項目の追加・配置変更ができるのが特徴です。

画面はメタデータから生成される

Section titled “画面はメタデータから生成される”
  • ウィンドウ(AD_Window):1 業務単位(例:受注伝票)。
  • タブ(AD_Tab):ヘッダー/明細などの階層。
  • フィールド(AD_Field):各入力項目。表示位置・必須・読取専用などを定義。

画面を開くと、iDempiere はこれらの定義を読み込み、その場で UI を組み立てます。レイアウトを変えたい場合も、Java などのソースコードではなく AD のレコードを編集するだけで反映されます。

タブの階層(ヘッダーと明細)

Section titled “タブの階層(ヘッダーと明細)”

1 つのウィンドウは複数のタブで構成され、タブには親子関係があります。

タブの種類役割
ヘッダー(親タブ)伝票全体の情報を 1 件で持つ取引先・伝票日付・通貨
明細(子タブ)ヘッダーに紐づく複数行受注明細(商品・数量・単価)
  • 子タブは親タブのキー(伝票 ID など)で関連付けられ、親レコードを選んでいる間だけ、その明細が表示されます。
  • 子タブの下にさらに孫タブ(例:明細に対する付随情報)を持たせることもできます。
  • AD_Tab にはタブのレベル(階層の深さ) と表示順が定義され、これにより画面上のタブ並びと親子関係が決まります。

各フィールド(AD_Field)には、表示のされ方を決める属性があります。代表的なものは次のとおりです。

属性内容
表示/非表示その項目を画面に出すかどうか
表示順タブ内での並び順
同一行(IsSameLine)直前の項目と同じ行に並べるか、改行するか
必須入力を必須にするか
読取専用値の表示のみで編集不可にするか
表示位置(列)フォーム表示での横方向の配置

これらは項目ごとに設定でき、組み合わせることで「2 項目を 1 行に並べる」「特定項目を読取専用にする」といった調整が、コードなしで実現できます。

フィールドグループ(Field Group)

Section titled “フィールドグループ(Field Group)”

関連する項目は フィールドグループ でまとめられ、画面上では見出し付きの区切りとして表示されます。

  • 「基本情報」「金額」「日付」などの単位で項目を整理できます。
  • グループは折りたたみ可能にすることもでき、長い入力フォームの見通しを良くします。

条件によって挙動を変えるロジック

Section titled “条件によって挙動を変えるロジック”

フィールドやタブには、状況に応じて表示や入力可否を切り替えるロジックを設定できます。これもメタデータで定義するため、プログラミングは不要です。

  • 表示ロジック(Display Logic):条件を満たすときだけ項目を表示する(例:ある区分を選んだ時にだけ関連項目を出す)。
  • 読取専用ロジック:条件によって項目を編集不可にする(例:伝票が確定済みなら編集を禁止)。
  • 必須ロジック:条件によって入力を必須にする。

これらのロジックにより、1 つの画面で複数の業務パターンに対応しつつ、不要な項目を隠して入力ミスを減らせます。

各タブは、用途に応じて 2 つの表示モードを切り替えられます。

表示特徴向いている場面
フォーム表示(単票)1 件を縦に並べて詳細編集ヘッダー入力、項目数が多いとき
グリッド表示(一覧)複数件を表形式で一覧明細の確認、複数行のまとめ編集
  • グリッドに表示する列やその順序も、フィールド属性に基づいて制御されます。
  • 明細タブは、入力時はフォーム、確認時はグリッド、といった使い分けがしやすくなっています。

レイアウトはコード変更なしで調整できます(項目の表示/非表示、必須化、同一行配置、表示順の変更など)。本格的な拡張は Application Dictionary をご覧ください。

業務ごとの画面構成を確認する

Section titled “業務ごとの画面構成を確認する”

各業務モジュールのドキュメントには、AD メタデータから生成した 全タブ・全フィールドのレイアウト一覧 へのリンクがあります(例:受注伝票 の「画面構成」)。実際の画面配置やフィールドの並びを確認する際にご活用ください。

レイアウト変更や項目追加のご相談は お問い合わせ からお気軽にどうぞ。