Skip to content

iDempiere Application Dictionary (AD)|開発者・カスタマイズ向け

This content is not available in your language yet.

Application Dictionary(AD) は iDempiere の中核で、アプリケーションの構造をメタデータとして定義する仕組みです。多くのカスタマイズがコードを書かずに行えます。

要素役割
ウィンドウ / タブ / フィールド画面の構造(UI レイアウト
テーブル / カラムデータ構造の定義
参照(Reference)選択リスト・検索・参照の型
プロセス / レポート処理・帳票の定義
Callout入力時のリアルタイム計算・連動
ワークフロー承認・処理フロー
共通要素(Element)項目名・説明の一元管理
バリデーションルール入力規則・参照の絞り込み
メッセージ / 翻訳画面文言・多言語対応

これらの定義はすべてデータベース上のメタデータとして保持され、画面(メニューの「アプリケーション辞書」配下)から編集できます。設定を変更すると、対応する画面や処理に即座に反映されます。

  • 画面への項目追加・表示制御(ローコード)。
  • カスタムテーブル/ウィンドウの作成。
  • **プロセス(処理)**やバリデーションの追加。
  • 既存機能を壊さずに拡張(OSS でソースも保有可能)。

カスタム機能を作る一般的な流れ

Section titled “カスタム機能を作る一般的な流れ”

ローコードで新しい業務テーブルと画面を追加する場合、概ね次の順序で進めます。

  1. 共通要素(Element)の整理 — 項目名・説明をまず Element として定義しておくと、複数のテーブルで同じカラムを使う際に名称を一元管理できます。
  2. テーブルとカラムの定義 — 「テーブルとカラム」ウィンドウで新しいテーブルを作成し、必要なカラム(参照型・長さなど)を定義します。
  3. DB 列の同期 — 定義した内容を実際のデータベース構造へ反映します(テーブル/カラムの同期機能)。これにより物理テーブルや列が生成・更新されます。
  4. ウィンドウ・タブ・フィールドの作成 — テーブルを表示するウィンドウを作り、タブ(親子関係を含む)とフィールドを配置します。
  5. メニューへの登録 — 作成したウィンドウをメニュー項目として登録し、ロールの権限を設定して利用者がアクセスできるようにします。

カラムが取り得る値の入力方法は「参照」で決まります。代表的な型は次のとおりです。

参照型概要
リスト(List)あらかじめ定義した固定の選択肢から選ぶ
テーブル参照(Table)他テーブルのレコードを 1 件選択(外部キー)
検索(Search)件数の多いマスタを検索ダイアログで選択
各種データ型文字列・数値・日付・金額・Yes-No など

テーブル参照・検索では、表示するレコードを絞り込むためのバリデーションルール(SQL 条件) を組み合わせられます。

バリデーション・Callout・プロセス

Section titled “バリデーション・Callout・プロセス”
  • バリデーションルール — 参照の絞り込みや入力チェックに利用する条件定義です。文脈変数(@カラム名@)を使って、同一画面の他項目の値に応じた動的な絞り込みができます。
  • Callout — フィールドの値が変わったときに別項目を自動計算・連動させる仕組みです(例:単価×数量で金額を更新)。標準では多くの業務画面に組み込まれています。
  • プロセス / レポート — バッチ処理や帳票を定義します。実行時にパラメータを受け取れるため、条件を指定して処理・出力できます。
  • ワークフロー — ドキュメントの承認や状態遷移を定義します。承認ワークフローを使うと、金額しきい値などに応じた承認経路を構成できます。

画面の文言やエラーメッセージはメッセージとして管理され、フィールド・要素・メニュー等の名称とあわせて翻訳を持てます。これにより、同じ定義のまま複数言語の UI を提供できます。

検証環境で作成・確認した AD の定義は、本番環境へまとめて移すことができます。

  • 2Pack(パッケージのエクスポート/インポート) — ウィンドウ・プロセス・参照などの AD 定義を XML パッケージとして書き出し、別環境に取り込みます。手作業の再入力を避け、環境間の整合性を保てます。
  • 個別のレコードやマスタデータは、エクスポート/インポート機能で移すこともできます。

各業務ページの「🛠 技術仕様(開発者向け)」セクションに、テーブル構造・クラス・拡張ポイントを記載しています(例:受注伝票)。カスタム開発の際は、まず該当業務の技術仕様を確認し、標準の拡張ポイントを活かす方法を検討すると安全です。

カスタマイズのご相談は お問い合わせ からどうぞ。