Adempiereの「プロセス」を作成する
ボタンとの関連付け
プロセスを登録したら、第4回記事で作成したウィンドウに、ボタンとしてこのプロセスを登録します。
第4回記事で「SampleProcess1」を作成しているので今回はそのレコードをコピーして修正します。
メニューツリーから「アプリケーション構成 > 要素」を選択して、「要素」ウィンドウを開いてください。
検索フォームが表示されるので、「名前」に「SampleProcess1」と入力して、右下のOKボタンを押してください。「SampleProcess1」のレコードが表示されます。
図2:検索フォームの「名前」に「SampleProcess1」と入力 |
新規作成ボタンの右にあるボタン(アイコン)が、「レコードをコピー」ボタンです。「レコードをコピー」を押すと、レコードがコピーされます(「表形式」ボタンでレコードを一覧表示すると「SampleProcess1」という名前のレコードが2つ表示されます)。
- 「DBカラム名」に「sample_process2」と入力
- 「名前」に「SampleProcess2」と入力
- 「テキストを印刷」に「SampleProcess2」と入力
- 「実体タイプ」で「Dictionary」を選択
保存アイコンを押してレコードを保存してください。
次に「テーブルとカラム」ウィンドウで「SampleProcess2」のレコードを追加します。メニューから、「アプリケーション構成 > テーブルとカラム」 を選び、「テーブルとカラム」ウィンドウを開いてください。「テーブル」タブで、「SAMPLE1」という名前のレコードを選択してください。
第4回記事では、「DBテーブル名」に「SAMPLE_TABLE1」、「名前」に「SAMPLE1」と設定しましたが、「DBテーブル名」はモデルクラスのクラス名に影響するので、以下を修正してください。
- 「DBテーブル名」を「Sample_Table1」
- 「名前」を「Sample1」
「カラム」タブでレコードを追加します。各項目は、以下のように設定してください。
- 「DBカラム名」 sample_process2
- 「システムエレメント」 sample_process2
- 「名前」 SampleProcess2
- 「長さ」 1
- 「参照」 ボタン
- 「プロセス」 Sample_Process2_Sample Process2
値を設定して保存したら、「カラムを同期」ボタンを押してください。データベースにカラムが作成されます。
図3:「カラムを同期」ボタンを押すとデータベースにカラムが作成される(クリックで拡大) |
最後に、「ウィンドウ、タブ & フィールド」ウィンドウで、ボタンを表示するためにレコードを追加します。
メニューから、「アプリケーション構成 > ウィンドウ、タブ & フィールド」 で、「ウィンドウ、タブ & フィールド」ウィンドウを開いてください。
- 「ウィンドウ」タブで、Sample Window1のレコードを表示してください。
- 「タブ」タブに移動して「フィールドを作成」ボタンを押してください。
- 「フィールド」タブにSampleProcess2のレコードが作成されます。
これでプロセスの設定は完了です。メニューのツリーからSample Window1を表示して、SampleProcess2を実行してください。SampleProcess2ボタンが表示されない場合は、一度ログアウトしてログインし直してください。
SampleProcess2を実行するとウィンドウの下部にメッセージが表示されます。
図4:Sample Window1を表示 |
図5:SampleProcess2を実行 |
今回作成したプロセスは、Eclipse上のソースファイルとして追加したので、インストールしたAdempiere(RUN_Adempiere.batから起動したAdempiere)でSampleProcess2のボタンを押すと、ClassNotFoundのエラーになります。Eclipseから起動したAdempiereでプロセスを実行してください。第5回記事で説明したビルド方法によってインストール可能な形式にすることができます。
処理内容の作成
ここまでで、空のプロセスが実行できるようになったので、このプロセスに第4回記事の簡易プロセスとほぼ同じ処理を書いてみます。