| HOME » 開発者ブログ |
|
パッケージJava製品開発担当の大です。こんにちは。
先週、エイチ・オー・エスは「帳票クリエータ Ver.2」をリリースしました。帳票クリエータは最初のリリースから2年あまり、今回が初のメジャーバージョンアップになります。
製品の概要や価格、ライセンス体系などは製品紹介ページを見ていただくとして、ここでは開発者から見て「帳票クリエータ Ver.2」って何なのか、ということについて書いてみたいと思います。
よくお客様からお問い合わせいただくのが、「シーオーリポーツと帳票クリエータって何が違うの?」というご質問です。確かにどちらも帳票を作成するツールですし、レイアウトを設計するフォームエディタや閲覧用のビュアーもいっしょですから、違いはいまいちわかりにくいですよね。一番の違いは、帳票出力を制御する部分なんです。
これに対して、帳票クリエータは帳票出力の土台を提供するフレームワークと考えることができます。データソースとの連携や出力帳票形式をGUIのマッピングツールで定義すれば、あとはその設定情報を元に、帳票出力の制御は帳票クリエータが行います。帳票によって必要な処理(たとえば、取得データがマイナスの数値だったら文字色を変えるとか、明細リストがいっぱいになったら合計を計算するとか)は、必要なところだけイベントリスナとして追加できるので、シーオーリポーツよりもユーザプログラムの記述量はかなり少なくなります。
前述のように、帳票クリエータではイベントリスナとしてユーザプログラムを追加できる、イベント駆動型の開発をサポートしています。以前のバージョンの帳票クリエータでは、イベントリスナはJavaやVB.NETなどのプログラミング言語で記述、コンパイルして追加する必要がありました。
public class SampleEventListener implements IFormOpenedEventListener {
public void formOpened(CrFormEvent e) throws CrException {
// フォームオープン後にレイヤ0を不可視に設定します。
e.getCrForm().getCrLayer(0).setVisibleAtPrint(false);
}
}
帳票クリエータ Ver.2では、イベントリスナはJavaScriptでも書けるようになりました。もちろん従来どおりJavaやVB.NETでも記述できますが、簡単な条件分岐等はマッピングツール上でスクリプトを書いてすぐにプレビュー、結果を確認することができてお手軽です。スクリプトはXMLの設定ファイル中に保持されるため、運用段階に入ってもデプロイ等の手間無く、再編集して動作を変更することも可能です。
<Script on="formOpened">
// フォームオープン後にレイヤ0を不可視に設定します。
$L(0).visibleAtPrint = false;
</Script>
スクリプトエンジンは、JavaではSun JavaSE6に標準で搭載されているRhino、.NETではMicrosoft JScriptを利用しています。ECMAScript3で標準的に用意されている関数やオブジェクトはもちろん、Java/.NET Frameworkのクラスライブラリもスクリプト中で使用できます。独自の関数を定義し、それを複数の帳票でインクルードして再利用することもできるようになりました。
従来の帳票クリエータでは、1レポートにつきひとつのデータソースしか関連づけることができませんでした。このため、複数のフォームを切り替えて使用する帳票や、フィールドによって別々のデータソースを割り当てたい場合(例えばヘッダ項目はDBから取得するけど、明細リストの中身はCSVだったり)などには、うまく対応することができませんでした。
帳票クリエータ Ver.2 for .NETに用意されているWebServiceは、帳票クリエータ Ver.2 for JavaのWEB APIと同様のREST形式のインタフェースに加え、SOAP形式でのアクセスにも対応した、ASP.NETアプリケーションです。Visual Studioで「Web参照」を使用すれば、ローカルのライブラリを使用するのと変らない感覚で利用できます。
というわけで、新しくなった帳票クリエータ、ぜひダウンロードして試してみてください!と言いたいところなのですが、実はまだ体験版のご用意ができておりません。すみません。。。近日中に公開しますので、もう少々お待ちください。。。
Permalink: http://www.hos.co.jp/blog/20090824/
Last modified: 2009 年 8 月 24 日 5:39 PM
※ 開発者ブログの内容は無保証です。製品のユーザサポート対象ではありません。ご了承ください。