(57)【要約】【課題】テンプレートを利用して数値入力フィールドに数値データを入力している状態で、定義済みの数値入力フィールドに対してはその計算式を確認したり、未定義の数値入力フィールドに対してユーザが意図する計算式をスクリプト言語で直接定義することである。【解決手段】選択されて読み出されるテンプレートで定義されている各数値入力フィールドに対するデータ入力中に、ＣＰＵ１１は、複数の数値入力フィールド中で未定義となっているいずれかの数値入力フィールドを判別し、未定義であると判別された数値入力フィールドに対して、スクリプト言語に基づく所定の計算式を定義して前記テンプレートの未定義の数値入力フィールドに埋め込み、該埋め込まれたスクリプト言語に基づく所定の計算式に基づく計算結果を該当する数値入力フィールドの入力データに反映させる構成を特徴とする。【選択図】　　　図１
2004078375.tif 000002
【特許請求の範囲】
【請求項１】
複数の数値入力フィールドが定義可能な帳票印刷用テンプレートを格納する格納手段を備え、前記格納手段から選択されて読み出されるテンプレートで定義されている各数値入力フィールドに対して入力される所定のデータと前記テンプレートのフォームデータとを合成処理して帳票印刷処理を行う情報処理装置であって、
前記格納手段から選択されて読み出されるテンプレートで定義されている各数値入力フィールドに対するデータ入力中に、前記複数の数値入力フィールド中で未定義となっているいずれかの数値入力フィールドを判別する判別手段と、
前記判別手段によりに未定義であると判別された数値入力フィールドに対して、スクリプト言語に基づく所定の計算式を定義して前記テンプレートの未定義の数値入力フィールドに埋め込む計算式埋め込み手段と、
前記計算式埋め込み手段により埋め込まれたスクリプト言語に基づく所定の計算式に基づく計算結果を該当する数値入力フィールドの入力データに反映させるフォーム制御手段と、
を備えることを特徴とする情報処理装置。
【請求項２】
前記判別手段によりに定義済みであると判別された数値入力フィールドに定義されている計算式を前記スクリプト言語に基づく所定の計算式で表示する計算式確認手段を有することを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記フォーム制御手段により該当する数値入力フィールドに対して入力された入力データを反映させた後、印刷実行を指示する指示手段と、
前記指示手段による指示に基づき、前記入力データと前記テンプレートのフォームデータとを合成処理して帳票印刷処理を印刷部より出力させる印刷制御手段と、
を有することを特徴とする請求項１記載の情報処理装置。
【請求項４】
複数の数値入力フィールドが定義可能な帳票印刷用テンプレートを格納する格納手段を備え、前記格納手段から選択されて読み出されるテンプレートで定義されている各数値入力フィールドに対して入力される所定のデータと前記テンプレートのフォームデータとを合成処理して帳票印刷処理を行う情報処理装置における帳票処理方法であって、
前記格納手段から選択されて読み出されるテンプレートで定義されている各数値入力フィールドに対するデータ入力中に、前記複数の数値入力フィールド中で未定義となっているいずれかの数値入力フィールドを判別する判別ステップと、
前記判別ステップにより未定義であると判別された数値入力フィールドに対して、スクリプト言語に基づく所定の計算式を定義して前記テンプレートの未定義の数値入力フィールドに埋め込む計算式埋め込みステップと、
前記計算式埋め込みステップにより埋め込まれたスクリプト言語に基づく所定の計算式に基づく計算結果を該当する数値入力フィールドの入力データに反映させる制御ステップと、
を備えることを特徴とする帳票処理方法。
【請求項５】
前記判別ステップによりに定義済みであると判別された数値入力フィールドに定義されている計算式を前記スクリプト言語に基づく所定の計算式で表示する計算式確認ステップを有することを特徴とする請求項４記載の帳票処理方法。
【請求項６】
前記フォーム制御ステップにより該当する数値入力フィールドに対して入力された入力データを反映させた後、印刷実行を指示する指示ステップと、
前記指示ステップによる指示に基づき、前記入力データと前記テンプレートのフォームデータとを合成処理して帳票印刷処理を印刷部より出力させる印刷制御ステップと、
を有することを特徴とする請求項４記載の帳票処理方法。
【請求項７】
請求項４〜６のいずれかに記載の帳票処理方法を実現するプログラムを記憶したことを特徴とするコンピュータが読み取り可能な記憶媒体。
【請求項８】
請求項４〜６のいずれかに記載の帳票処理方法を実現することを特徴とするプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、出力用フォームデータから入力用フォームを自動生成することを可能とし、ユーザにおける入力フォーム作成の負荷を軽減する情報処理装置および帳票処理方法およびコンピュータが読み取り可能な記憶媒体およびプログラムに関するものである。
【０００２】
【従来の技術】
従来より、帳票等のように予め作成された出力フォームに対して、可変データ部分を記述する後付けデータをマージし、これを印刷する印刷システムが知られている。
【０００３】
一般に、この種の印刷システムにおいては、印刷の品位が重視されているため、情報処理装置上でまず印刷用の出力フォームを作成し、この出力フォームに対し何らかの方法により後付けデータを作成し、当該出力フォームに合成する。
【０００４】
ここで、出力フォームに対応した可変データの入力や作成については、当該システムの使用者がその業務にあわせて独自の入力システムを構築していた。
【０００５】
このようなシステム上において処理する帳票の数が増えるに従い、各帳票のためのデータ入力用のフォームを開発するのが、ユーザの重荷になっている。
【０００６】
また、同時に、入力フォームの操作性の向上も求められており、入力用フォームの開発に関わる負荷は増加するばかりである。
【０００７】
さらに、このような負担を軽減するため特開２００１−１０１３２７号公報に記載されるように、テンプレートを利用するものも提案されている。
【０００８】
そして、上記テンプレートを利用する場合、各フィールドにあらかじめ算出すべき計算式を設定して、入力される数値に対して計算結果を自動的に入力する機能を備えたものがある。
【０００９】
【発明が解決しようとする課題】
しかしながら、テンプレートを利用する場合でも、何らかの新たな表計算フィールドを作成する等の変形あるいは編集を行いたい場合があるが、このような場合には、テンプレート自体を最初から新たに作成しなければならない場合と、直接ユーザが計算して数値をテキストとして入力する等の操作が必要となり、このような新たな計算項目を容易に編集することができない等の問題点が指摘されていた。
【００１０】
本発明は、上記の問題点を解決するためになされたもので、本発明の目的は、選択されて読み出されるテンプレートで定義されている各数値入力フィールドに対するデータ入力中に、前記複数の数値入力フィールド中で未定義となっているいずれかの数値入力フィールドを判別し、未定義であると判別された数値入力フィールドに対して、スクリプト言語に基づく所定の計算式を定義して前記テンプレートの未定義の数値入力フィールドに埋め込み、該埋め込まれたスクリプト言語に基づく所定の計算式に基づく計算結果を該当する数値入力フィールドの入力データに反映させることにより、テンプレートを利用して数値入力フィールドに数値データを入力している状態で、定義済みの数値入力フィールドに対してはその計算式を確認したり、未定義の数値入力フィールドに対してユーザが意図する計算式をスクリプト言語で直接定義して、該定義された計算式が埋め込まれた数値入力フィールドに対して入力される数値入力データを反映させた帳票処理を自在に行うことができる利便性と操作性に優れた情報処理装置および帳票処理方法およびコンピュータが読み取り可能な記憶媒体およびプログラムを提供することである。
【００１１】
【課題を解決するための手段】
本発明に係る第１の発明は、複数の数値入力フィールドが定義可能な帳票印刷用テンプレートを格納する格納手段を備え、前記格納手段から選択されて読み出されるテンプレートで定義されている各数値入力フィールドに対して入力される所定のデータと前記テンプレートのフォームデータとを合成処理して帳票印刷処理を行う情報処理装置であって、前記格納手段から選択されて読み出されるテンプレートで定義されている各数値入力フィールドに対するデータ入力中に、前記複数の数値入力フィールド中で未定義となっているいずれかの数値入力フィールドを判別する判別手段（図１に示すＣＰＵ１１が外部記憶装置１４等より読み出される帳票処理プログラムに基づき判断処理する構成に対応する）と、前記判別手段によりに未定義であると判別された数値入力フィールドに対して、スクリプト言語に基づく所定の計算式を定義して前記テンプレートの未定義の数値入力フィールドに埋め込む計算式埋め込み手段（図１に示すＣＰＵ１１が外部記憶装置１４等より読み出される帳票処理プログラムに基づき埋め込み処理する構成に対応する）と、前記計算式埋め込み手段により埋め込まれたスクリプト言語に基づく所定の計算式に基づく計算結果を該当する数値入力フィールドの入力データに反映させるフォーム制御手段（図１に示すＣＰＵ１１が外部記憶装置１４等より読み出される帳票処理プログラムに基づき反映処理する構成に対応する）とを備えることを特徴とする。
【００１２】
本発明に係る第２の発明は、前記判別手段によりに定義済みであると判別された数値入力フィールドに定義されている計算式を前記スクリプト言語に基づく所定の計算式で表示する計算式確認手段（図１に示すＣＰＵ１１が外部記憶装置１４等より読み出される帳票処理プログラムに基づき確認処理する構成に対応する）を有することを特徴とする。
【００１３】
本発明に係る第３の発明は、前記フォーム制御手段により該当する数値入力フィールドに対して入力された入力データを反映させた後、印刷実行を指示する指示手段と、前記指示手段による指示に基づき、前記入力データと前記テンプレートのフォームデータとを合成処理して帳票印刷処理を印刷部より出力させる印刷制御手段（図１に示すＣＰＵ１１が外部記憶装置１４等より読み出される帳票処理プログラムに基づき印刷制御する構成に対応する）とを有することを特徴とする。
【００１４】
本発明に係る第４の発明は、複数の数値入力フィールドが定義可能な帳票印刷用テンプレートを格納する格納手段を備え、前記格納手段から選択されて読み出されるテンプレートで定義されている各数値入力フィールドに対して入力される所定のデータと前記テンプレートのフォームデータとを合成処理して帳票印刷処理を行う情報処理装置における帳票処理方法であって、前記格納手段から選択されて読み出されるテンプレートで定義されている各数値入力フィールドに対するデータ入力中に、前記複数の数値入力フィールド中で未定義となっているいずれかの数値入力フィールドを判別する判別ステップ（図示しない）と、前記判別ステップにより未定義であると判別された数値入力フィールドに対して、スクリプト言語に基づく所定の計算式を定義して前記テンプレートの未定義の数値入力フィールドに埋め込む計算式埋め込みステップ（図１２に示すステップＳ１１−７）と、前記計算式埋め込みステップにより埋め込まれたスクリプト言語に基づく所定の計算式に基づく計算結果を該当する数値入力フィールドの入力データに反映させる制御ステップ（図示しない）とを備えることを特徴とする。
【００１５】
本発明に係る第５の発明は、前記判別ステップによりに定義済みであると判別された数値入力フィールドに定義されている計算式を前記スクリプト言語に基づく所定の計算式で表示する計算式確認ステップ（図示しない）を有することを特徴とする。
【００１６】
本発明に係る第６の発明は、前記フォーム制御ステップにより該当する数値入力フィールドに対して入力された入力データを反映させた後、印刷実行を指示する指示ステップと、前記指示ステップによる指示に基づき、前記入力データと前記テンプレートのフォームデータとを合成処理して帳票印刷処理を印刷部より出力させる印刷制御ステップ（図示しない）とを有することを特徴とする。
【００１７】
本発明に係る第７の発明は、第４〜第６の発明のいずれかに記載の帳票処理方法を実現するプログラムを記憶したことを特徴とする。
【００１８】
本発明に係る第８の発明は、第４〜第６の発明のいずれかに記載の帳票処理方法を実現するプログラムであることを特徴とする。
【００１９】
【発明の実施の形態】
以下、添付の図面を参照して本発明の好適な実施形態を詳細に説明する。
【００２０】
図１は、本発明の一実施形態を示す情報処理装置の構成を説明するブロック図である。
【００２１】
図１において、１１はＣＰＵであり、当該システムにおける各種処理を実行する。１２はＲＯＭであり、ＣＰＵ１１によって実行される制御プログラムや、各種データを格納する。１３はＲＡＭであり、ＣＰＵ１１によって実行される制御プログラムを格納するとともに、ＣＰＵ１１の作業領域を提供する。１４は外部記憶装置であり、フレキシブルディスク、ハードディスク、ＣＤ−ＲＯＭ等によって構成される。外部記憶装置１４には、図５で後述する本実施形態の制御をＣＰＵ１１に実現させるための制御プログラムが格納されている。外部記憶装置１４に格納された制御プログラムは、適宜ＲＡＭ１３にロードされ、ＣＰＵ１１によって実行される。
【００２２】
１５はディスプレイであり、ＣＰＵ１１の制御の下で各種表示を行う。１６はキーボード、１７はポインティングデバイス（本例ではマウス）であり、当該装置に対し各種の操作入力を行う。１８はインタフェースであり、本実施形態ではプリンタ２０が接続される。１９はバスであり、上述の各構成を接続する。なお、図１において外部記憶装置１４やプリンタ２０等はネットワークを介して接続されていてもよい。
【００２３】
図２は、図１に示した情報処理装置の外部記憶装置１４で管理される印刷用フォームのテンプレート例を示す図である。
【００２４】
このようなフォームテンプレート作成は通常のドローイングツールと同様な方法で行われる。ただし、印刷時に後付けデータ（図３で後述する）と合成する必要がある為、後付けデータを取り込むエリアが明確に示されている。
【００２５】
図２において、１０２、１０３、１０４、１０５等のＸＸＸＸＸで示される部分は、可変データが表示されるべきフィールド（可変データフィールド）である。各可変データフィールドには名称が付与されており、本例は、可変データフィールド１０２には「Ｓｈｅｅｔ＿Ｎｏ」、可変データフィールド１０３には「Ｃｕｓｔ＿Ｎａｍｅ」、可変データフィールド１０４には「Ｃｕｓｔ＿Ａｄｒ」、可変データフィールド１０５には「Ｃｏｄｅ１」などの名称が付与されている。
【００２６】
１０１で示される部分等の可変データフィールド以外の表示オブジェクト用の固定フィールドで、帳票における固定部分である。
【００２７】
図３は、図２に示したフォームテンプレートに合成される後付けデータの構成例を示す図である。この例では、例えば、フォームテンプレート上の可変データフィールド１０２（Ｓｈｅｅｔ＿Ｎｏのフィールド）に「１２３４５」が，可変データフィールド１０３（Ｃｕｓｔ＿Ｎａｍｅのフィールド）に「ＡＢＣ　Ｃｏｍｐａｎｙ」が表示され、印刷されることになる。
【００２８】
図４は、図１に示した外部記憶装置１４（本例ではハードディスク）に格納されたフォームテンプレートデータのフォーマット例の概要を示す図である。３０１は識別子であり、各表示オブジェクトを特定する。３０２は各表示オブジェクトの属性であり、オブジェクトの種類（例えば文字列、線、Ｂｏｘ、イメージ等の表示オブジェクト、或いは可変データフィールド）であることを表わす。３０３は、オブジェクトのフォームテンプレート（帳票）上における位置である。３０４は各オブジェクト毎のデータ内容、たとえば、文字列である場合は、その実際の文字列、可変データである場合は図３で示した様な名称が割り当てられる。その他、３０５では、各オブジェクトごとの必要項目が詳細に示される。この詳細項目３０５には、例えば各表示オブジェクトや可変データフィールドの大きさ、可変データフィールドについては入力されるデータが文字列か数値か等を表わす情報が格納される。
【００２９】
次に図５〜図９を参照して、本実施形態における入力フォームの作成方法を説明する。
【００３０】
図５は、図１に示したディスプレイ１５に表示される入力フォーム作成ウインドウの表示例を示す図である。
【００３１】
図５において、４０１は入力フォームを作成する為のウインドウ全体を示し、ウインドウ４０１はディスプレイ１５に表示される。４０２はメニューバーであり、複数のメニューボタンが配置されている。４０３は出力フォーム用エリアであり、出力フォームテンプレート４０４を表示する。４０５は、入力フォーム４０６を表示したり編集する為の入力フォーム用エリアである。
【００３２】
図５に示されるように、出力フォーム用エリア４０３に表示した出力フォームテンプレート４０４に基づいて、入力フォーム４０６が自動的に生成される。ここで、出力フォームテンプレート４０４に含まれる可変データフィールドはデータ入力用のボックスで置き換えられる。例えば、図５では、可変データフィールド４０７がデータ入力ボックス４０８で置き換えられている。
【００３３】
また、４０９は、出力フォームテンプレート表示エリアと入力フォーム作成エリアとの境界を示し、リサイズが可能である。
【００３４】
次に、本実施形態による入力フォームの生成手順を説明する。
【００３５】
メニューバー４０２のメニューボタン群の中にはファイル読み込みボタンが配置されている。このボタンを選択すると、一般的なファイルを選択する為の選択パネルが表示される。ユーザは、このファイル選択画面において、既に作成されている出力フォームテンプレートのファイルを選択する。
【００３６】
本例では、図４に示されているファイルフォーマットのファイルを読み込み、図５に示すように出力フォーム用エリア４０３に出力フォームテンプレート４０４が再現されたものとする。尚、出力フォーム用エリア４０３は表示のみのエリアであり、編集等の作業は行えない。また、出力フォームテンプレートを再現すると同時に入力用フォームが自動的に生成され、図５に示すように、入力フォーム用エリア４０５に入力フォーム４０６として表示される。以上の動作を図６を用いて説明する。
【００３７】
図６は、本発明に係る情報処理装置における第１のデータ処理手順の一例を示すフローチャートであり、本実施形態による入力フォーム生成手順に対応する。なお、（Ｓ５０１）〜（Ｓ５０９）は各ステップを示し、図１に示した外部記憶装置１４に記憶されるフォーム作成処理プログラムをＲＡＭ１３等にロードしてＣＰＵ１１が実行するものとする。
【００３８】
図６において、ステップＳ５０１では、再び出力フォームテンプレートファイルを読み込む。そして、ステップＳ５０２以降で当該出力フォームテンプレートファイルの各レコードの解析を行う。
【００３９】
まず、ステップＳ５０２で図４に示すようなファイルデータからレコードを１つずつ読み込む。そして、ステップＳ５０３において、当該レコードが可変データ入力用フィールドであるか否かの判定を行う。この判定は、図４の属性３０２の項をチェックすることで行う。
【００４０】
当該レコードが可変データの入力用フィールドである場合はステップＳ５０４に進み、当該レコード用にテキストフィールドを生成する。そして、ステップＳ５０５において、この生成されたテキストフィールドを入力用フィールドレコードとしてメモリ（ＲＡＭ１３）内に保持する。
【００４１】
図７は、図４に示した可変データフィールドに対応するテキストフィールド情報の保持例を示す図である。
【００４２】
一方、ステップＳ５０５における格納処理によって、図７の如きレコードが保持される。
【００４３】
一方、ステップＳ５０３において可変データ入力用フィールドではないと判定された場合は、ステップＳ５０６へ進む。ステップＳ５０６では、出力フォームにおいて定義されている表示オブジェクトと同様のオブジェクト（線、文字列、イメージなど）が生成される。
【００４４】
ステップＳ５０７では、ステップＳ５０４で生成されたテキストフィールド或いはステップＳ５０６で生成されたオブジェクトを入力フォーム上に表示する。ステップＳ５０８においては、出力フォームテンプレートファイル内のすべてのレコードが処理されたか否かを判定する。未処理のレコードがあればステップＳ５０２に戻り、上述の処理を繰り返す。一方、すべてのレコードが処理された場合は本処理を終了する。
【００４５】
こうして、図５に示すように、出力フォームテンプレートからそれに対応する入力フォームが生成され、両者が表示される。この時点では、作成された入力フォームは、出力フォームテンプレートと同等の配置となっている。しかし、入力フォームが出力フォームと同様の形式である必要はなく、より入力に適した、すなわち入力効率の良い入力フォームが求められる。
【００４６】
そこで、本実施形態においては、生成されたテキストフィールドやその他のオブジェクトの編集を可能とする。
【００４７】
図８は、図５に示したフォーム作成画面における入力フィールド編集処理例を示す図である。
【００４８】
図８では、図５に示した入力フィールドについて、テキストフィールド及び文字列オブジェクトの位置を変更し、入力の操作性を改善している。すなわち、生成されたテキストフィールドを移動して整列させ、表示オブジェクト（文字列）の内容を変更している（図８では、「ＮＯ」→「番号」、「様」→「顧客名」、「ご住所」→「住所」のように変更している）。
【００４９】
ここで、入力フォームが所望のものとなった場合はいったんこのファイルは、オペレータの操作により（本例では、メニューバー４０２の「保存」ボタンを指示することにより）セーブされる（本例では、外部記憶装置１４に格納される）。上記では、読み込んだ出力フォームファイルに基づいて入力フォームを生成しこれを編集する手順を示したが、既存の入力フォームファイルを読み込んでこれに編集を加えることももちろん可能である。
【００５０】
以上のようにして、入力用フォームが完成し、データがセーブされると、モード変更ボタン７０１の操作により、編集モードから実行モード９０１（図９参照）への変更が可能となる。上述した入力フォームの作成および編集は編集モードでの作業である。
【００５１】
一方、作成された入力フォームを用いて実際にデータを入力し、これを印刷する場合には、実行モードに移行させる。実行モードへの移行が可能なのは、ファイル読込操作において入力フォームのファイルを読み込んだ場合や、作成、もしくは編集した入力フォームを保存した後である。
【００５２】
さて、実行モードでは、図９に示すように、ウインドウ内にはメニューバー４０２Ａが表示される。メニューバー４０２Ａでは、印刷ボタン９０２が追加され、印刷処理を選択することが可能となる。なお、印刷ボタンは編集モードでは機能しない為、選択不可の状態となっている（本例では、図５に示すように印刷ボタンそのものを表示しない）。
【００５３】
実行モードでは、作成された入力フォームに対し、実際のデータ入力が可能であり、生成されたテキストフィールドに対してキーボード１６よりデータの入力を行える。
【００５４】
図９は実行モードにおいて入力フォーム内のテキストフィールドにデータを入力した状態を示す。ここで、印刷ボタン９０２を選択すると、テキストフィールドに入力されたデータは、図７に示されたテキストフィールドを示すデータとマージされ（すなわちテキストフィールドの名称と入力されたデータが対応付けられ）、図３で示した形式のキーと値とのペアを記述した、いわゆる後づけデータが作成される。そして、この後づけデータを出力フォームテンプレートとマージしてプリンタ２０によって印刷することにより、帳票がえられる。
【００５５】
なお、上記実施形態では、出力フォーム上のテキストフィールドに関わる編集作業として、テキストフィールドの移動を示したが、編集作業はこれに限られるものではない。例えば、出力フォーム上のテキストフィールドの属性（数値、文字列）やボックスの大きさ等を変更可能とすることもできる。
【００５６】
図１０は、図８に示したフォームに対する自動計算フィールド作成編集状態を説明する図であり、図８に示したフォーム中の合計ボタン１００１に対する自動計算式設定処理状態に対応する。
【００５７】
図１０において、テーブルのカラムの合計を表示する合計ボタン１００１を選択指示すると、属性シート１００２がディスプレイ１５の編集画面上に表示され、合計ボタン１００１の属性のリストが表示される。本実施形態では、属性のリストとして、種類が「ＴｅｘｔＦｉｅｌｄ」、名前が「ＴｅｘｔＦｉｅｌｄ１」、Ｘ座標が「３５１」、Ｙ座標が「４３５」、幅が「７１」、高さが「２７」であることを示している。
【００５８】
このような表示状態で、マウス等でメニューから計算式編集メニューを選択すると、ボタンに関する動作を規定するための計算式確認パネルがディスプレイ１５上に表示される。
【００５９】
図１１は、図１に示したディスプレイ１５上に表示される計算式確認パネルの一例を示す図である。
【００６０】
図１１において、１０−１はフィールド名称一覧で、読み込んだ印刷用テンプレートに記述されているフィールド名称の一覧を全て表示する。１０−２はカラム名称一覧で、読み込んだ印刷用テンプレートに記述されているテーブルのカラム名称の一覧を全て表示する。
【００６１】
１０−３は計算式設定ボタンで、数値ボタン「０」〜「９」と、演算ボタン「＋」，「−」，「＊」，「／」と、演算式制御ボタン「（」，「）」と、設定した置数等を消去する消去ボタン「ＣＥ」と、小数点を入力する小数点ボタン「．」と、合成を計算する計算ボタン「Ｓｕｍ」と、平均を計算する計算ボタン「Ａｖｇ」を備えている。
【００６２】
１０−４はフィールド名称で、選択状態にあるフィールドの名称が表示される。なお、現在図１０に示した合計ボタン１００１が選択されているので、図１１の表示例では、フィールド名称で１０−４には、「ＴｅｘｔＦｉｅｌｄ１」が選択状態として表示されている。
【００６３】
１０−５は計算式で、上記印刷用テンプレートに記述されている計算式がある場合には、当該計算式が表示され、計算式がない場合には、計算式を示すテキストは表示されない。図１１に示す例では、計算式１０−５とフィールド名称１０−４からなる組は、名称「ＣｏｌｕｍｎＮａｍｅ５」で示されるテーブルカラムの値の合計を計算し、フィールド「ＴｅｘｔＦｉｅｌｄ１」に代入することを示している。
【００６４】
なお、上記印刷用テンプレートに記述されている計算式がある場合には、計算式は編集不可となる。また、上記印刷用テンプレートに記述されている計算式がない場合には、計算式１０−５に対して、所望の計算式が編集可能となり、フィールド名称１０−１またはテーブルカラム名称１０−２を選択すると、選択した文字列がテキスト１０−５に追加され、計算式設定ボタン１０−３中の各ボタンを選択すると、各ボタンに対応した動作がテキスト１０−５に反映される。
【００６５】
計算式１０−５が表示された状態にして、チェックボタン（Ｃｈｅｃｋ）１０−６を選択すると、表示された計算式の文法がチェックされて、真偽結果が結果１０−９に表示される。図１１に示す例では、計算式が文法的に正しいと判断されて、結果１０−９には、「Ｔｈｅ　Ｅｘｐｒｅｓｓｉｏｎ　ｉｓ　Ｖａｌｉｄ」が表示されている状態に対応する。
【００６６】
そして、計算式が妥当な場合に、セットボタン（Ｓｅｔ）１０−７を選択すると、計算式１０−５に表示されているユーザにより設定された新たな計算式が入力用フォームで実行可能なスクリプト言語の計算式に変換され、該入力用フォームに埋め込まれる（計算式の編集処理）。そして、選択ボタン（ＯＫ）１０−８を選択すると、図１１に示した計算式確認パネルがクローズされる。
【００６７】
以下、図１２に示すフローチャートを参照して、図１１に示した入力用フォームで実行可能なスクリプト言語の計算式への変換処理について説明する。
【００６８】
図１２は、本発明に係る情報処理装置における第２のデータ処理手順の一例を示すフローチャートであり、合計ボタン１００１に設定される、すなわち、計算式１０−５に表示されているユーザにより設定された新たな計算式が入力用フォームで実行可能なスクリプト言語の計算式への変換処理手順に対応する。なお、（Ｓ１１−１）〜（Ｓ１１−８）は各ステップを示す。
【００６９】
ステップＳ１１−１で、チェックボタン１０−６が選択指示されると、ステップＳ１１−２で、計算式１０−５に設定された計算式をＣＰＵ１１が読み取り、計算式の文法を後述するような文法チェックリストに従いチェックし、計算式の文法が妥当な場合に、ステップＳ１１−３で、計算式中のフィールド名称およびテーブルのカラム名称を切り出す。
【００７０】
そして、ステップＳ１１−４で、切り出したフィールド名称およびテーブルのカラム名称をスクリプト言語で使用する形式に変換する。次に、ステップＳ１１−５で、計算式中の項および演算子をそれぞれ対応するスクリプト言語の項および演算子に変換し、実行可能なスクリプト言語の関数を生成する。
【００７１】
次に、ステップＳ１１−６で、入力用フォームの対応するフィールドにスクリプト言語の実行を行わせる属性を付与する。そして、ステップＳ１１−７で、ステップＳ１１−４で生成したスクリプト言語を埋め込み、ステップＳ１１−８で、処理を終了する。
【００７２】
なお、計算式編集パネルは、ボタン配置時だけでなく、編集中のいつでもマウス等の操作によって開き、設定を変更することができる。
【００７３】
以下、図１２に示したステップＳ１１−２における計算式に対する文法チェックに使用する文法例について説明する。
【００７４】
▲１▼構成される計算式全体（Ｐｒｏｄｕｃｔｉｏｎ）
構成される計算式全体は計算式を変数に代入した式から構成される。
【００７５】
▲２▼計算式（Ｅｘｐｒｅｓｓｉｏｎ）
計算式は括弧，数値，変数，演算子，計算式から構成される。
【００７６】
▲３▼括弧（Ｐａｒｅｎｔｈｅｓｉｓ）
計算式では２種類の括弧「（」，「）」を使用する。開き括弧「（」および閉じ括弧「）」の組は一対でマッチしなければならない。一組の括弧は計算式全体を囲むことができる。括弧の組がマッチしない場合は、文法エラーとなる。
【００７７】
▲４▼数値（Ｎｕｍｂｅｒ）
数値はスクリプト言語で使用できる数値である。
【００７８】
例えばスクリプト言語として、Ｊａｖａ（登録商標）Ｓｃｒｉｐｔ言語を使用する場合、数値はＪａｖａ（登録商標）Ｓｃｒｉｐｔ言語で使用可能な正数型または浮動小数点の数値と同じである。正数型の数値は８進数、１０進数、１６進数のＪａｖａ（登録商標）Ｓｃｒｉｐｔ言語の形式である。数値の形式でエラーがある場合は文法チェックでエラーとなる。
【００７９】
▲５▼変数（Ｖａｒｉａｂｌｅ）
使用できる変数はフィールド名称およびテーブルのカラム名称の２種類である。
【００８０】
テーブルのカラム名称はテーブルのセルに対しては設定できない。変数名には英数字および「＿」を使用できる。変数名の先頭には数値を使用することはできない。
【００８１】
▲６▼演算子（Ｏｐｅｒａｔｏｒ）
演算子は単項演算子（ｕｎａｒｙ　ｏｐｅｒａｔｏｒ）または二項演算子（ｂｉｎａｒｙ　ｏｐｅｒａｔｏｒ）から構成される。単項演算子は、「＿」，「Ｓｕｍ」，「Ａｖｇ」である。なお、「＿」演算子は変数の符号を反転する。「Ｓｕｍ」演算子はテーブルのカラム変数に対して適用され、テーブルのカラムの合計を計算する。「Ａｖｇ」演算子はテーブルのカラム変数に対して適用され、テーブルのカラムの平均を計算する。二項演算子は四則演算「＋」，「−」，「＊」，「／」である。
【００８２】
単項演算子は優先順位が最も高い。単項演算子は右から左に結合する。二項演算子の「＊」および「／」は他の「＋」および「−」よりも高い優先順位を持つ。二項演算子は左から右に結合する。変数「０」で割られた場合は、文法チェックでエラーとなる。
【００８３】
以下、図１１に示した計算式確認パネル等の操作により作成されたフォームの実行モード処理例について説明する。
【００８４】
ここで、入力用フォームが所望のものとなった場合は一旦このファイルは、オペレータの操作によりメモリにセーブされる。図９に示されるメニューバーには、実行モード変更の手段が配置されている。これまで行った作業は、編集モードであり、入力用フォームの作成および編集を行ったものである。
【００８５】
これに対して、実行モードへの変更を行うことができる。実行モードでは、図９に示した印刷ボタン９０２が選択可能状態となる。なお、印刷ボタン９０２は、編集モードでは機能しないため、選択不可の状態であった。実行モードでは、作成された入力用フォームに対し、実際のデータ入力が可能である。生成されたテキストに対して、データの入力を行う。この状況は、図１３に示される。
【００８６】
図１３は、本発明に係る情報処理装置におけるフォーム処理状態を説明する図であり、図１に示したディスプレイ１５上に実行モード中の入力フォームへのデータ入力状態に対応する。
【００８７】
図１３において、テーブルの第１行１２−１は、コードが「１１０」、品名が「ＥＯＳ（商品名）」，単価が「５２０」、数量が「１」、小計が「５２０」のデータが入力されている。同様にテーブルの第２行１２−２には、コードが「１１１」、品名が「ＩＸＹ（商品名）」，単価が「４００」、数量が「１」、小計が「４００」のデータが入力されている。この入力が行われたとき、スクリプトの実行により、第１行１２−１の小計「５２０」と、第２行１２−２の小計「４００」との合計額「９２０」が計算され、小計の合計を表示する合計フィールド１２−３には「９２０」が自動的に表示される。
【００８８】
すべてのデータを入力後、印刷ボタン１２−４を選択すると、図７に示されたテキストフィールドを示すデータとマージされ、図３に示した形式のキーと値のペアのいわゆる後付データが作成される。
【００８９】
このとき、スクリプト言語により自動的に計算された結果は破棄され、後付データを出力フォームテンプレートとマージすることにより、後付データから計算式により印刷データが再計算され、印刷された帳票が得られる。
【００９０】
上記実施形態によれば、あらかじめ作成された入力フォームの未定義フィール度に対して、データ入力段階で、ユーザが意図する計算式を定義して、入力データにその計算式結果を反映させた帳票を印刷処理することができる。
【００９１】
したがって、従来のような１つのフィールドの定義を変更する際に、全てのフィールドの定義処理等を行うことなく、簡単な操作で、適時に修正編集してユーザが意図する入力フォームへカスタマイズすることできる。
【００９２】
以下、図１４に示すメモリマップを参照して本発明に係る情報処理装置で読み出し可能なデータ処理プログラムの構成について説明する。
【００９３】
図１４は、本発明に係る情報処理装置で読み出し可能な各種データ処理プログラムを格納する記憶媒体のメモリマップを説明する図である。
【００９４】
なお、特に図示しないが、記憶媒体に記憶されるプログラム群を管理する情報、例えばバージョン情報，作成者等も記憶され、かつ、プログラム読み出し側のＯＳ等に依存する情報、例えばプログラムを識別表示するアイコン等も記憶される場合もある。
【００９５】
さらに、各種プログラムに従属するデータも上記ディレクトリに管理されている。また、各種プログラムをコンピュータにインストールするためのプログラムや、インストールするプログラムが圧縮されている場合に、解凍するプログラム等も記憶される場合もある。
【００９６】
本実施形態における図６，図１２に示す機能が外部からインストールされるプログラムによって、ホストコンピュータにより遂行されていてもよい。そして、その場合、ＣＤ−ＲＯＭやフラッシュメモリやＦＤ等の記憶媒体により、あるいはネットワークを介して外部の記憶媒体から、プログラムを含む情報群を出力装置に供給される場合でも本発明は適用されるものである。
【００９７】
以上のように、前述した実施形態の機能を実現するソフトウエアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【００９８】
この場合、記憶媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００９９】
プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク，ハードディスク，光ディスク，光磁気ディスク，ＣＤ−ＲＯＭ，ＣＤ−Ｒ，磁気テープ，不揮発性のメモリカード，ＲＯＭ，ＥＥＰＲＯＭ等を用いることができる。
【０１００】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１０１】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１０２】
上記実施形態によれば、出力用フォームデータから入力用フォームを自動生成することを可能とし、ユーザにおける入力フォーム作成の負荷を軽減することができるとともに、印刷用フォームデータから自動生成された入力フォームの編集を可能とし、データ入力効率の良い適切な入力フォームの作成を容易にすることができる。
【０１０３】
【発明の効果】
以上説明したように、本発明によれば、選択されて読み出されるテンプレートで定義されている各数値入力フィールドに対するデータ入力中に、前記複数の数値入力フィールド中で未定義となっているいずれかの数値入力フィールドを判別し、未定義であると判別された数値入力フィールドに対して、スクリプト言語に基づく所定の計算式を定義して前記テンプレートの未定義の数値入力フィールドに埋め込み、該埋め込まれたスクリプト言語に基づく所定の計算式に基づく計算結果を該当する数値入力フィールドの入力データに反映させるので、テンプレートを利用して数値入力フィールドに数値データを入力している状態で、定義済みの数値入力フィールドに対してはその計算式を確認したり、未定義の数値入力フィールドに対してユーザが意図する計算式をスクリプト言語で直接定義して、該定義された計算式が埋め込まれた数値入力フィールドに対して入力される数値入力データを反映させた帳票処理を自在に行うことができるという効果を奏する。
【図面の簡単な説明】
【図１】本発明の一実施形態を示す情報処理装置の構成を説明するブロック図である。
【図２】図１に示した情報処理装置の外部記憶装置１４で管理される印刷用フォームのテンプレート例を示す図である。
【図３】図２に示したフォームテンプレートに合成される後付けデータの構成例を示す図である。
【図４】図１に示した外部記憶装置に格納されたフォームテンプレートデータのフォーマット例の概要を示す図である。
【図５】図１に示したディスプレイに表示される入力フォーム作成ウインドウの表示例を示す図である。
【図６】本発明に係る情報処理装置における第１のデータ処理手順の一例を示すフローチャートである。
【図７】図４に示した可変データフィールドに対応するテキストフィールド情報の保持例を示す図である。
【図８】図５に示したフォーム作成画面における入力フィールド編集処理例を示す図である。
【図９】図５に示したフォーム作成画面における実行モード時の入力フィールド編集処理例を示す図である。
【図１０】図８に示したフォームに対する自動計算フィールド作成編集状態を説明する図である。
【図１１】図１に示したディスプレイ上に表示される計算式確認パネルの一例を示す図である。
【図１２】本発明に係る情報処理装置における第２のデータ処理手順の一例を示すフローチャートである。
【図１３】本発明に係る情報処理装置におけるフォーム処理状態を説明する図である。
【図１４】本発明に係る情報処理装置で読み出し可能な各種データ処理プログラムを格納する記憶媒体のメモリマップを説明する図である。
【符号の説明】
１１　ＣＰＵ
１２　ＲＯＭ
１３　ＲＡＭ
１４　外部記憶装置
１５　ディスプレイ
１６　キーボード
１７　マウス
２０　プリンタ
【図１】
2004078375.tif 000003
【図２】
2004078375.tif 000004
【図３】
2004078375.tif 000005
【図４】
2004078375.tif 000006
【図５】
2004078375.tif 000007
【図６】
2004078375.tif 000008
【図７】
2004078375.tif 000009
【図８】
2004078375.tif 000010
【図９】
2004078375.tif 000011
【図１０】
2004078375.tif 000012
【図１１】
2004078375.tif 000013
【図１２】
2004078375.tif 000014
【図１３】
2004078375.tif 000015
【図１４】
2004078375.tif 000016