iDempiere Application Dictionary (AD)|開発者・カスタマイズ向け
This content is not available in your language yet.
Application Dictionary(AD) は iDempiere の中核で、アプリケーションの構造をメタデータとして定義する仕組みです。多くのカスタマイズがコードを書かずに行えます。
主な構成要素
Section titled “主な構成要素”| 要素 | 役割 |
|---|---|
| ウィンドウ / タブ / フィールド | 画面の構造(UI レイアウト) |
| テーブル / カラム | データ構造の定義 |
| 参照(Reference) | 選択リスト・検索・参照の型 |
| プロセス / レポート | 処理・帳票の定義 |
| Callout | 入力時のリアルタイム計算・連動 |
| ワークフロー | 承認・処理フロー |
| 共通要素(Element) | 項目名・説明の一元管理 |
| バリデーションルール | 入力規則・参照の絞り込み |
| メッセージ / 翻訳 | 画面文言・多言語対応 |
これらの定義はすべてデータベース上のメタデータとして保持され、画面(メニューの「アプリケーション辞書」配下)から編集できます。設定を変更すると、対応する画面や処理に即座に反映されます。
- 画面への項目追加・表示制御(ローコード)。
- カスタムテーブル/ウィンドウの作成。
- **プロセス(処理)**やバリデーションの追加。
- 既存機能を壊さずに拡張(OSS でソースも保有可能)。
カスタム機能を作る一般的な流れ
Section titled “カスタム機能を作る一般的な流れ”ローコードで新しい業務テーブルと画面を追加する場合、概ね次の順序で進めます。
- 共通要素(Element)の整理 — 項目名・説明をまず Element として定義しておくと、複数のテーブルで同じカラムを使う際に名称を一元管理できます。
- テーブルとカラムの定義 — 「テーブルとカラム」ウィンドウで新しいテーブルを作成し、必要なカラム(参照型・長さなど)を定義します。
- DB 列の同期 — 定義した内容を実際のデータベース構造へ反映します(テーブル/カラムの同期機能)。これにより物理テーブルや列が生成・更新されます。
- ウィンドウ・タブ・フィールドの作成 — テーブルを表示するウィンドウを作り、タブ(親子関係を含む)とフィールドを配置します。
- メニューへの登録 — 作成したウィンドウをメニュー項目として登録し、ロールの権限を設定して利用者がアクセスできるようにします。
参照(Reference)の型
Section titled “参照(Reference)の型”カラムが取り得る値の入力方法は「参照」で決まります。代表的な型は次のとおりです。
| 参照型 | 概要 |
|---|---|
| リスト(List) | あらかじめ定義した固定の選択肢から選ぶ |
| テーブル参照(Table) | 他テーブルのレコードを 1 件選択(外部キー) |
| 検索(Search) | 件数の多いマスタを検索ダイアログで選択 |
| 各種データ型 | 文字列・数値・日付・金額・Yes-No など |
テーブル参照・検索では、表示するレコードを絞り込むためのバリデーションルール(SQL 条件) を組み合わせられます。
バリデーション・Callout・プロセス
Section titled “バリデーション・Callout・プロセス”- バリデーションルール — 参照の絞り込みや入力チェックに利用する条件定義です。文脈変数(
@カラム名@)を使って、同一画面の他項目の値に応じた動的な絞り込みができます。 - Callout — フィールドの値が変わったときに別項目を自動計算・連動させる仕組みです(例:単価×数量で金額を更新)。標準では多くの業務画面に組み込まれています。
- プロセス / レポート — バッチ処理や帳票を定義します。実行時にパラメータを受け取れるため、条件を指定して処理・出力できます。
- ワークフロー — ドキュメントの承認や状態遷移を定義します。承認ワークフローを使うと、金額しきい値などに応じた承認経路を構成できます。
メッセージと翻訳
Section titled “メッセージと翻訳”画面の文言やエラーメッセージはメッセージとして管理され、フィールド・要素・メニュー等の名称とあわせて翻訳を持てます。これにより、同じ定義のまま複数言語の UI を提供できます。
設定の移送(環境間の移行)
Section titled “設定の移送(環境間の移行)”検証環境で作成・確認した AD の定義は、本番環境へまとめて移すことができます。
- 2Pack(パッケージのエクスポート/インポート) — ウィンドウ・プロセス・参照などの AD 定義を XML パッケージとして書き出し、別環境に取り込みます。手作業の再入力を避け、環境間の整合性を保てます。
- 個別のレコードやマスタデータは、エクスポート/インポート機能で移すこともできます。
各モジュールの技術仕様
Section titled “各モジュールの技術仕様”各業務ページの「🛠 技術仕様(開発者向け)」セクションに、テーブル構造・クラス・拡張ポイントを記載しています(例:受注伝票)。カスタム開発の際は、まず該当業務の技術仕様を確認し、標準の拡張ポイントを活かす方法を検討すると安全です。
カスタマイズのご相談は お問い合わせ からどうぞ。