iDempiere(アイデンピエレ)のアプリケーション辞書

アプリケーション辞書(Application Dictionary)は、オープンソースのERP iDempiere(アイデンピエレ)のパラメータ設定によるカスタマイズの中心です。アプリケーション辞書を理解する事は、iDempiereのカスタマイズを行うためには必要不可欠です。

このコンテンツでは、アプリケーション辞書について調査及び研究し、その成果をまとめています。

オープンソースのERP JPiere

アプリケーション辞書とは

アプリケーション辞書(Appliction Dictionary)は、iDempiere(アイデンピエレ)のパラメータ設定によるカスタマイズの中心となる仕組みです。iDempiereでは通常のシステム開発であればソースコードに直接書かれるような情報や、プロパティーファイルと呼ばれるテキストファイルに保存するような情報もアプリケーション辞書という概念で、データベース上に保存しています。

システムを動かすための多くの設定をアプリケーション辞書としてパラメータ可して保存してあるので、そのパラメータを変更する事で画面表示やレポート表示、システム的な制御を変更する事ができ、ソースコードを編集しなくても、色々なカスタマイズができるようになっています。

アプリケーション辞書概要

公開コンテンツ + トレーニングコンテンツ(AC01:アプリケーション辞書)

iDempiereは、ウィンドウ(データ入力画面)とプロセス(バッチ処理)、レポート(帳票)の3つ機能を中心として業務を処理し管理するシステムです。ここでは、そのウィンドウとプロセス、レポートがアプリケーション辞書上、どのような概念で構成されているか、調査及び研究し、その成果をまとめています。

アプリケーション辞書の概念

公開コンテンツ + トレーニングコンテンツ(AC01:アプリケーション辞書)

アプリケーションの各種設定を理解するために、アプリケーション辞書の役割や機能の概念を説明しています。 

 

アプリケーション辞書の設定の全体像

サポーターズコンテンツ + トレーニングコンテンツ(AC01:アプリケーション辞書)

 アプリケーション辞書の概念をイメージ出来たら、それがiDempiereでどのように実装されているのか全体像を説明しています。

アプリケーション辞書の共有マスタ

公開コンテンツ + トレーニングコンテンツ(AC01:アプリケーション辞書)

iDempiereは、ウィンドウとプロセス、レポートの3つの機能を中心として業務を処理し管理するするシステムです。アプリケーション辞書にはそのウィンドウとプロセス、レポートを開発するために共有して使用するマスタがあります。ここではそのアプリケーション辞書で共有して使用するマスタについて調査及び研究し、その成果をまとめています。

エンティティタイプ

サポーターズコンテンツ + トレーニングコンテンツ(AC01:アプリケーション辞書)

 アプリケーション辞書の至る所で設定する事となる、エンティティタイプについて調査及び研究し、その成果をまとめています。

 

エレメント

サポーターズコンテンツ + トレーニングコンテンツ(AC01:アプリケーション辞書)

エレメントは、カラムをマスタ化したもので、カラムの名称を保持する辞書的な役割もあります。ここでは、そのエレメントについて調査及び研究し、その成果をまとめています。

 

リファレンス

サポーターズコンテンツ + トレーニングコンテンツ(AC01:アプリケーション辞書)

リファレンスには、3つの役割があります。ここではリファレンスについて調査及び研究し、その成果をまとめています。

 

データタイプのリファレンス

サポーターズコンテンツ + トレーニングコンテンツ(AC01:アプリケーション辞書)

リファレンスの役割の1つであるデータタイプについて調査及び研究し、その成果をまとめています。 

 

ダイナミックバリデーション

サポーターズコンテンツ + トレーニングコンテンツ(AC01:アプリケーション辞書)

ダイナミックバリデーションを使用すると、他のフィールドに入力されている値をもとに入力値を制御する事ができます。ここではダイナミックバリデーションについて調査及び研究し、その成果をまとめています。 

アプリケーション辞書の共通パラメータ設定

公開コンテンツ + トレーニングコンテンツ(AC01:アプリケーション辞書)

