2010年3月

3月

21

Adempiereでは、データの登録・編集を行うウィンドウを簡単に作成できます。
Adempiereで新規にウィンドウを作成する手順は、以下のとおりです。

・AdempiereにSystem Administratorとしてログイン。
・メニューから、
 アプリケーション構成 > テーブルとカラム
 ウィンドウを開く。
・「テーブル」タブで、新規作成アイコンをクリックして、データの新規作成。
・「DBテーブル名」の項目で、テーブル名を入力(SAMPLE_TABLE1など)
・「名前」の項目で、名前を入力(SAMPLE1など)
・「データ・アクセスレベル」の項目で「すべて」を選択。
・保存アイコンをクリックして、データを保存。

・「テーブルからカラムをコピー」ボタンを押して、「テーブル」のセレクトボックスから、
 「M_FreightCategory_貨物カテゴリ」を選択。
 (「M_FreightCategory_貨物カテゴリ」は、最も単純な構造のテーブルのため、コピー元のテーブルに使います)
 ⇒「カラム」タブにデータ(レコード)が作成されます。

・「カラム」タブの右下にある「カラムを同期」を実行。
 ⇒データベース(OracleまたはPostgreSQL)にテーブル(とカラム)が作成されます。

・メニューから、
 アプリケーション構成 > ウィンドウ、タブ & フィールド
 ウィンドウを開く。
・「ウィンドウ」タブで、データの新規作成。
・「名前」の項目で、ウィンドウの名前を入力(Sample Windowなど)
・保存アイコンをクリックして、データを保存。

・「タブ」タブで、データの新規作成。
・「名前」の項目で、タブの名前を入力(Tab1など)
・「テーブル」の項目で、「テーブルとカラム」ウィンドウで作成した値を選択。(SAMPLE_TABLE1_SAMPLE1)
・保存アイコンをクリックして、データを保存。
・「フィールドを作成」ボタン実行
 ⇒「フィールド」タブに、データ(レコード)が作成されます。

次に、ウィンドウをメニューツリーに表示するための設定を行います。

・メニューから、
 システム管理者設定 > 一般ルール > システムルール > メニュー
 ウィンドウを開く。
・「メニュー」タブで、新規作成アイコンをクリックして、データの新規作成。
・「名前」のテキストフィールドに、名前を入力(Sample Window1など)
・「アクション」セレクトボックスで、「ウィンドウ」を選択。
・「ウィンドウ」セレクトボックスで、作成したウィンドウを選択。(Sample Window)

これで、新規にウィンドウを作成する作業は完了です。
一度ログアウトして再ログインすると、ウィンドウが使えるようになります。

このようにして作成したウィンドウは、Javaクライアントからでも、
ZKウェブアプリケーション(ブラウザ)からでもアクセスできます。
ソースコードを1行も書かずに新規のウィンドウが作成できます。

3月

21

EclipseでZK WebUIのデバッグをする方法を紹介します。

・準備
Adempiereをインストールしたディレクトリにある、utils\myEnvironment.bat ファイル
(C:\Adempiere\utils\myEnvironment.bat など)の中に書かれている、
ADEMPIERE_JAVA_OPTIONS という変数に以下の内容を追加します。
-Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8888

追加した結果はこのようになります:
@SET ADEMPIERE_JAVA_OPTIONS=-Xms64M -Xmx512M -DADEMPIERE_HOME=D:\Develop\A -Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8888

myEnvironment.batを修正したら、
C:\Adempiere\utils\RUN_Server2.bat スクリプトを使ってサーバーを開始してください。

次に、Eclipseのメニューから、
Run > Open Debug Dialog
を開いて、Remote Java Applicationのコンフィギュレーションを新規作成してください。
Connectタブにある、
「Project」は、起動しているサーバーと同じバージョンのAdempiereのソースコードを設定してください。
「Connection Type」は、Standard (Socket Attach) を選択してください。
「Connection Properties」の「Host」はlocalhost、「Port」は8888にしてください。
設定が終わったら、右下の「Debug」ボタンを押してください。

・デバッグ
 base/src/org/compiere/model/GridWindowVO.java
 62行目(createメソッド)

 base/src/org/compiere/model/GridTabVO.java
 49行目(createメソッド)

 base/src/org/compiere/model/GridFieldVO.java
 78行目(createメソッド)

などにブレークポイントを設定して、WebUIからAdempiereのウィンドウを開くと
プログラムを止めることができます。