ジェネクサス・ジャパン
代表取締役CEO
大脇 文雄

 この連載では、南米ウルグアイ生まれの業務アプリケーション開発ツール「GeneXus(ジェネクサス)」について説明している。第1回でGeneXusの全体像を、第2回から第4回まで、GeneXusを利用したシステム開発の流れを説明した。

 今回は最終回である。前回までの結果を生かして、帳票の作成や仕様変更への対応の進め方を説明する。最後に、GeneXusによる開発のポイントをまとめたい。

帳票を作ってみる

 前回までで、GeneXusを使ってWeb画面を作成し動かすところまでを説明した。続いて帳票を作ってみよう。

 帳票やバッチ処理を作るには「Procedure」オブジェクトを使用する。フォルダービューの「Objects」を右クリックして「新規」>「オブジェクト」を選び、「Procedure」オブジェクトを選択する。帳票に関する詳細な説明はここでは割愛し、出来上がったオブジェクトを紹介する(図1)。

図1●帳票の「Procedure」オブジェクト
図1●帳票の「Procedure」オブジェクト
[画像のクリックで拡大表示]
図2●「Procedure」オブジェクトの手続き
図2●「Procedure」オブジェクトの手続き
[画像のクリックで拡大表示]
図3●pdfファイルへの出力の設定
図3●pdfファイルへの出力の設定
[画像のクリックで拡大表示]

 この「Procedure」オブジェクトは、GeneXus の中で唯一、手続きを書けるオブジェクトだ。例えば、図1の帳票は「奇数行と偶数行で背景色を分ける」という処理を実行する必要がある。そのために、手続き型の処理を記述しなければならない。

 図2の赤線で囲った部分が「奇数行と偶数行で背景色を分ける」という処理を書いている個所だ。単純に行数をカウントし、それを2で割った残りが1か2かを見て、印刷行を分けている。

 バッチ処理も同じやり方で記述できる。当然、処理を書かなければならない分、開発の手間がかかる。

 ここでは出力先を「PDFファイル」にしてみよう。それには、このオブジェクトのルールを設定すればよい。Output_fileにPDFのファイル名とPDFファイルであることを指定する「pdf」というパラメータを設定する(図3)。

図4●印刷ボタンの設定
図4●印刷ボタンの設定
[画像のクリックで拡大表示]
図5●Printイベント
図5●Printイベント
[画像のクリックで拡大表示]

 次に、送り状の入力画面にも印刷のトリガーとなる印刷ボタンを作成し、そのボタンがクリックされたら帳票を出力するよう設定する(図4)。

 送り状のWeb画面に印刷ボタンを作成し、その印刷ボタンのプロパティのOnClickEventに「Print」と設定する。これで、印刷ボタンがクリックされたらPrintイベントに記述された処理が実行される(図5)。NewInvoiceという「Procedure」オブジェクトが呼び出されて、帳票が印刷されることになる。

 続いて、メニューバーの「ビルド(B)」をクリックし、「開発メニューを実行」をクリックする。表示された開発者メニューから「送り状」をクリックし、送り状のデータを入力する(図6)。

 ここまでできたら、印刷ボタンをクリックしてみよう。見積書がPDFファイルとして出力されるはずだ(図7)。

図6●印刷用の入力
図6●印刷用の入力
[画像のクリックで拡大表示]
図7●見積書のpdfファイル
図7●見積書のpdfファイル
[画像のクリックで拡大表示]