オープンソースのERP iDempiereでは、入力フィールドに予めロジックによってある値を設定しておいたり、ある条件によって入力フィールドを読取専用にしたり、非表示にしたり、必須入力にしたりする事ができます。ここではその条件ロジックの記述方法について、調査及び研究し、その成果をまとめています。

初期値の設定ロジック(Default Logic)

サポーターズコンテンツ + トレーニングコンテンツ(AC01:アプリケーション辞書)

iDempiereでは、所々でデータ入力の初期値を設定する事ができます。ここでは、データ入力の初期値の設定ロジックの書き方について調査及び研究し、その成果をまとめています。

 

読取専用ロジック(Read Only Logic)

サポーターズコンテンツ + トレーニングコンテンツ(AC01:アプリケーション辞書)

iDempiereでは、条件に応じて入力フィールドを読取専用(グレーアウト)にしたり、データ入力を許可したりする事ができます。ここでは、読取専用とするかデータ入力を許可するのか制御する読取専用ロジックの書き方について調査及び研究し、その成果をまとめています。

 

必須ロジック(Mandatory Logic)

サポーターズコンテンツ + トレーニングコンテンツ(AC01:アプリケーション辞書)

iDempiereでは、条件に応じてデータの入力を必須にするか、任意にするのか制御する事ができます。ここでは、データ入力を必須にするのか任氏にするのか制御 する必須ロジックの書き方について調査及び研究し、その成果をまとめています。

 

表示ロジック(Display Logic)

サポーターズコンテンツ + トレーニングコンテンツ(AC01:アプリケーション辞書)

iDempiereでは、条件に応じてデータ入力フィールドを表示したり、非表示にしたり制御する事ができます。ここでは、データ入力フィールドを表示したり、非表示にしたり制御する事ができる表示ロジックの書き方について調査及び研究し、その成果をまとめています。 

テーブルとカラム

サポーターズコンテンツ + トレーニングコンテンツ(AC01:アプリケーション辞書)

アプリケーション辞書のテーブルとカラムウィンドウでは、データベースのテーブルとカラムの定義を情報として保持し、アプリケーション辞書の各種パラメータ設定によるカスタマイズの基本情報として使用します。

ウィンドウ/タブ/フィールド

公開コンテンツ + トレーニングコンテンツ(AC01:アプリケーション辞書)

「ウィンドウ/タブ/フィールド(Window, Tab & Field)」では、標準画面(ウィンドウ)の定義を行います。ここでは、ウィンドウ/タブ/フィールドの各種設定について説明します。

フィールドグループ

サポーターズコンテンツ + トレーニングコンテンツ(AC01:アプリケーション辞書)

「フィールドグループ(Field Group)」を使用する事で、ウィンドウ上の入力項目であるフィールドを視覚的にグループ化して表示する事ができます。

検索ウィンドウ

公開コンテンツ + トレーニングコンテンツ(AC01:アプリケーション辞書)

iDempiereの検索ウィンドウエンジンは、柔軟性が高くとても強力です。検索項目や検索結果表示項目などをノンプログラミングでカスタマイズする事ができます。さらに、検索ウィンドウに付加したい機能があれば、追加開発する事も可能です。

検索ウィンドウ概要

公開コンテンツ + トレーニングコンテンツ(AC01:アプリケーション辞書)

検索ウィンドウの機能についてその概要を説明しています。 

 

検索ウィンドウのパラメータ設定

サポーターズコンテンツ + トレーニングコンテンツ(AC01:アプリケーション辞書)

検索ウィンドウのパラメータ設定について調査及び研究し、その成果をまとめています。 

レポートとプロセス

公開コンテンツ + トレーニングコンテンツ(AC01:アプリケーション辞書)

iDempiereでは、レポートとプロセスは同じ枠組みで管理されています。レポートの表示とプロセス(バッチ処理)とでは、まったく異なる機能のように感じますが、レポートを表示する時には、表示するレポートの内容によっては、バッチ処理のようにデータをまとめて処理する事が必要になりますし、バッチ処理においては、その処理結果をレポートのように出力する必要があります。

このように、レポートとプロセスとではまったく異なる機能のようであっても、実は同じような機能が必要である事からiDempiereではレポートとプロセスを同じ枠組みで管理しています。

レポートビュー

