(57)【特許請求の範囲】
【請求項１】
複合フォームを編集する複合フォーム編集装置においてＣＰＵをフォーム作成プログラムに基づき制御させる複合フォーム編集方法であって、
前記フォーム作成プログラムに基づき、フォームデータと、該フォームデータと合成されるフィールドデータの属性を定義する複数のフィールド属性データとを含む部品フォームを作成し、フォームデータ格納部に格納する部品フォーム作成工程と、
前記部品フォーム作成工程で作成される複数の部品フォームを、部品フォーム順序で１ページにまとめた構造の複合フォームデータを編集する複合フォーム編集工程と、
前記複合フォーム編集工程により編集される複合フォームデータの注目ページに含まれる複数の部品フォームの各フィールド属性データをシリアル番号と共に一覧表示するフィールド一覧表示工程とを含み、
前記部品フォームには、当該部品フォームに含まれる複数のフィールド属性データに対する当該部品フォーム内でのフィールド順序が定義されており、
前記フィールド一覧表示工程では、前記フィールド属性データに対応するシリアル番号を初期化し、前記注目ページに含まれる複数の部品フォームの部品フォーム順序に従って前記フォームデータ格納部に格納されている部品フォームを順次読み込み、読み込まれた部品フォームで定義されている複数のフィールド属性データのフィールド順序に従ってシリアル番号をひとつ増加させて表示することを当該部品フォームに前記フィールド属性データがある間繰り返し、当該部品フォーム内のすべてのフィールド属性データの表示後、前記注目ページに含まれる次の順序の部品フォームを読み込むことで、前記注目ページに含まれるすべての部品フォームで定義されているフィールド属性データの表示とシリアル番号の増加と表示とを繰り返すことを特徴とする、前記複合フォーム編集装置においてＣＰＵをフォーム作成プログラムに基づき制御させる複合フォーム編集方法。
【請求項２】
前記部品フォームには、当該部品フォームに含まれる複数のフィールド属性データに対して当該部品フォーム内でのフィールド順序がフィールド形式毎に定義されており、
前記フィールド一覧表示工程では、注目ページ内で一意的に順序づけられた前記フィールド属性データを、前記注目ページ内におけるフィールド形式毎に一意的な順序と対応づけた一覧として表示することを特徴とする請求項１に記載の複合フォーム編集方法。
【請求項３】
前記フィールド一覧表示工程では、前記一覧の表示中に、該一覧に含まれる部品フォームが編集された場合に、注目ページ内のフィールドを、編集された部品フォームに基づいて順序づけし直して前記一覧を再表示することを特徴とする請求項１または２に記載の複合フォーム編集方法。
【請求項４】
前記フィールド一覧表示工程では、前記一覧から所望のフィールドが選択され、フィールド属性データの編集が指示された場合、選択されたフィールドを編集対象として、そのフィールドを含む部品フォームを表示することを特徴とする請求項１乃至３のいずれか１項に記載の複合フォーム編集方法。
【請求項５】
前記複合フォームデータの注目ページにおけるプレビュー表示を行うプレビュー画面表示工程を更に含み、
前記プレビュー画面表示工程では、編集ステータスがＯＮの部品フォームと編集ステータスがＯＦＦの部品フォームとを識別可能に表示することを特徴とする請求項１乃至４のいずれか１項に記載の複合フォーム編集方法。
【請求項６】
複合フォームを編集する複合フォーム編集装置であって、
フォームデータと、該フォームデータと合成されるフィールドデータの属性を定義する複数のフィールド属性データとを含む部品フォームを作成し、フォームデータ格納部に格納し、
作成される複数の部品フォームを、部品フォーム順序で１ページにまとめた構造の複合フォームデータを編集し、
編集される前記複合フォームデータの注目ページに含まれる複数の部品フォームの各フィールド属性データをシリアル番号と共に一覧表示し、
前記部品フォームには、当該部品フォームに含まれる複数のフィールド属性データに対する当該部品フォーム内でのフィールド順序が定義されており、
前記フィールド属性をシリアル番号と共に一覧表示する際に、前記フィールド属性データに対応するシリアル番号を初期化し、前記注目ページに含まれる複数の部品フォームの部品フォーム順序に従って前記フォームデータ格納部に格納されている部品フォームを順次読み込み、読み込まれた部品フォームで定義されている複数のフィールド属性データのフィールド順序に従ってシリアル番号をひとつ増加させて表示することを当該部品フォームに前記フィールド属性データがある間繰り返し、当該部品フォーム内のすべてのフィールド属性データの表示後、前記注目ページに含まれる次の順序の部品フォームを読み込むことで、前記注目ページに含まれるすべての部品フォームで定義されているフィールド属性データの表示とシリアル番号の増加と表示とを繰り返すことを特徴とする複合フォーム編集装置。
【請求項７】
前記部品フォームには、当該部品フォームに含まれる複数のフィールド属性データに対して当該部品フォーム内でのフィールド順序がフィールド形式毎に定義されており、
前記フィールド属性をシリアル番号と共に一覧表示する際に、注目ページ内で一意的に順序づけられた前記フィールド属性データを、前記注目ページ内におけるフィールド形式毎に一意的な順序と対応づけた一覧として表示することを特徴とする請求項６に記載の複合フォーム編集装置。
【請求項８】
前記フィールド属性をシリアル番号と共に一覧表示する際に、前記一覧の表示中に、該一覧に含まれる部品フォームが編集された場合に、注目ページ内のフィールドを、編集された部品フォームに基づいて順序づけし直して前記一覧を再表示することを特徴とする請求項６または７に記載の複合フォーム編集装置。
【請求項９】
前記フィールド属性をシリアル番号と共に一覧表示する際に、前記一覧から所望のフィールドが選択され、フィールド属性データの編集が指示された場合、選択されたフィールドを編集対象として、そのフィールドを含む部品フォームを表示することを特徴とする請求項６乃至８のいずれか１項に記載の複合フォーム編集装置。
【請求項１０】
前記複合フォーム編集装置は、前記複合フォームデータの注目ページにおけるプレビュー表示を行い、
前記プレビュー表示を行う際には、編集ステータスがＯＮの部品フォームと編集ステータスがＯＦＦの部品フォームとを識別可能に表示することを特徴とする請求項６乃至９のいずれか１項に記載の複合フォーム編集装置。
【請求項１１】
コンピュータにより複合フォームを編集する複合フォーム編集方法を実行させるためのプログラムを記録したコンピュータ可読の記憶媒体であって、前記プログラムは、
フォームデータと、該フォームデータと合成されるフィールドデータの属性を定義する複数のフィールド属性データとを含む部品フォームを作成し、フォームデータ格納部に格納する部品フォーム作成工程と、
前記部品フォーム作成工程で作成される複数の部品フォームを、部品フォーム順序で１ページにまとめた構造の複合フォームデータを編集する複合フォーム編集工程と、
前記複合フォーム編集工程により編集される複合フォームデータの注目ページに含まれる複数の部品フォームの各フィールド属性データをシリアル番号と共に一覧表示するフィールド一覧表示工程とを含み、
前記部品フォームには、当該部品フォームに含まれる複数のフィールド属性データに対する当該部品フォーム内でのフィールド順序が定義されており、
前記フィールド一覧表示工程では、前記フィールド属性データに対応するシリアル番号を初期化し、前記注目ページに含まれる複数の部品フォームの部品フォーム順序に従って前記フォームデータ格納部に格納されている部品フォームを順次読み込み、読み込まれた部品フォームで定義されている複数のフィールド属性データのフィールド順序に従ってシリアル番号をひとつ増加させて表示することを当該部品フォームに前記フィールド属性データがある間繰り返し、当該部品フォーム内のすべてのフィールド属性データの表示後、前記注目ページに含まれる次の順序の部品フォームを読み込むことで、前記注目ページに含まれるすべての部品フォームで定義されているフィールド属性データの表示とシリアル番号の増加と表示とを繰り返すことを特徴とする記憶媒体。
【請求項１２】
前記部品フォームには、当該部品フォームに含まれる複数のフィールド属性データに対して当該部品フォーム内でのフィールド順序がフィールド形式毎に定義されており、
前記フィールド一覧表示工程では、注目ページ内で一意的に順序づけられた前記フィールド属性データを、前記注目ページ内におけるフィールド形式毎に一意的な順序と対応づけた一覧として表示することを特徴とする請求項１１に記載の記憶媒体。
【請求項１３】
前記フィールド一覧表示工程では、前記一覧の表示中に、該一覧に含まれる部品フォームが編集された場合に、注目ページ内のフィールドを、編集された部品フォームに基づいて順序づけし直して前記一覧を再表示することを特徴とする請求項１１または１２に記載の記憶媒体。
【請求項１４】
前記フィールド一覧表示工程では、前記一覧から所望のフィールドが選択され、フィールド属性データの編集が指示された場合、選択されたフィールドを編集対象として、そのフィールドを含む部品フォームを表示することを特徴とする請求項１１乃至１３のいずれか１項に記載の記憶媒体。
【請求項１５】
前記プログラムは、コンピュータにより前記複合フォームデータの注目ページにおけるプレビュー表示を行うプレビュー画面表示工程を更に実行させ、
前記プレビュー画面表示工程では、編集ステータスがＯＮの部品フォームと編集ステータスがＯＦＦの部品フォームとを識別可能に表示することを特徴とする請求項１１乃至１４のいずれか１項に記載の記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、例えばフィールドデータとオーバーレイされるフォームデータ等を編集するフォーム編集方法及び装置及びコンピュータ読取り可能なプログラムが格納された記憶媒体に関するものである。
【０００２】
【従来の技術】
従来、契約や取引などの明細に帳票が広く使われている。保険や金融機関での取引では、契約の種類に応じた罫線や図形をあらかじめ用紙に印刷し、契約の時点で顧客情報をプリンタ等を使って印刷するプレプリント方式が採られてきた。生命保険、損害保険のような商品の種類の多い業種では、使われる帳票の種類も多くなり、事前に印刷して準備すべき帳票も多岐にわたる。
【０００３】
近年、埋込まれるデータと共に罫線や表、商標などを白紙に印刷して帳票に仕上げる帳票作成システムが実用化されてきている。事前に帳票を印刷して保管しておくコストを省き、なにより体裁が更新された場合に古い帳票を廃棄する無駄が発生しなくなった。
【０００４】
帳票印刷・閲覧システムでは帳票の体裁を記述するフォームデータファイルと、帳票の枠内に埋め込まれるべき顧客データを記述するフィールドデータファイルが使われている。フォーム情報は帳票の種類毎に用意されるもので、次の３つの要素を含んでいる。すなわち、枠線や罫線や商標などの図形情報、商品名や店舗の住所一覧や約款などの固定文字情報、そしてデータファイルから供給されるデータが重ね合わされる領域とその出力属性とを規定するフィールド情報である。
【０００５】
フォーム情報は、フォームエディタとよばれる編集アプリケーションで作成される。前記の３つの要素を効率よく作成したり編集できるように、図形描画機能、文字列入力機能、属性設定機能などが盛り込まれている。
【０００６】
フィールドデータは、フォーム情報で定義されたフィールドの順に数値や文字列のデータを並べたもので、一般にはカンマ記号で各データを区切ったテキストである。一綴りの帳票に定義されているフィールドの個数がすなわち１レコード分のデータの個数であり、過不足なく用意しなければならない。１枚の帳票に定義されたフィールドには続き番号（シリアル番号）が与えられ、各フィールドを区別するためのフィールド名称としての役割を持たせる。
【０００７】
フィールドデータはファイルの先頭から各フィールドにシリアル番号順に埋め込まれる。複数のページから構成される帳票であっても考え方は同じであり、各ページ毎に全フィールドにシリアル番号が振られている。
【０００８】
帳票は、商品構成や社会環境、法制度の変化に伴い、変更しなければならない時がある。例えば住所表記や商標の変更など小さな変化であっても、フォーム情報ファイルを更新しなければならない。プレプリント方式に比べると更新に要するコストは小さくなるが、商品構成が多岐にわたる業種においては準備しているフォーム情報ファイルの数も多くなり、それらすべてに同じ変更作業を施すのは容易な作業ではない。作業の間違いや変更を忘れてしまうおそれがある。
【０００９】
そのために部品フォームと呼ぶファイルを用意し、フォーム情報ファイルからそれを参照することでひとつのフォームを構成する方式が提案されてきた。部品フォームファイルは、フォーム情報ファイルと同等の前記３要素を含み、単体でフォーム情報ファイルとして利用することも可能である。このようなフォーム情報を複合フォーム情報と呼び、複合フォーム情報を編集するための複合フォームエディタと呼ばれるソフトウエアツールも提供されている。
【００１０】
部品フォームは複数のフォーム情報ファイルで共通に利用できる。例えば社章を記述した部品フォームを用意すれば、社章を組み込むべき帳票を、社章を含むフォーム情報ファイルから参照させればよい。社章の変更があったとしても、部品フォームひとつを更新するだけで当該部品を利用している帳票全てに変更が加えられることになる。
【００１１】
【発明が解決しようとする課題】
このような、複数の部品フォームを利用したフォーム情報（以下、複合フォーム情報）では、部品フォームに序列を与えている。登録、追加される順序を基本とするが、入れ替えることも可能である。削除された場合には、その後に定義されている部品フォームが繰り上がるが、部品フォームの更新だけでは序列に変化はない。
【００１２】
部品フォームを利用することで帳票の管理は容易になった反面、フィールドデータの作成には十分な配慮を要するようになってしまった。帳票閲覧・印刷時にフィールドデータファイルの先頭から読み込まれるデータは、序列化された部品フォーム順に各フィールドに埋め込まれることになる。ユーザは部品フォームの序列を把握し、適切に読み込まれるようにフィールドデータファイルを作成しなければならない。
【００１３】
従来の複合フォームエディタでは、部品フォームごとの前後関係（序列）しか見ることができず、各部品内で定義されているフィールドを表示させる機能がなかった。結果として、複数の部品フォームが登録されたページに設けられたフィールドを一覧させるには、複数個のフォームエディタを起動するしか方法がなかった。複数個起動したフォームエディタにそれぞれ部品フォームを読込ませ、ユーザの把握した部品フォームの順序に合わせてエディタの画面をならべ、各部品フォームに含まれるフィールドの一覧を表示させておくことになる。すなわち、各部品フォームの序列と、部品の中に定義されたフィールドの序列を結び付ける一覧方法が提供されておらず、その結び付けの作業はユーザがやらなければならなかった。
【００１４】
これはフィールドデータを作成する時点で重い負担をユーザに与えることになっていた。フィールドデータは、複合フォーム情報に関連付けられた部品フォームの序列に従って各フィールドに埋めこまれていくが、部品フォームごとのフィールド一覧では、部品フォームごとに各フィールドのシリアル番号が先頭から振られる。序列の終わりの方に関連付けられた部品フォームのフィールドが、ページ先頭から数えて何番目のフィールドに相当するかを知るには、ユーザが数え上げて行かなければならないのである。
【００１５】
たとえば作成されたフィールドデータを追っていくユーザが、あるページの先頭から５０番目に読込まれるべきデータの種類や型を知りたい、と思ったとする。当ページには複数の部品が関連付けられているため、関連づけられた順番に各部品のフィールド数を数え、５０番目に達するまで辿らなければならない。それまで数えてきたフィールドの累計を覚えながら、部品フォームの序列を意識して、ようやく目的の５０番目のフィールドが判明するのである。
【００１６】
すなわち、従来の複合フォームエディタあるいはフォームエディタを用いた場合、出力時には、フィールドデータとフォーム情報のフィールドとは、複合フォームの先頭のフォームの先頭のフィールドから末尾のフォームの末尾のフィールドまで、一対一に対応づけられるのに対して、ユーザはその対応付けを知ることができなかった。
【００１７】
また、部品フォームの表示上には各フィールドの識別子を表示することで、フィールド一覧中における対応フィールドを探すことは簡単であったが、フィールド一覧に表示された特定のフィールドが、部品フォーム上のどのフィールドであるかを探し出しことは、手間のかかる作業であり、特にフィールド数が多い部品フォームの場合には、その作業は困難ですらある。
【００１８】
本発明は上記従来例に鑑みてなされたもので、複合フォームに登録されている部品フォームの全フィールドをページ毎に順序づけて一覧でき、フィールドデータの
また、部品フォームの編集に伴ってフィールドの定義が変更されても、正しいフィールドの一覧を提供できるフォーム編集方法及び装置を提供することを目的とする。
【００１９】
また、フォームとは別途供給されるフィールドデータのページ内における順序を利用者が簡単に正しく知ることができるフォーム編集方法及び装置を提供することを目的とする。
【００２０】
また、フィールド一覧中の項目から部品フォーム中のフィールドを簡単に見いだして編集できるフォーム編集方法及び装置を提供することを目的とする。
【００２１】
【課題を解決するための手段】
上記目的を達成するために本発明は次のような構成からなる。すなわち、複合フォームを編集する複合フォーム編集装置においてＣＰＵをフォーム作成プログラムに基づき制御させる複合フォーム編集方法であって、前記フォーム作成プログラムに基づき、フォームデータと、該フォームデータと合成されるフィールドデータの属性を定義する複数のフィールド属性データとを含む部品フォームを作成し、フォームデータ格納部に格納する部品フォーム作成工程と、前記部品フォーム作成工程で作成される複数の部品フォームを、部品フォーム順序で１ページにまとめた構造の複合フォームデータを編集する複合フォーム編集工程と、前記複合フォーム編集工程により編集される複合フォームデータの注目ページに含まれる複数の部品フォームの各フィールド属性データをシリアル番号と共に一覧表示するフィールド一覧表示工程とを含み、前記部品フォームには、当該部品フォームに含まれる複数のフィールド属性データに対する当該部品フォーム内でのフィールド順序が定義されており、前記フィールド一覧表示工程では、前記フィールド属性データに対応するシリアル番号を初期化し、前記注目ページに含まれる複数の部品フォームの部品フォーム順序に従って前記フォームデータ格納部に格納されている部品フォームを順次読み込み、読み込まれた部品フォームで定義されている複数のフィールド属性データのフィールド順序に従ってシリアル番号をひとつ増加させて表示することを当該部品フォームに前記フィールド属性データがある間繰り返し、当該部品フォーム内のすべてのフィールド属性データの表示後、前記注目ページに含まれる次の順序の部品フォームを読み込むことで、前記注目ページに含まれるすべての部品フォームで定義されているフィールド属性データの表示とシリアル番号の増加と表示とを繰り返すことを特徴とする、前記複合フォーム編集装置においてＣＰＵをフォーム作成プログラムに基づき制御させる。
【００２２】
また好ましくは、前記部品フォームには、当該部品フォームに含まれる複数のフィールド属性データに対して当該部品フォーム内でのフィールド順序がフィールド形式毎に定義されており、前記フィールド一覧表示工程では、注目ページ内で一意的に順序づけられた前記フィールド属性データを、前記注目ページ内におけるフィールド形式毎に一意的な順序と対応づけた一覧として表示する。
【００２３】
また好ましくは、前記フィールド一覧表示工程では、前記一覧の表示中に、該一覧に含まれる部品フォームが編集された場合に、注目ページ内のフィールドを、編集された部品フォームに基づいて順序づけし直して前記一覧を再表示する。
【００２４】
また好ましくは、前記フィールド一覧表示工程では、前記一覧から所望のフィールドが選択され、フィールド属性データの編集が指示された場合、選択されたフィールドを編集対象として、そのフィールドを含む部品フォームを表示する。
【００２５】
また好ましくは、前記複合フォームデータの注目ページにおけるプレビュー表示を行うプレビュー画面表示工程を更に含み、前記プレビュー画面表示工程では、編集ステータスがＯＮの部品フォームと編集ステータスがＯＦＦの部品フォームとを識別可能に表示する。
【００２６】
【発明の実施の形態】
［第１の実施の形態］
本発明に係る複合フォームエディタについて説明する前に、フォームオーバレイ処理全体についてそのあらましを述べる。図８は複合フォームエディタが実行されるコンピュータシステムを示すブロック図である。
【００２７】
図８において、ＣＰＵ８０１はＨＤ（ハードディスク）８０５に格納されているアプリケーションプログラム、プリンタドライバプログラム、ＯＳを実行し、ＲＡＭ８０３にプログラム実行に必要な情報、ファイルなどを一時的に格納する制御を行う。ＲＡＭ８０３はＣＰＵ８０１の主メモリ、ワークエリア等として機能する。ＲＯＭ８０４は基本Ｉ／Ｏプログラム等のプログラム、文書処理に使われるフォントデータ、テンプレート用データ等の各種データを記憶する。
【００２８】
ＦＤＤ８０６はフレキシブルディスクドライブであり、ＦＤＤ８０６を通じてＦＤ８０７に記憶されたプログラム等を本コンピュータシステムにロードすることができる。
【００２９】
図１０は、フォーム作成プログラムを含む、オーバーレイ印刷全体についての処理の流れを示している。フォーム編集プログラム（以後フォームエディタと呼ぶこともある）３１１により作成されたフォームあるいは複合フォームは、ＨＤ８０５などに用意されたフォームデータ格納部３１２に格納される。フォームは、オーバーレイされる画像データで、図形や文字、あるいはドットイメージを含む。また複合フォームは、ページを単位として構成されるフォームで、各ページは部品となるフォームを重ね合わせて構成される。また、ページには両面や複写といった特殊なページも定義できる。各フォーム（複合フォームを含む）は、フォームそのものを表すフォームデータ３１２ａと、フォームと合成される印字データについて、その位置や文字種等を表したフィールド属性データ３１２ｂとを含む。これらデータはひとつのフォームデータファイルにまとめられていても良い。なお、これ以降、複合フォームデータをＦＣＸデータ、複合されておらず、最小の単位となるフォームデータをＦＣＰデータと呼ぶことがある。また、以下ではＦＣＸデータを単に画像データ、ＦＣＰデータを部品画像データと呼ぶこともある。
【００３０】
これらフォームデータは、所定のランタイムライブラリ３１５によってプリンタ３２が解釈可能な形式のフォームプリントデータ３１６ａに変換されて、ＨＤ１５内に確保されたプリンタデータ格納部３１６に格納される。
【００３１】
一方、フォームオーバーレイ印刷される印字データは、適当な業務ファイル３１３により生成され、テキストデータ格納部３１４に格納される。このデータはオーバーレイされる各フィールドを区分できる形式であればよく、例えばＣＳＶ形式と呼ばれる、一般的に利用されている形式を用いることができる。この印字データも、ランタイムライブラリ３１５によってプリンタ３２が解釈できる形式の印字プリントデータ３１６ｂに変換され、プリントデータ格納部３１６に格納される。
【００３２】
このようにして作成されたフォームプリントデータ及び印字プリントデータは、オペレーティングシステム３１７及びプリンタドライバ３１８によってプリンタ３２などに出力され、そこで合成されて印刷される。
【００３３】
＜複合フォームエディタの機能＞
以上がフォームオーバーレイ印刷のあらましであるが、ここで図面を参照しながら、本実施形態のフォーム作成プログラム（フォームエディタ）について説明する。
【００３４】
図１１は、フォームエディタ起動後、フォームの新規作成を利用者が指定した場合の表示画面の例である。ウインドウ５０１の内部には、その上部にメニュー行が表示され、その下に新規作成するオブジェクトが何であるかを選択するウインドウ５０２が表示される。ここでは、フィールドデータ、フォーム、複合データの３種が選択できる。フィールドデータ欄４０３が選択されると、それ以降は、図１０のフィールド属性ファイル３１２ｂを編集する手順に入る。フォーム欄４０４が選択されると、１ページの部品フォームデータを編集する手順に入る。部品フォームデータは、それ単独でも１ページ分のフォームデータとなり得る。
【００３５】
複合フォーム欄４０５が指定されると、図１２に示す複合フォームデータ編集画面に移る。複合フォームデータ編集画面では、編集対象となっている複合フォームデータの構造がツリー表示欄６０２に表示される。この画面上では、ポインティングデバイスを用いて、画面上の指定したオブジェクトを移動したり、消去したり、あるいは挿入したり、キーボードからオブジェクトの名称を変更するなどといったフォーム編集の操作ができる。またフォーム内のフィールド属性等を編集するフィールド編集も行える。すでにある複合フォームを編集する場合には、その複合フォームデータファイルの名を指定してフォームエディタを呼び出せばよい。それによりフォームデータ格納部３１２から複合フォームデータが読み出され、その構造を反映したツリーが表示される。
【００３６】
また、複合フォーム表示欄（あるいはプレビュー欄）６０１には、複合フォーム中において、選択されているページの画像が表示される。この際、表示される画像は、複合フォームで定義された順序で部品フォームが重ね合わされて画像とは限らない。ツリービューで選択されているアイテムが部品フォームの場合には、その部品フォームを含むページがプレビュー欄に表示されるが、その際には、例えば選択されている部品フォームを他の部品フォームと識別可能な状態で表示する。例えば、選択されている部品フォームと他の部品フォームとの輝度を変えたり、あるいは、選択されていない部品フォームを特定の色で表示する。こうして選択された部品フォームを他の部品フォームと識別しやすいように表示した上で、選択された部品フォームの編集操作を可能としている。
【００３７】
なお図１２はフォームそのものではなくフィールド編集画面を示している。メニュー６０３から「フォーム編集」を選択することで、フォーム編集に切り替わり、逆にフォーム編集画面からフィールド編集画面を選択することでフィールド編集を行える。フィールド編集画面では、各フィールドのシリアル番号６０４を表示できる。シリアル番号については後述する。さらにメニュー６０３から「フィールド一覧」を選択すれば、フィールド属性の一覧がシリアル番号順のリストとして表示される。これら表示により、フォーム上のフィールドと、そのフィールド属性とを利用者は対応づけることができる。この点についても後述する。
【００３８】
図１３（ａ）は、複合フォームを表す複合フォームデータファイルの一例の構造を表す。図１３では、複合フォームデータ「Ｔｅｓｔ．ｆｃｘ」は、「ｃ：￥Ｐｒｏｇｒａｍ  Ｆｉｌｅｓ￥Ｆｃｐｒｏ￥ＦＯＲＭＷＯＲＫ」なるディレクトリに保存されている。その内容は、ページ数フィールド１０１が３であり、全部で３印刷ページを含むことが示される。ページ名１０２は、定義された印刷ページの名称であり「Ｎｅｎｋｉｎ０１」である。繰返し回数は、そのページを繰り返す回数を表す。ページ種別フィールド１０４は標準ページとなっており、両面や複写などではない、通常のページであることを示している。ファイル名フィールドはフルパスで表示されており、その最後にファイル名「Ｎｅｎｋｉｎ０１．ｆｃｐ」が書き込まれている。すなわち、この印刷ページは、部品フォームとして「Ｎｅｎｋｉｎ０１．ｆｃｐ」だけを含むことがわかる。
【００３９】
次の印刷ページＮｅｎｋｉｎ０２は、３つの部品フォーム「Ｎｅｎｋｉｎ０２．ｆｃｐ」「Ｎｅｎｋｉｎ０３．ｆｃｐ」「Ｎｅｎｋｉｎ０４．ｆｃｐ」を含む。
【００４０】
図１３（ａ）の複合フォームデータをツリーで表現した図が図１３（ｂ）である。ツリービューは、複合フォームデータの内容を正確に表現しており、その構造を直感的に理解しやすい形式で表現している。
【００４１】
＜ページの表示手順＞
次に図１５〜２０として、図１２の画面ツリービューにおいてページや部品フォームが選択された際の、プレビュー画面６００の表示手順を示す。
【００４２】
図１５において、まず、選択されているページあるいは選択されている部品フォームを含むページにおいて、最初の部品フォームの入手を試みて（ステップＳ２０１）、部品フォームが存在するか判定し（ステップＳ２０２）、存在すればその部品フォームの画像を表示する（ステップＳ２０３）。そして、次の部品フォームを入手して（ステップＳ２０４）、ステップＳ２０２に戻り、部品フォームがなくなるまでページの表示処理を行う。ここで、部品フォームの順序は、図１３（ａ）に示したように、ページに含まれる部品フォームファイルの並んだ順序でよい。
【００４３】
図１６にステップＳ２０３の部品フォーム表示処理を示す。まず、表示する部品フォームのステイタスを変数ＬＳにセットする（ステップＳ３０１）。部品フォームのステイタスには編集ステータスと表示ステータスがあり、それぞれＯＮまたはＯＦＦの値をとる。
【００４４】
次に、ＬＳが表示ＯＮかどうか判定し（ステップＳ２０２）、表示ＯＦＦならば処理を抜ける。表示ＯＮならば、そのレイヤに属する最初の図形を入手し（ステップＳ３０３）、図形があるかどうか判定し（ステップＳ３０４）、図形がなければ処理を抜ける。図形があればその図形の表示を行う（ステップＳ３０Ｓ）。図形表示処理が終われば、同じ部品フォームに属する次の図形を入手し（ステップＳ３０６）、ステップＳ３０４に戻り、同じ部品フォームに属する図形がなくなるまで図形表示処理を行う。
【００４５】
図１７はステップＳ３０５の図形表示処理を示す。まず、図形の種別を判定し（ステップＳ４０１）、ベクター図形ならベクター図形表示処理を行い（ステップＳ４０２）、文字なら文字表示処理を行い（ステップＳ４０３）、イメージならイメージ表示処理を行い（ステップＳ４０４）、処理を抜ける。
【００４６】
図１８はステップＳ４０２のベクター図形表示処理である。まず、線色と面色を入手してそれぞれ変数ＬＣ、ＦＣにセットし（ステップＳ５０１）、部品フォームのステイタスＬＳが編集ＯＮかどうか判定し（ステップＳ５０２）、編集ステータスがＯＦＦならば、ＬＣ、ＦＣそれぞれの明るさを一定値大きくする（ステップＳ５０３）。色の明るさの値を大きくすると、同じ色合いのまま薄くすることができる。次に、ＬＣ、ＦＣを用いてベクター図形の描画を行う（ステップＳ５０４）。
【００４７】
このようにすると、表示ステータスＯＦＦの部品フォームに属するベクター図形は表示されず、表示ステータスＯＮかつ編集ステータスＯＮの部品フォームに属するベクター図形は通常の表示がされ、表示ステータスＯＮかつ編集ステータスＯＦＦの部品フォームに属するベクター図形は通常よりも薄い色で表示がされる。
【００４８】
同様に、図１９に示したステップＳ４０３の文字表示処理では、まず、文字色を入手して変数ＣＣにセットし（ステップＳ６０１）、部品フォームのステイタスＬＳが編集ステータスＯＮかどうか判定し（ステップＳ６０２）、編集ステータスＯＦＦならば、ＣＣの明るさを一定の値を大きくする（ステップＳ６０３）。次に、ＣＣを用いて文字の描画を行う（ステップＳ６０４）。
【００４９】
同様に、図２０に示したステップＳ４０４のイメージ表示処理は、まず、最初のピクセルを入手し（ステップＳ７０１）、ピクセルがあるかどうか判定し（ステップＳ７０２）、ピクセルがなければ処理を抜ける。ピクセルがあれば、ＬＳが編集ステータスＯＮかどうか判定し（ステップＳ７０３）、編集ステータスＯＦＦならば、ピクセルの明るさを一定の値を大きくする（ステップＳ７０４）。次に、ピクセルのドットを描画し（ステップＳ７０Ｓ）、次のピクセルを入手し（ステップＳ７０６）、ステップＳ７０２に戻り、ピクセルがなくなるまでピクセル描画処理を行う。
【００５０】
以上のようにして、ページあるいは部品フォームを選択して表示させると、部品フォームが選択されている場合には、その部品フォームを編集対象であるとして通常の色で表示して、選択された部品フォームと同じページに含まれる選択されていない部品フォームを薄く表示することができる。また、部品フォームが選択されていなければ、指定されたページに含まれる部品フォームをすべて通常通りに表示することができる。このため、選択した部品フォームを編集用バッファに格納しておき、編集機能を使用可能状態にしておけば、ページ全体の画像を見ながら指定した部品フォームを編集できる。
【００５１】
＜フィールドデータの説明＞
図２は、複合フォーム情報による帳票の作成例を示す図である。帳票はフォーム情報ファイル（複合フォームデータファイル）とフィールドデータファイルの２種類のファイルから構成されるが、フォーム情報ファイルは部品フォームへの関連付けを行っており、実質的には部品フォームとフィールドデータにより帳票が作成される。部品フォーム２０１、２０２、２０３が同じページに関連付けられているとする。このフォーム情報にフィールドデータ２０４を重ねることで帳票２０５が形成される。一般にフィールドデータは、２０４に示されるようにカンマや改行文字で区切られているが、データを区切ることのできる構造を持っていれば同様に説明可能である。本実施例では、このようにして帳票を作る帳票閲覧・印刷システムを想定している。
【００５２】
まず当該システムにおける帳票作成の方式を述べた後、複数の部品フォームの関連付けを行って帳票を定義する複合フォームエディタでのフォーム一覧について説明する。各部品フォームファイルは、図示しないフォームエディタ、フィールドデータファイルは図示しないデータ作成アプリケーションにより作成される。フォーム情報を構成する３つの要素、図形情報、固定文字情報、フィールド情報を例示すると次のようになる。２３１のイメージや、２０１フォーム中に描かれた罫線が図形情報となり、２２４の文字列が固定文字情報である。フィールド情報は２１１、２１２の表を埋めるように定義され、あるいは２２１、２２２、２２３の各項目を埋める位置にも定義されている。
【００５３】
図３において、フィールド情報の定義されている様子を説明する。表３０１は、図２の部品フォーム２０１中に見られる表を取り出したものである。表のマスを埋めるようにフィールド番号ＶＡＲ００１からＶＡＲ００８の８フィールドが定義されている。ＶＡＲ００２にはＣＯＳＴ１、ＶＡＲ００４にはＣＯＳＴ２というようにフィールド名称を与えているが、ＶＡＲ００１、ＶＡＲ００３などはフィールド名称を持たない。フィールド名称を定義されていないフィールドに対しては、各部品フォームで一意に決まるフィールド番号をフィールド名称として利用する。フィールドにデータを埋め込む順序はシリアル番号の小さい順であり、枠３０２に示すように、シリアル番号に従ってＶＡＲ００１、ＶＡＲ００２の順に埋められる。
【００５４】
図４は、複合フォームエディタの持つ復数の部品フォームを関連づけて帳票を定義する機能を説明するための図である。図４では、帳票を構成する各ページがひとつあるいは複数個の部品フォームファイルに関連付けられていることが判る。ページ１（４０１）には、部品フォームＡ４０５、部品フォームＢ４０６が関連づけられているが、ページ２（４０２）は部品フォームＣ４０７だけを関連づけている。ページ１（４０１）、ページ４（４０４）では部品フォームＡを共通に使っているが、２つめのフォームは、部品フォームＢ４０６と部品フォームＤ４１０を利用している。
【００５５】
ページ２（４０２）とページ３（４０３）は、同じ部品フォームＣに関連づけてあるが、各部品フォームのフィールドに埋め込まれるデータまでもが同じなわけではない。フィールドデータファイルに記録されているデータは、複合フォーム中において定められたページ順に、また、各ページにおいては定められた部品フォームの順に、また、各部品フォームにおいてはシリアル番号に対応づけられて、先頭から順にフィールドに埋められる。ページ及び部品フォームの順序は、図１３（ａ）に示した複合フォームデータにおける配置の順序でよい。
【００５６】
そのため、図４で上位に位置する部品フォームから順にフィールドが埋められることになる。すなわち部品フォームＡ４０５の全フィールドにシリアル番号順に埋め込まれた後で、部品フォームＢ４０６のフィールドを満たすようになる。同様にして、ページ２の部品フォームＣで定義されているフィールドにデータを埋めた後、ページ３の部品フォームＣで定義されているフィールドを埋めるようにフィールドデータファイルを読む。
【００５７】
＜フィールド一覧＞
図５に、フィールド一覧を表示させた様子を示す。フィールド一覧は、複合フォームエディタ等のアプリケーション中の任意の領域を使って表示される。ウィンドウシステムをベースとするオペレーティングシステム上での表示例がフィールド一覧５００である。指定されたページ欄５０１で指定されたページに関連付けられた全部品フォームの持つフィールドを一覧表示している。
【００５８】
フィールド番号５０２は、当該ページにおいて一意に決まる番号である。部品フォームの境界を越え一連の続き番号となっており、本実施例ではフィールド番号をそのままシリアル番号として利用している。フィールド番号は、部品フォームが切り替わっても、数値はそのまま増加させる。たとえば、フィールド番号ＶＡＲ０００３にあるフィールドとＶＡＲ０００４にあるフィールドが別の部品フォームに定義されている場合でも、ユーザはそれを意識すること無くフィールド一覧を把握できる。各部品フォームを作成する際にはＶＡＲ０００１から振られるフィールド番号であるが、フィールド一覧表示ではページ内で一続きのシリアル番号として扱えるように振り直しを行う。
【００５９】
フィールド名５０３は、定義されたままのフィールド名を表示する。フィールド形式５０４は、利用可能なフィールドの種別を表している。フィールド形式毎にデータの与え方が異なるため、フィールド一覧でも型式欄５０５ごとに区別して表示を行う。本実施例では、フィールド形式ごとにチェックボックスにより表示の有無を指定させ、図５ではすべての形式が選択された混在表示状態となっている。フィールド形式とは別に表示のためのデータ型５０６を属性に与え、表示させている。
【００６０】
フィールド一覧はウィンドウ５００を使った表示の他に、印刷ボタン５０７、ファイル出力ボタン５０８の押下によって指示されるコマンドによって一覧印刷したり、ファイルに書き出したりさせることが可能である。いずれもユーザがフィールドデータの検証などに利用しやすいよう、行番号や、罫線等によりフィールドの序列が明確化されている。
【００６１】
また、本実施例でのフィールド一覧表示では、フィールドの序列を入れ替えるための上移動ボタン５０９、下移動ボタン５１０を設けてある。これは同一部品フォーム内に限って序列がひとつ上位、または下位のフィールドと順序を入れ替える機能を持つ。また編集ボタン５１１により、フィールド属性や形式、フィールド名を修正したり、特性のフィールドを削除することも可能である。この編集ボタンを操作すると、図１２のようなフィールド編集画面に切り替わり、フィールド属性を編集することができる。そのとき、フィールド一覧で選択されていたフィールドが、フィールド編集画面においても選択状態となり、ユーザはただちにそのフィールドを編集することができる。
【００６２】
このほか、一覧表示に列挙させる項目を指定する機能を呼び出すボタン５１３や、ページ単位での一覧ではなく、部品フォーム単位に一覧させる表示方法の切り替えのためのボタン５１２も設けてある。
【００６３】
ページ欄５０１などで参照するページ指定が変更された場合、フィールド一覧も、新たに指定されたページ内で定義されているフィールド一覧を表示し直す。
【００６４】
複合フォームエディタ上で、部品フォームファイルが追加、削除、あるいは部品フォームファイルの更新といった操作が行われた場合、操作された部品フォームが表示しているページに関連づけられているならばフィールド一覧は更新されて表示される。
【００６５】
＜フィールド一覧の表示処理＞
図１は、選択されたページに関連づけられた各部品フォームに含まれるフィールド属性データから、フィールド一覧を作成して表示する処理のフローチャートである。図１のフローチャートは、フィールド一覧の出力が指示された場合や、複合フォームエディタが読み込んでいる複合フォームに関連付けられた部品フォーム自体、あるいは部品フォームどうしの関係が更新される度に実行される。すなわち、部品フォームの追加、削除、移動、および部品フォームそのものの更新が行われた時点である。
【００６６】
まず、シリアル番号を表す変数を初期化する（Ｓ１０１）。序列の最初に位置する部品フォームファイルを読み込む（Ｓ１０２）。読み込んだ部品フォームを検索し、次のフィールドがあるか判定する（Ｓ１０３）。フィールドがあれば、フィールド形式毎にシリアル番号をひとつ増加させて表示し（Ｓ１０４）、その右側にフィールド名を表示し（Ｓ１０５）、その更に右側にその他のフィールド属性（Ｓ１０６）、例えば、フィールドの割り当てられた位置や文字数、フォントや色などを（Ｓ１０４）表示する。
【００６７】
当該部品フォーム内に次のフィールドが定義されていれば、シリアル番号を増加させて同じように表示する。当該部品フォーム内のすべてのフィールド情報を表示後、次の序列に位置する部品フォームファイルの有無を判定し（Ｓ１０７）、あればそれをを読み込み（Ｓ１０２）、同様の処理を行う。関連づけられている全ての部品フォームのフィールド情報を表示してフィールド一覧は描画終了する。
【００６８】
なお、図１ではフィールドを読む毎に表示しているが、メモリ上にフィールド一覧を格納し、最後にまとめて表示しても良い。
【００６９】
以上のようにしてフィールド一覧を出力することで、選択された１ページに関連づけられた部品フォームに定義されている全フィールドをフィールドデータの読み込まれる順に一覧表示させることにより、フィールドデータファイルのデータの順序をオペレータに知らしめることが容易になる。このため、フィールドデータの作成や検証の際に、各ページ毎のフィールドと、フィールドデータとの照合が容易になり、オペレータの負担が軽くなるり生産性を向上できる。
【００７０】
＜フィールド編集への移行＞
図１４は、図５における編集ボタン５１１が操作された際の手順のフローチャートである。まず、フィールド一覧で利用者により選択されているフィールドの、部品フォーム内におけるシリアル番号を記憶する（ステップＳ１４１）。選択されているフィールドがなければ、そのことを示す値が記憶される。次に、図１２に示したフィールド編集画面を、指定されたページについて、選択されているフィールドがあれば、そのフィールドを含む部品フォームを編集できるようにして表示する（ステップＳ１４２）。選択されているフィールドがなければ、指定されているページに含まれる部品フォームをそれが定義されている順に重ねてページを表示する。最後にステップＳ１４１で記憶されたフィールドを選択状態にしておく（ステップＳ１４３）。すなわち、ただちに選択されていたフィールドを編集できるようにして、フィールド編集画面に移行する。記憶されていたフィールドは、表示上でも選択状態として、例えば反転したり、枠を表示するなどして表示する。特定の部品フォームを編集可能な状態で表示するには、図１５〜図２０で説明したとおり、その部品フォームを、他の部品フォームと識別可能に、例えば色や輝度を変えたり最も上に重ねるようにして表示すればよい。このようにして、選択された部品フォームだけを編集用のバッファメモリに格納しておけば、選択された部品フォームをユーザは編集することができる。なお、フィールド一覧におけるフィールドの選択は、キーボードやポインティングデバイスから行われる。
【００７１】
この手順により、フィールド一覧で選択しておいたフィールドが選択状態になっているため、そのフィールドについて、ただちに属性の変更等の編集を施すことができる。
【００７２】
＜コンピュータ製品としての複合フォームエディタ構成＞
本実施例に示す複合フォームエディタは、図６に示すメモリマップ６００のようにしてコンピュータに導入され、特に説明しない帳票作成システムの一部、または単独のアプリケーション６０３として動作する。メモリ上には、基本Ｉ／Ｏプログラム６０１やＯＳ６０２が導入されている。フォーム情報６０４やフィールド一覧６０５のためにもメモリ上の領域が確保されている。その他ワークエリア６０６を使って、一時的な処理等を行う。
【００７３】
また、図８のＦＤ８０７には本実施例で説明する複合フォーム編集方法を具備した複合フォームエディタプログラムと関連データを格納することで、そのフレキシブルディスクの内容をコンピュータにロードして本複合フォームエディタを実現できる。そのフレキシブルディスクの内容は図７に示される。
【００７４】
図７において、ボリューム情報７０１はＦＤの情報を示す。ディレクトリ情報７０２はファイルの配置を示す。本実施例で説明する複合フォームエディタプログラム７０３は、単独のアプリケーションまたは帳票作成システムの一部として記録される。関連データ７０４は複合フォームエディタにより用いられる。これらプログラム及びデータは、図６ではＦＤ内にプログラムが納めてあるが、そのはかにもＨＤに記録した状態や、ＣＤ−ＲＯＭ、ＲＯＭチップなどの記憶媒体に記録した状態でも同様に説明可能である。
【００７５】
そのうちＦＤとコンピュータの関係を示すのが図９である。図９において、ＦＤ９０２をコンピュータ９０１に読み込ませることで、本実施例で説明したフィールド定義方式を実装した複合フォームエディタをコンピュータに登録、実行させることが可能になる。
【００７６】
なお、本実施形態の図５において表示しているシリアル番号５０１により、データの読み込まれる順序を示しているが、フィールド一覧には、フィールドデータファイルにおける行数や、図示していない任意のフィールドデータファイル作成アプリケーションにおける入力位置指標など具体的意味を持つ数値、記号等で順序を表示させることもできる。
【００７７】
また、フィールドデータは、フィールド一覧の上から下へ向かってデータが読み込まれるものと決めておき、シリアル番号の表示を省くこともできる。
【００７８】
【発明の効果】
以上説明したように、１ページに関連づけられた部品フォームに定義されている全フィールドをフィールドデータの読み込まれる順に一覧表示させることにより、フィールドデータファイルのデータの順序をオペレータに知らしめることが容易になる。このため、オペレータの負担が軽くなるり生産性を向上できる。
【００７９】
また、部品フォームの編集に伴ってフィールドの定義が変更されても、正しいフィールドの一覧を提供できる。
【００８０】
また、フィールド一覧中の項目から選択したフィールドを簡単に編集することができる。
【図面の簡単な説明】
【図１】フォーム一覧を作成するための処理の流れを示すフローチャートである。
【図２】複数部品フォームによる帳票作成を示す概念図である。
【図３】フィールド情報を示す概念図である。
【図４】部品フォームと帳票のページの関係を示す図である。
【図５】フィールド一覧を示す図である。
【図６】複合フォームエディタがコンピュータに導入された際のメモリマップの図である。
【図７】フロッピーディスク内部のデータの配置を示すアロケーションマップの図である。
【図８】コンピュータのブロック図である。
【図９】コンピュータとフロッピーディスクの関係を示す図である。
【図１０】フォームオーバレイ処理の概要を示す図である。
【図１１】フォームエディタの起動画面の例を示す図である。
【図１２】複合フォームの編集画面の一例を示す図である。
【図１３】複合フォームデータの一例のツリー表示及びその内容を示す図である。
【図１４】フィールド一覧からフィールド編集へ移行する手順のフローチャートである。
【図１５】複合フォーム中のページを表示する手順のフローチャートである。
【図１６】部品フォームの表示処理の手順を示すフローチャートである。
【図１７】図形表示処理の手順を示すフローチャートである。
【図１８】ベクター図形表示処理の手順を示すフローチャートである。
【図１９】文字表示処理の手順を示すフローチャートである。
【図２０】イメージ表示処理の手順を示すフローチャートである。
【符号の説明】
２０１〜２０３  部品フォーム
２０４  フィールドデータ
５００  フィールド一覧
５０１  シリアル番号
５０２  フィールド名称
５０５  フィールド番号
６００  メモリマップ
６０３，７０３  複合フォームエディタ
８０１  ＣＰＵ
８０２  システムバス
８０３  ＲＡＭ
８０４  ＲＯＭ
８０５  ＨＤ
８０６  ＦＤＤ
８０７，９０２  ＦＤ
８０８  ＣＲＴ
８０９  キーボード
９０１  コンピュータ本体
【図１】
0003997026.tif 000002
【図２】
0003997026.tif 000003
【図３】
0003997026.tif 000004
【図４】
0003997026.tif 000005
【図５】
0003997026.tif 000006
【図６】
0003997026.tif 000007
【図７】
0003997026.tif 000008
【図８】
0003997026.tif 000009
【図９】
0003997026.tif 000010
【図１０】
0003997026.tif 000011
【図１１】
0003997026.tif 000012
【図１２】
0003997026.tif 000013
【図１３】
0003997026.tif 000014
【図１４】
0003997026.tif 000015
【図１５】
0003997026.tif 000016
【図１６】
0003997026.tif 000017
【図１７】
0003997026.tif 000018
【図１８】
0003997026.tif 000019
【図１９】
0003997026.tif 000020
【図２０】
0003997026.tif 000021