(57)【特許請求の範囲】
【請求項１】
ネットワークを通じて利用者端末と通信可能な電子フォーム配信装置において、
電子フォームに含まれる部品を電子フォーム毎に記憶する部品管理データベースと、
各電子フォームに含まれる部品毎に、当該部品を共通部品として配置する位置を示す配置ナンバーを記憶した配置ナンバーデータベースと、
利用者端末から複数の電子フォームの指定を受信する受信手段と、
前記部品管理データベースを参照し、指定された電子フォーム毎に当該電子フォームに含まれる部品を特定する部品特定手段と、
前記部品管理データベースを参照し、電子フォーム毎に特定された部品のうち、前記複数の電子フォーム中に共通して含まれる共通部品を特定する共通部品特定手段と、
前記配置ナンバーデータベースを参照し、前記共通部品の各々について、当該共通部品を共通部入力フォーム内のどの位置に配置すべきかを示す前記配置ナンバーを取得する配置ナンバー取得手段と、
前記配置ナンバーに基づいて、前記共通部品の各々の配置を決定することにより、前記共通部入力フォームを生成する生成手段と、を備えることを特徴とする電子フォーム配信装置。
【請求項２】
前記生成手段は、前記配置ナンバーをソートすることにより得られた順序を前記共通部品の配置順として決定し、決定された配置順に従って前記共通部品を所定の配置原点から順に配置することを特徴とする請求項１に記載の電子フォーム配信装置。
【請求項３】
前記生成手段は、前記共通部品を前記配置順に従って横方向に配置することを特徴とする請求項２に記載の電子フォーム配信装置。
【請求項４】
前記配置ナンバーは、前記共通部品の前記共通部入力フォーム中における行方向位置を示す行ナンバーと、列方向位置を示す列ナンバーとを含むことを特徴とする請求項１乃至３のいずれか一項に記載の電子フォーム配信装置。
【請求項５】
前記配置ナンバーは、同一の縦方向原点を基準として配置されるべき部品を示すカテゴリナンバーを含むことを特徴とする請求項１乃至４のいずれか一項に記載の電子フォーム配信装置。
【請求項６】
前記生成手段は、前記カテゴリナンバーによりソートを行い、次に前記行ナンバーによりソートを行い、最後に前記列ナンバーによりソートを行って前記共通部品の配置順を決定することを特徴とする請求項５に記載の電子フォーム配信装置。
【請求項７】
前記配置ナンバーは、隣接して配置されるべき複数の部品を示すグループナンバーを含むことを特徴とする請求項１乃至６のいずれか一項に記載の電子フォーム配信装置。
【請求項８】
前記生成手段は、まず最初に前記グループナンバーによるソートを行い、得られた順序を前記共通部品の配置順として決定することを特徴とする請求項７に記載の電子フォーム配信装置。
【請求項９】
前記共通部入力フォームを前記利用者端末へ送信する送信手段をさらに備えることを特徴とする請求項１乃至８のいずれか一項に記載の電子フォーム配信装置。
【請求項１０】
電子フォームに含まれる部品を電子フォーム毎に記憶する部品管理データベースと、各電子フォームに含まれる部品毎に、当該部品を共通部品として配置する位置を示す配置ナンバーを記憶した配置ナンバーデータベースとを備え、ネットワークを通じて利用者端末と通信可能なコンピュータにより実行される電子フォーム配信プログラムにおいて、
利用者端末から複数の電子フォームの指定を受信する受信手段と、
前記部品管理データベースを参照し、指定された電子フォーム毎に当該電子フォームに含まれる部品を特定する部品特定手段と、
前記部品管理データベースを参照し、電子フォーム毎に特定された部品のうち、前記複数の電子フォーム中に共通して含まれる共通部品を特定する共通部品特定手段と、
前記配置ナンバーデータベースを参照し、前記共通部品の各々について、当該共通部品を共通部入力フォーム内のどの位置に配置すべきかを示す前記配置ナンバーを取得する配置ナンバー取得手段と、
前記配置ナンバーに基づいて、前記共通部品の各々の配置を決定することにより、前記共通部入力フォームを生成する生成手段として前記コンピュータを機能させることを特徴とする電子フォーム配信プログラム。
【請求項１１】
前記生成手段は、前記配置ナンバーをソートすることにより得られた順序を前記共通部品の配置順として決定し、決定された配置順に従って前記共通部品を所定の配置原点から配置することを特徴とする請求項１０に記載の電子フォーム配信プログラム。
【請求項１２】
前記生成手段は、前記共通部品を前記配置順に従って横方向に配置することを特徴とする請求項１１に記載の電子フォーム配信プログラム。
【請求項１３】
前記配置ナンバーは、前記共通部品の前記共通部入力フォーム中における行方向位置を示す行ナンバーと、列方向位置を示す列ナンバーとを含むことを特徴とする請求項１１又は１２のいずれか一項に記載の電子フォーム配信プログラム。
【請求項１４】
前記配置ナンバーは、同一の縦方向原点を基準として配置されるべき部品を示すカテゴリナンバーを含むことを特徴とする請求項１１乃至１３のいずれか一項に記載の電子フォーム配信プログラム。
【請求項１５】
前記生成手段は、前記カテゴリナンバーによりソートを行い、次に前記行ナンバーによりソートを行い、最後に前記列ナンバーによりソートを行って前記共通部品の配置順を決定することを特徴とする請求項１４に記載の電子フォーム配信プログラム。
【請求項１６】
前記配置ナンバーは、隣接して配置されるべき複数の部品を示すグループナンバーを含むことを特徴とする請求項１１乃至１５のいずれか一項に記載の電子フォーム配信プログラム。
【請求項１７】
前記生成手段は、まず最初に前記グループナンバーによるソートを行い、得られた順序を前記共通部品の配置順として決定することを特徴とする請求項１６に記載の電子フォーム配信プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、電子フォーム処理システムに関する。電子フォーム処理システムとは、これまで使用されてきた紙の伝票をコンピュータの画面上に再現し、ネットワークを使って事務手続きを行うシステムのことを言う。
【０００２】
【従来の技術】
近年、官公庁向けの各種申請手続きが電子化されてきており、利用者は電子フォームを取得して必要事項を入力することにより申請書などの電子データ（以下、「電子書類」とも呼ぶ。）を作成して官公庁に提出することができるようになりつつある。電子フォームは、官公庁や特定の企業が運営するサーバ（以下、「電子フォーム配信サーバ」と呼ぶ。）などを通じて利用者に提供される。その際、利用者が作成すべき電子書類が複数存在する場合には、電子フォーム配信サーバは、複数の電子フォームを同時にまとめて利用者の端末へ配信することになる。
【０００３】
【発明が解決しようとする課題】
しかし、複数のフォームを個別に連続して配信するだけでは、利用者は各電子フォームに対して名前や住所などの頻出項目を何度も入力する必要が生じ、利用者の負荷が非常に高くなると共に入力ミスを誘発しやすい。
【０００４】
そこで、電子フォーム配信サーバにおいて、同時に配信すべき複数の電子フォームから共通項目を抜き出し、共通項目のみを含む新しい電子フォーム（以下、「共通部入力フォーム」と呼ぶ。）を動的に生成するシステムが提案されている。この共通部入力フォームに対して利用者が入力したデータを、利用者が要求する複数の個別フォームに転記することができれば、利用者による共通項目の入力が１度で完了し、利用者の電子フォーム作成における負荷を大幅に削減することができる。
【０００５】
共通部入力フォームは、複数の電子フォーム中に含まれる共通の部品（例えば、氏名入力フィールドや住所入力フィールドのような入力項目毎の単位）を組み合わせて生成される。しかしながら、どの部品が必要であるかは申請状況によって変化するため、部品同士の関係情報を持っていないと、脈略のない項目が羅列されてしまったり、項目と項目の間に意味のないスペースが挿入されてしまうなど、大変入力しにくいフォームが生成されてしまう。
【０００６】
本発明は、以上の点に鑑みてなされたものであり、申請状況などに応じて、複数の電子フォームに含まれる共通入力項目を集めて適切な共通部入力フォームを自動生成することが可能な電子フォーム配信装置及び配信プログラムを提供することを課題とする。
【０００７】
【課題を解決するための手段】
本発明の１つの観点によれば、ネットワークを通じて利用者端末と通信可能な電子フォーム配信装置は、電子フォームに含まれる部品を電子フォーム毎に記憶する部品管理データベースと、各電子フォームに含まれる部品毎に、当該部品を共通部品として配置する位置を示す配置ナンバーを記憶した配置ナンバーデータベースと、利用者端末から複数の電子フォームの指定を受信する受信手段と、前記部品管理データベースを参照し、指定された電子フォーム毎に当該電子フォームに含まれる部品を特定する部品特定手段と、前記部品管理データベースを参照し、電子フォーム毎に特定された部品のうち、前記複数の電子フォーム中に共通して含まれる共通部品を特定する共通部品特定手段と、前記配置ナンバーデータベースを参照し、前記共通部品の各々について、当該共通部品を共通部入力フォーム内のどの位置に配置すべきかを示す前記配置ナンバーを取得する配置ナンバー取得手段と、前記配置ナンバーに基づいて、前記共通部品の各々の配置を決定することにより、前記共通部入力フォームを生成する生成手段と、を備える。
【０００８】
上記の電子フォーム配信装置によれば、利用者が操作する利用者端末と、電子フォーム配信装置とはネットワークを通じて通信可能に接続されている。電子フォーム配信装置は、例えばネットワークとしてのインターネットに接続したサーバ装置としてもよい。申請などの手続を行う利用者が、利用者端末を操作して複数の電子フォームを指定すると、電子フォーム配信装置は、部品管理データベースを参照し、指定された電子フォーム毎に、その電子フォームに含まれる部品を特定し、さらに指定された複数の電子フォームに共通して含まれる共通部品を特定する。そうして特定された共通部品は、共通部入力フォームの構成要素となる。
【０００９】
共通部品が特定されると、電子フォーム配信装置は、各共通部品についての配置ナンバーを取得する。ここで、配置ナンバーは、その共通部品を共通部入力フォーム中のどの位置に配置するかを示す情報である。よって、電子フォーム配信装置は、取得した配置ナンバーに従って、各共通部品の配置を決定し、共通部入力フォームを生成する。こうして、共通部品がその内容などに応じて適切な位置に配置された共通部入力フォームが自動生成される。
【００１０】
上記の電子フォーム配信装置の一態様では、前記生成手段は、前記配置ナンバーをソートし、得られた順序を前記共通部品の配置順を決定し、決定された配置順に従って前記共通部品を配置する。これにより、配置ナンバーのソートという単純な処理により共通部品の配置順を得ることができる。
【００１１】
上記の電子フォーム配信装置の他の一態様では、前記生成手段は、前記共通部品を前記配置順に従って横方向に配置してもよい。電子フォームに含まれる部品は一般的には横長の場合が多いので、横方向に配置することにより、横方向のずれ幅を小さくすることができる。
【００１２】
上記の電子フォーム配信装置のさらに他の一態様では、前記電子フォームに含まれる部品毎に前記配置ナンバーを記憶した配置ナンバーデータベースを備えてもよい。こうすれば、データベースから容易に配置ナンバーを取得することができる。
【００１３】
上記の電子フォーム配信装置のさらに他の一態様では、前記配置ナンバーは、前記共通部品の前記共通部入力フォーム中における行方向位置を示す行ナンバーと、列方向位置を示す列ナンバーとを含むことができる。また、前記配置ナンバーは、同一の縦方向原点を基準として配置されるべき部品を示すカテゴリナンバーを含むことができる。その場合には、前記生成手段は、前記カテゴリナンバーによりソートを行い、次に前記行ナンバーによりソートを行い、最後に前記列ナンバーによりソートを行って前記共通部品の配置順を決定する。
【００１４】
また、前記配置ナンバーは、隣接して配置されるべき複数の部品を示すグループナンバーを含むことができる。その場合には、前記生成手段は、まず最初に前記グループナンバーによるソートを行って前記共通部品の配置順を決定する。
【００１５】
また、上記の電子フォーム配信装置においては、前記共通部入力フォームを前記利用者端末へ送信する送信手段をさらに備えることができる。
【００１６】
本発明の他の観点によれば、電子フォームに含まれる部品を電子フォーム毎に記憶する部品管理データベースと、各電子フォームに含まれる部品毎に、当該部品を共通部品として配置する位置を示す配置ナンバーを記憶した配置ナンバーデータベースとを備え、ネットワークを通じて利用者端末と通信可能なコンピュータにより実行される電子フォーム配信プログラムは、利用者端末から複数の電子フォームの指定を受信する受信手段と、前記部品管理データベースを参照し、指定された電子フォーム毎に当該電子フォームに含まれる部品を特定する部品特定手段と、前記部品管理データベースを参照し、電子フォーム毎に特定された部品のうち、前記複数の電子フォーム中に共通して含まれる共通部品を特定する共通部品特定手段と、前記配置ナンバーデータベースを参照し、前記共通部品の各々について、当該共通部品を共通部入力フォーム内のどの位置に配置すべきかを示す前記配置ナンバーを取得する配置ナンバー取得手段と、前記配置ナンバーに基づいて、前記共通部品の各々の配置を決定することにより、前記共通部入力フォームを生成する生成手段として前記コンピュータを機能させる。
【００１７】
【発明の実施の形態】
以下、図面を参照して本発明の好適な実施の形態について説明する。
【００１８】
［システム構成］
図１に、本発明の実施形態にかかる電子フォーム処理システムの概略構成を示す。図１に示す電子フォーム処理システム１においては、利用者が使用する利用者端末２と、電子フォーム配信サーバ１０と、フォーム情報提供者の端末４と、手続先端末５とがネットワーク３を介して通信可能に接続されている。ネットワーク３の好適な例はインターネットである。
【００１９】
利用者は、電子フォームに必要事項を入力して申請書、届出書その他各種の電子書類を作成し、官公庁などの手続先端末５へ提出する個人又は企業などである。利用者端末２は、個人や企業が所有するパーソナルコンピュータや携帯型端末装置などとすることができる。利用者端末２には、利用者が電子フォームに対する入力作業を行うためのブラウザソフトが実装されている。
【００２０】
手続先端末５は、利用者が申請などの手続を行う相手先の端末装置であり、手続先は官公庁などの他、銀行、保険会社その他の私企業などの場合もある。
【００２１】
フォーム提供者とは、新たな電子フォームを電子フォーム配信サーバ１０へ提供する者であり、新たな電子フォームの使用が決まった場合には、フォーム提供者はその電子フォームに関する情報（体裁、項目など）を電子フォーム配信サーバ１０へ提供する。
【００２２】
フォーム配信サーバ１０は、利用者が要求した電子フォームを利用者に提供するものであり、サーバ装置１１と、電子フォームＤＢ１２と、使用部品管理データベース（ＤＢ）１３と、配置ナンバー管理ＤＢ１４と、を備える。電子フォームＤＢ１２は、各種の電子フォームを保存するデータベースである。なお、電子フォームは例えばＸＭＬデータなどにより構成することができる。
【００２３】
使用部品管理ＤＢ１２は、各電子フォームに含まれる部品を電子フォーム毎に記憶している。なお、「部品」とは、電子フォームを構成するデータの単位であり、基本的には入力項目毎に１つの部品が用意され、複数の部品の集合として電子フォームが構成されている。また、配置ナンバー管理ＤＢ１４は、後述する部品の配置ナンバーを記憶している。
【００２４】
また、サーバ装置１１内には、共通部入力フォームを生成するフォーム自動生成プログラム１６と、部品検索プログラム１７と、配置ナンバー生成プログラム１８とが実装されている。フォーム自動生成プログラム１６は、利用者が要求した複数の電子フォームに共通する部品を抽出し、共通部入力フォームを自動生成するプログラムである。部品検索プログラム１７は、新たな電子フォームが作成、提供された場合に、それに含まれる部品を抽出して使用部品管理ＤＢ１２内に登録する。また、配置ナンバー生成プログラム１８は、後述する配置ルールに従って、共通部入力フォームを自動生成する際に必要となる配置ナンバーを生成するプログラムである。なお、これら各プログラムの詳細については後述する。
【００２５】
［共通部入力フォーム］
図２に、共通部入力フォームの概念を模式的に示す。いま、利用者が図２に示す２つのフォームＡ及びＢを要求したとする。フォームＡはその構成要素として部品Ａ、Ｂ、Ｃ及びＤを含み、フォームＢはその構成要素として部品Ａ、Ｂ、Ｄ、Ｅ及びＦを含む。この場合、共通部入力フォームは、フォームＡとフォームＢに共通して含まれる部品Ａ、Ｂ及びＤを含む、フォームＡ及びフォームＢとは別個のフォームとなる。
【００２６】
利用者は、フォームＡとフォームＢを利用して手続を行う場合、フォームＡの全ての部品に入力を行った後、さらにフォームＢの全ての部品に入力を行うとすれば、結局部品Ａ、Ｂ及びＤについては同じ内容を異なるフォームに２回入力する必要が生じる。しかし、共通部入力フォームを自動生成し、利用者がそれに入力した後、共通部入力フォームに含まれる部品Ａ、Ｂ及びＤ（利用者による入力済みのもの）を各フォームＡ及びＢに転記することとすれば、利用者の重複した入力は不要となり、入力による時間及び労力を軽減することができる。
【００２７】
なお、図２の例では２つのフォームＡ及びＢについての共通部入力フォームの例を示したが、３つ以上のフォームについても同様に共通部入力フォームを作成することができる。共通部入力フォームに含められる部品（入力項目）は、利用者の氏名、住所、電話番号など、どの種の手続書類にも含まれている項目となることが一般的である。
【００２８】
本発明では、上記のような共通部入力フォームを自動生成する際に、各部品に配置ナンバーを与えることにより、複数の共通部品を適切な位置関係に配置する機能を実現する。ここで、配置ナンバーは、以下に説明する部品配置ルールに従って作成され、共通部入力フォーム中において配置される部品同士の位置関係を表す情報である。
【００２９】
［部品配置ルール］
利用者により複数の電子フォームが指定されて共通部入力フォーム中に取り入れるべき部品が決定すると、フォーム自動生成プログラム１６は、各部品のＸＭＬデータを結合して１つの共通部入力フォームを生成する。このときフォーム自動生成プログラム１６に求められる機能は次の通りである。
【００３０】
・部品同士が重なることなく配置できること。
【００３１】
・「漢字フィールド」の次に「カタカナフィールド」が配置されるなど、あらかじめ指定した配置定義を保持できること。
【００３２】
・必要な部品のみを左上原点にして詰めて配置できること。
【００３３】
このような機能を満たすため、各部品には次に説明するような配置ナンバーを振り、部品間の優先順位などを定義する。フォーム自動生成プログラム１６は、配置ナンバーでソートした結果をもとに部品の配置を行っていく。
【００３４】
共通部入力フォーム中における各部品の使用／不使用は共通部入力フォームの生成時にはじめて決定するため、共通部入力フォーム中における各部品の配置位置は、直前に配置した部品の位置を考慮して決定される。すなわち、部品に含まれる各オブジェクト（ラベルや入力フィールド）の座標は用紙に配置された時の絶対位置を表すものではなく、部品内の配置原点からの相対位置を示すものである。よって部品は１つずつ順番に配置していくことになる。
【００３５】
（１）部品の配置方向
部品の配置は、図３（ａ）に示すように、縦方向に行うものと横方向に行うものが考えられる。電子フォームにおいては一般的に、各行最初の部品の開始位置は上の行のいずれかの部品と一致していることが多い。ただし、各行２つ目以降の部品に関しては、横方向の途中から開始される配置を許容したいという要請がある。
【００３６】
図３（ｂ）のように、縦方向への配置（部品の左側を揃えて縦に配置）を行うと、図中の部品１００は点線で示すように右方向にずれて配置されてしまう。よって、各行２つ目以降の部品に関して横方向の途中から開始される配置を許容するためには横方向への配置を行うことが必要である。
【００３７】
一方、同様に縦方向に関しても、各列２つ目以降の部品に関して途中から開始される配置を許容したいという要請がある。ここで、図３（ｃ）に示すように、横方向への配置（部品の上側を揃えて横に配置）を行うと、図中の部品１０１は点線で示すように下方向へずれて配置されてしまう。よって、各列２つ目以降の部品に関して途中から開始される配置を許容するためには縦方向への配置を行うことが必要である。
【００３８】
以上より、上記２つの要請を同時に満足することはできない。つまり、縦方向への配置か横方向への配置のどちらかを優先せざるをえない。ここで、一般的には、部品を構成する各オブジェクトの大きさは高さよりも幅が大きいことが多い。また、各部品は「ラベル」＋「フィールド」のように少数のオブジェクトによる構成を想定しているため、結果的に部品の大きさも高さより幅が大きくなることが多い。よって、ずれ幅が小さくなるように、横方向で部品を配置していくことが望ましいと考えられる。即ち、各行２つ目以降の部品に関して横方向の途中から開始される配置を許容するとの要請を優先し、部品の上端が揃うように横方向へ配置することとする。
【００３９】
（２）部品の配置ナンバー
前述の通り横方向で部品を配置することを前提とし、使用部品管理ＤＢ１３内に登録された全ての部品に対して図４（ａ）に示すような配置ナンバー（カッコ内の数値）を割り当てることで、共通部入力フォームにおける各部品の配置順序を表す。
【００４０】
配置ナンバーの前２桁は行毎の開始位置および順番（即ち、列方向の位置、「列ナンバー」ともいう）を表す。各行最初の部品の場合は、上位行に配置されたいくつ目の部品と左端をあわせるかを表し、各行２つ目以降の部品の場合は、左隣の部品と一定間隔（α）をおいて配置する際の順番を意味する。但し、各行２つ目以降の部品は左隣と必ず接するように配置される。よって、図４（ｂ）の部品Ｘのような配置は行わない。また、配置ナンバーの後２桁はその部品が何行目に位置するか（上端を縦方向の何個目の部品にあわせるか、「行ナンバー」ともいう）を表し、数値が増加するたびに改行を行う。
【００４１】
こうして、フォーム自動生成プログラムは、共通部入力フォーム中に必要な部品を絞り込んだ後、各部品について予め決定されている配置ナンバーを取得し、配置ナンバーに従ってソートを行ってから配置処理を行う。
【００４２】
図４（ａ）を例にすると、いま必要となった部品がＡ〜Ｈの８種であるとき、これらの配置ナンバーを、後２桁（行ナンバー）を第１キー、前２桁（列ナンバー）を第２キーとしてソートすると、Ａ→Ｂ→Ｃ→Ｄ→Ｅ→Ｆ→Ｇ→Ｈのような配置順序が得られる。フォーム自動生成プログラムはこの順番を使用して横方向に部品データを配置して、共通部入力フォームを生成することになる。
【００４３】
（３）不要部品の配置位置詰め
ここまでは、図に例示した全ての部品を配置すると仮定して説明したが、実際に必要となる部品はユーザーからの要求に応じて動的に変化する。よって、使用しない部品がある場合には、不要な部品が本来存在した場所をそのまま空けておくのではなく、次に配置される部品をその場所に詰めて配置することが必要となる。
【００４４】
部品の配置位置詰めは、図５（ａ）に示すように、上方向に詰める方法と左方向に詰める方法とが考えられる。左詰めを優先する場合は、左方向への部品の配置を先に行い、その行の部品が全て存在しない（即ち、その行に不要部品がある）場合に初めて下側の部品を上へ詰める。一方、上詰めを優先する場合は、上方向への部品の配置を先に行い、その列の部品が全て存在しない（即ち、その列に不要部品がある）場合に初めて右側の部品を左へ詰める。
【００４５】
図５（ｂ）に、左詰め優先とした場合の不具合の例を示す。この例において、左詰めを優先すると部品Ｃの位置に部品Ｄが入り、部品Ｅがその下に配置される。よって、特に部品Ｄが縦長の部品である場合に、部品Ｂと部品Ｅとの間隔が広くなりすぎ、フォームが縦方向に間延びしてしまうという不具合がある。
【００４６】
一方、図５（ｃ）に、上詰め優先とした場合の不具合の例を示す。この例において、上詰めを優先すると、部品Ｃの位置に部品Ｅが入り、部品Ｄがその右に配置される。よって、部品Ｅと部品Ｄが共に幅が大きいと、それら部品は右側に大きくはみ出し、利用者がその共通部入力フォームを閲覧する際に横スクロールが必要となる可能性がある。
【００４７】
このように、左詰めと上詰めのいずれにも欠点が考えられるが、では上方向と左方向への位置詰めのどちらを優先すべきか。一般的に、フォームに対する入力作業を行う際、ディスプレイの性質上、利用者は横方向へのスクロールに比べて、縦方向へのスクロールの方が見やすく、作業を行いやすいといえる。よって、左方向への位置詰めを優先することとする。
【００４８】
（４）カテゴリ分け
また、こうして左詰めを優先させた場合、その時に生じる配置ずれを最小限に押さえることが要求される。配置ずれを最小限に押さえるためには、配置を行う基準、すなわち配置原点をリセットすることが必要となる。そのための具体的な手法として、「名前カテゴリ」や「住所カテゴリ」のように、関連する部品をある程度のかたまりで管理し、カテゴリが変わるたびに配置原点を再設定することとする。この際、部品の配置詰めの影響範囲は各カテゴリ内で完結させる。
【００４９】
これを実現するために、配置ナンバー中にカテゴリを表すナンバーを導入する。即ち、前述した４桁の配置ナンバーの前に、２桁のカテゴリナンバーを付加する。そして、図６に示すように、カテゴリナンバーが増加するたびに配置原点を設定し直す。図６においては、部品Ａ、Ｂ、Ｄ及びＥが１つのカテゴリに属し、部品Ｆ、Ｇ及びＨが１つのカテゴリに属す。最初の配置原点１を基準として部品Ａ、Ｂ、Ｄ及びＥを配置した後、次の部品Ｆ、Ｇ及びＨは別のカテゴリに属すので、次の配置原点２を基準として配置する。その結果、図６に示すように、カテゴリ毎にまとまった状態で部品が配置され、カテゴリナンバーが同じ部品が別のカテゴリ内に配置されることが禁止される。こうして、左詰めを優先させたときに生じる配置ずれを最小限に抑えることができる。
【００５０】
これまでの配置ルールを適用した例を図７（ａ）に示す。なお、図７（ａ）は、全ての部品Ａ〜Ｍが同一カテゴリ“０１”に属する場合の例である。実際の処理においては、部品Ａ〜Ｍについての配置ナンバー（各部品の各個内のナンバー）について、下２桁を第１キー、中２桁を第２キーとしてソートすると、Ａ→Ｂ→Ｃ→Ｄ→Ｅ→Ｆ→Ｇ→Ｈ→Ｉ→Ｊ→Ｋ→Ｌ→Ｍの順序となる。よって、この順序に従って、各部品Ａ〜Ｍを順に横方向に配置することにより、図７（ａ）の配置が得られる。
【００５１】
さて、図７（ａ）の例において、いま、部品Ｄ、Ｈ及びＪが不要であると仮定する。この場合、部品Ｄ、Ｈ及びＪを除外して同様のソートを行い、部品を配置すると、図７（ｂ）のような配置が得られ、スペースができてしまう。即ち、上記の順序に従って配置すると、部品Ｆを配置する前に部品Ｅを配置するため、部品Ｆの開始部分が部品Ｅより下方になってしまう。しかし、実際にはスペースをなくして配置したいので、部品Ｅは部品Ｉを配置した後であり、かつ、部品Ｋを配置する前に位置を決定したいという要請がある。
【００５２】
（５）グループ化
この要請を満足するため、配置詰めを完結させたい部品をグループ化し、そのグループ内の部品を優先的に配置する手法を取り入れる。具体的には、グループを示すグループナンバーを配置ナンバーの最後の２桁に付加する。即ち、配置ナンバーは以下のような構成となる。
【００５３】
＜配置ナンバーの構成＞
１、２桁：カテゴリナンバー
３、４桁：行毎の開始位置及び順番（列ナンバー）
５、６桁：行ナンバー
下２桁：グループナンバー（グループなしを０とし、以降１から順に振っていく）
このような構成の配置ナンバーを使用して、以下の手順で部品配置を実行する。
【００５４】
まず、第１キー：下２桁降順、第２キー：５・６桁昇順、第３キー：３・４桁昇順で部品をソートする。その結果、配置順として、
C → (D) → F → G → (H) → I  → A  → B → E → (J) → K → L → Mが得られる。
【００５５】
次に、下２桁のグループ内で新たな部品（「グループ部品」とも呼ぶ。）を生成し、一時保持する。このときグループ部品の配置ナンバーは、そのグループ内で最初に出現する部品の上６桁＋００を使用する。図８（ａ）の例では、部品Ｃ、Ｄ、Ｇ、Ｇ、Ｈ及びＩを含む（但し、部品Ｄ及びＨは不要部品）グループ部品が生成され、そのグループ部品の配置ナンバーは、グループ内で最初に出現する部品Ｃ（配置ナンバー＝“０１０１０２０１”）の上６桁に“００”を付加し、図８（ｂ）に示すように、グループ部品ＣＦＧＩ（配置ナンバー＝“０１０１０２００”）となる。このようなグループ化により、図７（ｂ）のようなスペースが除去できる。
【００５６】
そして、このグループ部品と他の部品と同様に扱い、再度、第１キー：下２桁降順、第２キー：５・６桁昇順、第３キー：３・４桁昇順で部品をソートする。その結果、
A  → B →  CFGI → E → (J) → K → L → M
が得られる。後は、この結果に従って各部品を横方向に配置することにより、共通部入力フォームが生成される。
【００５７】
［フォーム自動生成処理］
次に、フォーム自動生成処理について説明する。本発明による共通部入力フォームの自動生成は、まず、前提となる処理として、（１）使用部品管理データの作成処理、および、（２）配置ナンバーの生成処理を行い、その後、利用者が指定した複数の電子フォームについて、（３）共通部入力フォームの自動生成処理を実行するという順序で行われる。以下、順に説明する。
【００５８】
（１）使用部品管理データの作成処理
使用部品管理データの作成は、各電子フォームに含まれる部品を抽出して、そのリストデータを生成する処理である。即ち、各電子フォームにどの部品が含まれるかを示す情報を生成する。
【００５９】
使用部品管理データは、サーバ装置１１内の部品検索プログラム１７を実行することにより生成される。即ち、図９に模式的に示すように、フォーム提供者などから提供され、又は新たに設計された電子フォームに対して部品検索プログラム１７を実行することにより、その電子フォームに含まれる部品が抽出され、そのリストが使用部品管理データとして使用部品管理ＤＢ１３内に保存される。これにより、多数の電子フォームについて、その電子フォームに含まれる部品のリストが使用部品管理ＤＢ１３内に蓄積される。なお、部品検索プログラム１７は、例えば電子フォーム中の部品毎に付されたタグを検索することにより、その電子フォームに含まれる部品を検索することができる。
【００６０】
（２）配置ナンバーの生成処理
次に前述の配置ナンバーの生成について説明する。配置ナンバーの生成は、オペレータの作業と配置ナンバー生成プログラム１８とにより実行される。即ち、図９に概略的に示すように、フォーム提供者などから部品が提供されると、その部品を共通部入力フォームに含めた場合に他の部品との関連においてどのような位置に配置すべきかをオペレータが判断し、部品の相対関係を規定する。そして、その結果に基づいて配置ナンバー生成プログラム１８を実行して各部品についての配置ナンバーを決定する。
【００６１】
図１０に配置ナンバー決定処理の流れを示す。まず、共通部入力フォーム中に含められるべき複数の部品について、それらをどのように配置すべきがをオペレータの手作業により決定される（ステップＳ１）。なお、こうして部品を配置してできたフォームを以下、「全部品配置フォーム」と呼ぶ。なお、複数の部品の配置を決定する際には、オペレータは以下の事項を考慮する。
【００６２】
・部品同士の位置関係（部品同士の意味的なつながりを考慮して配置する順番を定義する。）
・カテゴリの指定（各部品の意味を考慮して分類し、カテゴリを越えた配置が行われないようにする。）
・優先配置部品の指定（意味的なつながりの強い部品や、大きな部品の横に存在する複数の小部品を離さずに配置するためのグループ化。）
これらを考慮し、オペレータは以下の条件を満たすように複数の部品の配置を決定し、全部品配置フォームを作成する。
【００６３】
（条件１）「漢字氏名の下にカナ氏名が配置される」のように、部品同士の意味的なつながりを考慮し、左上から順に配置する。同じ行に位置する部品は、上端が揃うように配置していく。
【００６４】
（条件２）意味的な分類を行い、カテゴリ毎にグループで囲む。その際、グループの名称にCATという名前を付ける。
【００６５】
（条件３）優先配置を行いたい部品（つながりの強い部品）をグループで囲む。その際、グループの名称にLOCという名前を付ける。
【００６６】
次に、こうして作成された全部品配置フォームを配置ナンバー生成プログラム１８に読み込むことにより、各部品について図１０に示すフローチャートに従って以下の処理を行う。即ち、まずその部品が全部品配置フォーム中の何行目に位置するかに基づいて、その部品に対応する配置ナンバー中の行ナンバーを決定する（ステップＳ２）。次に、その部品が何行目のいくつ目の部品か、及び、上位行の部品と左端が揃っているかに基づいて、その部品に対応する配置ナンバー中の列ナンバーを決定する（ステップＳ３）。
【００６７】
次に、その部品が前述のＣＡＴグループに属しているか否かに基づいて、カテゴリナンバーを決定する（ステップＳ４）。最後に、その部品が前述のＬＯＣグループに属しているか否かに基づいてグループ番号を決定する（ステップＳ５）。
【００６８】
こうして、各部品毎に配置ナンバーが決定されると、その配置ナンバーが配置ナンバー管理ＤＢ１４に保存される（ステップＳ６）。以上により、配置ナンバーの生成処理は終了する。この処理を、全部品配置フォームに含まれる全ての部品について実行することにより、共通部入力フォーム中に含められる可能性のある全ての部品についての配置ナンバーが用意され、配置ナンバー管理ＤＢ１４内に保管されることになる。
【００６９】
なお、図９に示すように、新たな部品が作成されたような場合は、その部品をそれまでの全部品配置フォーム中のどの位置に配置すべきかをステップＳ１と同様にオペレータが決定し、さらにその部品についてステップＳ２〜Ｓ６を実行して新たな部品についての配置ナンバーも配置ナンバーＤＢ１４内に追加される。こうして、新たな部品が増える毎に、配置ナンバーの見直しが行われる。
【００７０】
（３）共通部入力フォームの自動生成処理
次に、共通部入力フォームの自動生成処理について、図９及び図１１のフローチャートを参照して説明する。まず、利用者が利用者端末２を使用して電子フォーム配信サーバ１０へアクセスし、必要な電子フォームを要求する（ステップＳ１１）。サーバ装置１１はフォーム自動生成プログラムにより、使用部品管理ＤＢ１３を参照し、要求されたフォームで使用されている部品を抽出する（ステップＳ１２）。そして、フォーム自動生成プログラムは、複数の電子フォームに共通して含まれる共通部品を決定し（ステップＳ１３）、配置ナンバー管理ＤＢ１４を参照して、各共通部品の配置ナンバーを取得する（ステップＳ１４）。
【００７１】
次に、フォーム自動生成プログラム１４は、取得した複数の共通部品の配置ナンバーをソートし（ステップＳ１５）、その中に優先配置グループが含まれるか否かを決定する（ステップＳ１６）。優先配置グループが含まれる場合には、それについてグループナンバーを決定し（ステップＳ１７）、グループナンバーを含む配置ナンバーについて再度ソートを行う（ステップＳ１８）。そして、ソート結果に従って電子フォームＤＢ１２から各部品のデータファイルを取得し（ステップＳ１９）、決定された順序に従って配置することにより共通部入力フォームを生成する（ステップＳ２０）。こうして作成された共通部入力フォームは、ネットワーク３を通じて利用者端末２へ配信される。
【００７２】
［変形例など］
上記の説明における配置ナンバーの構成は単なる一例であり、行ナンバー、列ナンバーなどを他の桁に割り当てることも可能である。
【００７３】
【発明の効果】
以上説明したように、本発明によれば、部品毎に配置ナンバーを保持することにより、任意の部品が選択された場合にも、最初に決定された全部品配置フォームに従った配置順序を保ったまま共通部品の自動配置が可能となる。よって、部品同士の位置関係や、カテゴリ、優先配置グループなどの概念を保持したまま適切な順序で各共通部品が配置された共通部入力フォームを自動生成することができる。
【００７４】
また、優先配置グループによる多重ソートにより、部分的な配置詰めが可能であるため、画面上の無駄なスペースを最小限に抑えながら部品を配置することが可能となる。
【図面の簡単な説明】
【図１】本発明の実施形態にかかる電子フォーム処理システムの概略構成を示す。
【図２】共通部入力フォームの概念を模式的に示す。
【図３】部品の配置方向の検討における説明図である。
【図４】部品の配置ナンバーの説明図である。
【図５】不要部品の配置詰めの説明図である。
【図６】部品のカテゴリ分けを説明する図である。
【図７】部品の配置ルールの適用例を示す。
【図８】優先配置グループの概念を説明する図である。
【図９】本発明による共通部入力フォームの生成処理の流れを模式的に示す図である。
【図１０】配置ナンバーの生成処理のフローチャートである。
【図１１】共通部入力フォームの自動生成処理のフローチャートである。
【符号の説明】
１  電子フォーム処理システム
２  利用者端末
３  ネットワーク
４  フォーム提供者
５  手続先端末
１０  電子フォーム配信サーバ
１１  サーバ装置
１２  電子フォームＤＢ
１３  使用部品管理ＤＢ
１４  配置ナンバー管理ＤＢ
１６  フォーム自動生成プログラム
１７  部品検索プログラム
１８  配置ナンバー生成プログラム
【図１】
0003833543.tif 000002
【図２】
0003833543.tif 000003
【図３】
0003833543.tif 000004
【図４】
0003833543.tif 000005
【図５】
0003833543.tif 000006
【図６】
0003833543.tif 000007
【図７】
0003833543.tif 000008
【図８】
0003833543.tif 000009
【図９】
0003833543.tif 000010
【図１０】
0003833543.tif 000011
【図１１】
0003833543.tif 000012