サポーターズコンテンツ + トレーニングコンテンツ(AC01:アプリケーション辞書)

レポートビューについて調査及び研究し、その成果をまとめています。

 

レポートとプロセスの設定

サポーターズコンテンツ + トレーニングコンテンツ(AC01:アプリケーション辞書)

レポートとプロセスのパラメータ設定について調査及び研究し、その成果をまとめています。 

ルール

サポーターズコンテンツ + トレーニングコンテンツ(AC01:アプリケーション辞書)

ルールを使用する事になり、いくつかのタイミングでiDempiere内に記述したスクリプトを実行する事ができます。

ログイン(Model Validator Login Event:L)

サポーターズコンテンツ + トレーニングコンテンツ(AC02:システム開発基礎)

ルールのイベントタイプに"ログイン"を選択するとログイン時に独自のロジックを実行する事ができます。

モデルバリデータ-伝票ステータス更新(Model Validator Document Event:D)

サポーターズコンテンツ + トレーニングコンテンツ(AC02:システム開発基礎)

ルールのイベントタイプに"モデルバリデータ-伝票ステータス更新"を選択すると、伝票ステータス更新時に呼び出されるモデルバリデータと同様の処理をスクリプトで記述する事ができます。

モデルバリデータ-テーブルイベント(Model Validator Table Event:T)

サポーターズコンテンツ + トレーニングコンテンツ(AC02:システム開発基礎)

ルールのイベントタイプに"モデルバリデータ-テーブルイベント"を選択すると、beforeSaveやafterSave()の後に呼び出されるモデルバリデータと同様の処理をスクリプトで記述する事ができます。

コールアウト(Callout:C)

サポーターズコンテンツ + トレーニングコンテンツ(AC02:システム開発基礎)

ルールのイベントタイプに"コールアウト"を選択すると、スクリプトでコールアウトを実装する事ができます。

プロセス(Process:P)

サポーターズコンテンツ + トレーニングコンテンツ(AC02:システム開発基礎)

ルールのイベントタイプに"プロセス"を選択すると、スクリプトでプロセスを実装する事ができます。

ステータスライン

サポーターズコンテンツ + トレーニングコンテンツ(AC01:アプリケーション辞書)

ステータスラインを使用するとウィンドウの右上部に、メッセージを表示させる事ができます。

メッセージ

サポーターズコンテンツ(作成中) + トレーニングコンテンツ(AC01:アプリケーション辞書)

オープンソースのERP iDempiereでは、エラー時に表示するメッセージも多言語化されており、アプリケーション辞書でマスタ管理されています。

フォーム(Form)

公開コンテンツ + トレーニングコンテンツ(AC01:アプリケーション辞書)

「フォーム(Form)」の仕組みを使用すると、定型画面の「ウィンドウ(Window)」に代わり、iDempiereの画面を自由に開発する事ができます。開発したフォームはアプリケーション辞書に登録しておき、iDempiereが呼び出せるように設定しておく必要があります。ここでは、アプリケーション辞書のフォームの設定について調査及び研究し、その成果をまとめています。

フォーム概要

公開コンテンツ + トレーニングコンテンツ(AC01:アプリケーション辞書)

フォームについて概要的に説明しています。

 

フォームのアプリケーション辞書の設定

サポーターズコンテンツ + トレーニングコンテンツ(AC01:アプリケーション辞書)

フォームのアプリケーション辞書の設定について調査及び研究し、その成果をまとめています。 

検索定義

公開コンテンツ + トレーニングコンテンツ(AC01:アプリケーション辞書)

iDempiereの画面上部のメニューボタンの左側にある"検索フィールド"は、メニューの検索だけでなく、目的のウィンドウを素早く表示したり、目的のデータを検索する事にも使用する事ができます。ここでは、その検索フィールドをカスタマイズする"検索定義"について調査及び研究し、その成果をまとめています。

CSSスタイル

サポーターズコンテンツ + トレーニングコンテンツ(AC01:アプリケーション辞書)

CSSスタイルを使用すると、入力フィールド個々にCSSを設定する事ができます。

レコードの条件に応じてCSSを設定する事もできます。例えば伝票ステータスに応じて、伝票番号の色を変えるような事も簡単に行う事ができます。