(57)【要約】      （修正有）【課題】ページの遷移操作を容易にできるようにする情報処理装置、情報処理システム及び情報処理方法を提供する。【解決手段】帳票を表示手段に表示するクライアント装置における情報処理方法であって、ユーザから帳票のデータが属するグループごとの遷移指示を受け付け、受付手段により遷移指示を受け付けることに応じて、帳票のデータが属するグループの情報と、グループに属するデータを前記表示手段に表示するときのページ番号の情報とが関連付けられた関連情報に基づいて、グループごとに遷移してデータを表示させるように制御する。【選択図】図１０
2020106926.tif 000002
【特許請求の範囲】
【請求項１】
帳票を表示手段に表示する情報処理装置であって、
ユーザから帳票のデータが属するグループごとの遷移指示を受け付ける受付手段と、
前記受付手段により遷移指示を受け付けることに応じて、帳票のデータが属するグループの情報と、前記グループに属するデータを前記表示手段に表示するときのページ番号の情報とが関連付けられた関連情報に基づいて、グループごとに遷移してデータを表示させるように制御する制御手段と、
を有することを特徴とする情報処理装置。
【請求項２】
前記表示手段により表示されているデータが属するグループの情報を特定する特定手段を有し、
前記制御手段は、
前記受付手段によりグループごとの遷移指示を受け付けることに応じて、前記特定手段により特定されたグループの情報とは異なるグループの情報に関連付けられたページ番号の情報を前記関連情報から取得し、前記取得されたページ番号に遷移してデータを表示させるように制御することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記関連情報を外部装置から受信する受信手段を有し、
前記制御手段は、
前記受付手段によりグループごとの遷移指示を受け付けることに応じて、前記受信手段により受信した関連情報に基づいて、グループごとに遷移してデータを表示させるように制御することを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記制御手段は、
前記関連情報に前記帳票のデータが属する１つのグループの情報と、複数のページ番号の情報とが関連付けられている場合、前記受付手段によりグループごとの遷移指示を受け付けることに応じて、前記複数のページ番号のうち先頭または後尾のページ番号に遷移してデータを表示させるように制御することを特徴とする請求項１ないし３の何れか１項に記載の情報処理装置。
【請求項５】
前記制御手段は、
前記受付手段によりグループごとの遷移指示を受け付けた場合であっても、前記表示手段により表示されているデータが属するグループがない場合には、グループごとに遷移しないように制御することを特徴とする請求項１ないし４の何れか１項に記載の情報処理装置。
【請求項６】
前記グループに含まれる所定の種別のデータを前記表示手段に表示させるときのページ番号の情報を取得する取得手段を有し、
前記制御手段は、
前記受付手段により所定の種別のデータごとの遷移指示を受け付けることに応じて、前記取得手段により取得されたページ番号の情報に基づいて所定の種別のデータごとに遷移してデータを表示させるように制御することを特徴とする請求項１ないし５の何れか１項に記載の情報処理装置。
【請求項７】
前記取得手段は、
前記表示手段により表示されている所定の種別の第１のデータと同一の種別であって、データが異なる第２のデータを前記表示手段に表示させるときのページ番号の情報を取得し、
前記制御手段は、
前記表示手段により表示されている所定の種別の第１のデータが表示されているときに、前記受付手段により所定の種別のデータごとの遷移指示を受け付けることに応じて、前記取得手段により取得された前記第２のデータを前記表示手段に表示させるときのページ番号に遷移するように制御することを特徴とする請求項６に記載の情報処理装置。
【請求項８】
前記取得手段は、
前記グループに含まれる所定の種別のデータを前記表示手段に表示させるときのページ番号の情報に加えて表示位置の情報を取得し、
前記制御手段は、
ユーザから所定の種別のデータごとの遷移指示を受け付けるための表示アイテムを、前記取得手段により取得された表示位置を基準にして表示するように制御することを特徴とする請求項６または７に記載の情報処理装置。
【請求項９】
前記制御手段は、
前記取得手段により取得された前記第２のデータを前記表示手段に表示させるときのページ番号が、現時点で前記第１のデータを表示しているページ番号よりも前であるか後であるかに基づいて、ユーザから所定の種別のデータごとの遷移指示を受け付けるための表示アイテムを表示するように制御することを特徴とする請求項７に記載の情報処理装置。
【請求項１０】
帳票を表示手段に表示する出力ページを生成する情報処理装置であって、
帳票のデータを取得する取得手段と、
前記取得手段により取得された帳票のデータに基づいて、前記表示手段に表示するページごとの出力ページを生成する第１の生成手段と、
帳票のデータが属するグループを検出する検出手段と、
前記検出手段により検出されたグループの情報と、前記第１の生成手段により生成された出力ページを前記表示手段に表示するときのページ番号の情報と、を関連付けた関連情報を生成する第２の生成手段と、
を有することを特徴とする情報処理装置。
【請求項１１】
前記検出手段は、
前記取得手段により取得された帳票のデータのうちキーデータが同一のデータを１つのグループとして検出することを特徴とする請求項１０に記載の情報処理装置。
【請求項１２】
外部装置が前記第２の生成手段により生成された関連情報に基づいてグループごとに遷移してデータを表示することができるように、前記外部装置に前記関連情報を送信する第１の送信手段を有することを特徴とする請求項１０または１１に記載の情報処理装置。
【請求項１３】
前記検出手段により検出されたグループに属するデータから所定の種別のデータを作成する作成手段と、
前記作成手段により作成された所定の種別のデータを前記表示手段に表示させるときのページ番号を出力する出力手段と、を有することを特徴とする請求項１０ないし１２の何れか１項に記載の情報処理装置。
【請求項１４】
外部装置が前記出力手段により出力されたページ番号の情報に基づいて所定の種別のデータごとに遷移してデータを表示することができるように、前記外部装置に前記出力手段により出力されたページ番号の情報を送信する第２の送信手段を有することを特徴とする請求項１３に記載の情報処理装置。
【請求項１５】
前記出力手段は、
前記作成手段により作成された所定の種別のデータを前記表示手段に表示させるときのページ番号に加えて表示位置を出力することを特徴とする請求項１４に記載の情報処理装置。
【請求項１６】
前記第２の送信手段は、
前記外部装置が前記出力手段により出力された表示位置の情報に基づいて所定の種別のデータごとの遷移指示を受け付けるための表示アイテムを表示することができるように、前記外部装置に前記出力手段により出力された表示位置の情報を送信することを特徴とする請求項１５に記載の情報処理装置。
【請求項１７】
前記所定の種別のデータは、前記グループに属するデータから導き出されるデータであることを特徴とする請求項６〜９、１３〜１６の何れか１項に記載の情報処理装置。
【請求項１８】
前記所定の種別のデータは、前記グループに属するデータを集計したデータであることを特徴とする請求項６〜９、１３〜１７の何れか１項に記載の情報処理装置。
【請求項１９】
帳票の出力ページを生成するサーバ装置と、前記サーバ装置により生成された帳票の出力ページを表示手段に表示するクライアント装置とを有する情報処理システムであって、
前記サーバ装置は、
帳票のデータを取得する取得手段と、
前記取得手段により取得された帳票のデータに基づいて、前記表示手段に表示するページごとの出力ページを生成する第１の生成手段と、
帳票のデータが属するグループを検出する検出手段と、
前記検出手段により検出されたグループの情報と、前記第１の生成手段により生成された出力ページを前記表示手段に表示するときのページ番号の情報と、を関連付けた関連情報を生成する第２の生成手段と、を有し、
前記クライアント装置は、
ユーザから帳票のデータが属するグループごとの遷移指示を受け付ける受付手段と、
前記受付手段により遷移指示を受け付けることに応じて、前記第２の生成手段により生成された関連情報に基づいて、グループごとに遷移してデータを表示させるように制御する制御手段と、
を有することを特徴とする情報処理システム。
【請求項２０】
帳票を表示手段に表示する情報処理方法であって、
ユーザから帳票のデータが属するグループごとの遷移指示を受け付ける受付ステップと、
前記受付ステップにより遷移指示を受け付けることに応じて、帳票のデータが属するグループの情報と、前記グループに属するデータを前記表示手段に表示するときのページ番号の情報とが関連付けられた関連情報に基づいて、グループごとに遷移してデータを表示させるように制御する制御ステップと、
を有することを特徴とする情報処理方法。
【請求項２１】
帳票を表示手段に表示する出力ページを生成する情報処理方法であって、
帳票のデータを取得する取得ステップと、
前記取得ステップにより取得された帳票のデータに基づいて、前記表示手段に表示するページごとの出力ページを生成する第１の生成ステップと、
帳票のデータが属するグループを検出する検出ステップと、
前記検出ステップにより検出されたグループの情報と、前記第１の生成ステップにより生成された出力ページを前記表示手段に表示するときのページ番号の情報と、を関連付けた関連情報を生成する第２の生成ステップと、
を有することを特徴とする情報処理方法。
【請求項２２】
帳票の出力ページを生成するサーバ装置と、前記サーバ装置により生成された帳票の出力ページを表示手段に表示するクライアント装置とを有する情報処理システムの情報処理方法であって、
前記サーバ装置は、
帳票のデータを取得する取得ステップと、
前記取得ステップにより取得された帳票のデータに基づいて、前記表示手段に表示するページごとの出力ページを生成する第１の生成ステップと、
帳票のデータが属するグループを検出する検出ステップと、
前記検出ステップにより検出されたグループの情報と、前記第１の生成ステップにより生成された出力ページを前記表示手段に表示するときのページ番号の情報と、を関連付けた関連情報を生成する第２の生成ステップと、を有し、
前記クライアント装置は、
ユーザから帳票のデータが属するグループごとの遷移指示を受け付ける受付ステップと、
前記受付ステップにより遷移指示を受け付けることに応じて、前記第２の生成ステップにより生成された関連情報に基づいて、グループごとに遷移してデータを表示させるように制御する制御ステップと、
を有することを特徴とする情報処理方法。
【請求項２３】
コンピュータを、請求項１ないし１８の何れか１項に記載された情報処理装置の各手段として機能させるためのプログラム。
【請求項２４】
コンピュータを、請求項１ないし１８の何れか１項に記載された情報処理装置の各手段として機能させるためのプログラムを記録したコンピュータが読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、帳票を表示手段に表示させるのに好適な情報処理装置、情報処理システム、情報処理方法、プログラムおよび記録媒体に関するものである。
【背景技術】
【０００２】
帳票の作成方法として以下の方法がある。まず、帳票の雛型となるフォームファイルを、フォームファイル編集エディタを用いて作成しておく。次に、当該フォームファイルに対して、フィールドデータファイルをオーバレイする。つまり、フォームファイル内の各フィールドに、対応するフィールドデータを流し込んで適用する。これにより、帳票文書データ（例えばＰＤＦ形式のファイル）を作成し、必要に応じて該帳票文書データを印刷する。例えば、サーバがオーバレイを実行することで帳票文書データを作成し、クライアントコンピュータが該帳票文書データをサーバから受信して該帳票文書データの表示や印刷を行う。
【０００３】
従来、帳票は最終的に印刷されることがほとんどであったが、近年、紙の省資源化を目的として帳票を顧客へ説明する際にはタブレットデバイス等に表示して説明する運用が広がっている。帳票をタブレットデバイス等で説明する際には、インタラクティブ性が求められる。
特許文献１には、ページの一部分を拡大表示するための設定をフォームファイル名に紐付けて管理し、ページ表示の際、現在ページに対応するフォームファイル名から拡大表示設定を取得することで、拡大表示操作を簡単に行える技術が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１８−７３１２５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１では、ページの遷移操作に手間が掛かってしまうという問題がある。帳票ではデータがグループ化され、１つのグループが複数のページに亘って続いている場合がある。例えば、「東京支社」に関するページが１〜５ページに、「大阪支社」に関するページが６〜１０ページにあったとする。３ページの「東京支社」に関するページを表示しているときに、「大阪支社」のページを確認したい場合がある。このような場合、従来ではユーザが大阪支社のページであるかを目視で確認しながら１ページずつページを遷移させる遷移操作をする必要があった。特に、一部のバリアブルデータのみが異なる帳票の場合には、グループの差異を目視にて確認することが困難であり、余計に遷移操作に手間が掛かることが多かった。
【０００６】
本発明は、上述したような問題点に鑑みてなされたものであり、ページの遷移操作を容易にできるようにすることを目的とする。
【課題を解決するための手段】
【０００７】
本発明は、帳票を表示手段に表示する情報処理装置であって、ユーザから帳票のデータが属するグループごとの遷移指示を受け付ける受付手段と、前記受付手段により遷移指示を受け付けることに応じて、帳票のデータが属するグループの情報と、前記グループに属するデータを前記表示手段に表示するときのページ番号の情報とが関連付けられた関連情報に基づいて、グループごとに遷移してデータを表示させるように制御する制御手段と、を有することを特徴とする。
【発明の効果】
【０００８】
本発明によれば、ページの遷移操作を容易に行うことができる。
【図面の簡単な説明】
【０００９】
【図１】情報処理システムの構成の一例を示す図である。
【図２】ハードウェア構成の一例を示す図である。
【図３】ソフトウェアモジュールの構成の一例を示す図である。
【図４】帳票生成サーバによるオーバレイの概要を説明するための図である。
【図５】情報処理システムの処理の一例を示すフローチャートである。
【図６】フィールドデータファイルの一例を示す図である。
【図７】帳票選択画面の一例を示す図である。
【図８】第１の実施形態のオーバレイ処理の一例を示すフローチャートである。
【図９】出力ページ情報の一例を示す図である。
【図１０】グループごとの遷移処理の一例を示すフローチャートである。
【図１１】グループごとの遷移処理のプログラムの一例を示す図である。
【図１２】データグループ設定画面の一例を示す図である。
【図１３】第２の実施形態のオーバレイ処理の一例を示すフローチャートである。
【図１４】フィールドデータファイルの一例を示す図である。
【図１５】出力ページ情報の一例を示す図である。
【図１６】遷移指示用ＵＩを表示する処理の一例を示すフローチャートである。
【図１７】遷移指示用ＵＩを表示する処理のプログラムの一例を示す図である。
【図１８】遷移指示用ＵＩの一例を示す図である。
【図１９】集計行ごとの遷移処理の一例を示すフローチャートである。
【図２０】集計行ごとの遷移処理のプログラムの一例を示す図である。
【発明を実施するための形態】
【００１０】
以下、本発明に係る実施形態について図面を参照して説明する。
ここでは、まず以下で使用する用語について説明する。
・フォームファイル
フォームファイルは帳票のテンプレートとなる情報を定義したファイルである。フォームファイルは専用のフォームファイル設計エディタで編集する。ファイル内には、自社住所等の固定的な文字列や、自社企業ロゴの画像等の定義（フォームオブジェクト）が含まれる。
・フィールド
フィールドはフォームファイルに定義される、可変データ（後述するフィールドデータ）を受け取る要素である。フィールドは名前を有し、フィールドデータとは名前で関連付けられている。
【００１１】
・フィールドオブジェクト
フィールドオブジェクトはフォームファイルに定義される、フィールドに流し込まれた可変データを出力するためのオブジェクトである。フォントサイズ等の見た目は、フィールドではなくフィールドオブジェクトに設定する。フィールドとフィールドオブジェクトはフォームファイルで内部的に関連付けられている。
・フィールドデータ
フィールドデータはフォームファイル内のフィールドに流し込まれるテキスト形式のデータである。フィールドデータは、例えば「国」というフィールドに流し込まれる「日本」、「イタリア」等の個々の生データである。
【００１２】
・フィールドデータファイル
フィールドデータファイルは個々のフィールドデータを集めたファイルである。
・オーバレイ
オーバレイはフォームファイルのフィールドにフィールドデータを流し込み、フィールドオブジェクトに定義されたフォントサイズ等を考慮してレイアウト処理を行い、フォームファイルとフィールドデータを重ね合わせて、出力ページを出力することである。オーバレイの結果を紙ではなく、電子ファイルとして出力することも可能であり、以下では印刷、ＰＤＦ等の文書生成、両方の場合に使用する。
【００１３】
・データグループ
フィールドデータファイル内の各フィールドデータに着目した場合、フィールドデータを含む各レコードを「グループ」として扱える場合がある。例えば、「支社名」フィールドに対応するフィールドデータが、前後のレコードで連続して同じ「東京支社」であった場合、「支社名」フィールドのフィールドデータは同じデータグループに属するという。データグループの詳細については後述する。
・出力ページ
出力ページは、オーバレイの結果出力される印刷物もしくは文書の各ページである。出力ページの形式はＰＤＦやＳＶＧ等様々である。
【００１４】
・出力データ
出力データはオーバレイの結果、出力ページに出力されたデータである。フィールドに流し込まれたフィールドデータを、フィールドオブジェクトの設定（フォントサイズ等）で処理した結果のデータである。
・出力ページ情報
出力ページ情報は、出力データを含む出力ページに関する情報である。出力ページ情報には、各出力ページに出力されたデータグループを特定するための情報等が含まれる。また、出力ページ情報は後述するウェブ帳票閲覧画面を構築するときに利用される情報である。
【００１５】
次に、一般的なオーバレイについて説明する。
図４は、帳票生成サーバ１０１によるオーバレイの概要を説明するための図である。
フォームファイルは専用のフォームファイル設計エディタを利用して作成でき、ファイルとして保存することができる。一般的にフォームファイル４０１はフィールドデータに依存しない固定的なオブジェクト（フォームオブジェクト）と、受け取ったフィールドデータを指定した出力書式に従って表示するオブジェクト（フィールドオブジェクト）から構成される。フィールドオブジェクトを作成するには、予めフィールドデータを受け取るための項目（フィールド）を作成する必要がある。フィールドはフォームファイル設計エディタにて表示された専用の画面から作成することができる。フィールドオブジェクトを作成すると作成元であるフィールドとの関連付けが内部的に行われる。
【００１６】
表形式のフィールドオブジェクト（表オブジェクト）４０２の場合、フィールドデータをレコード単位で受け取る必要があるためレコードフィールド４０３を作成する必要がある。他のフィールドのデータの演算結果からフィールドデータを生成する形式のフィールドは計算列フィールドと定義する（不図示）。また、指定した集計方法で集計しフィールドデータを生成するフィールド形式は集計フィールドと定義する。フィールドオブジェクト４０４の場合、どのフィールドとどのような集計方法が指定されているかを表すために集計フィールド４０５を作成および設定する必要がある。フィールドオブジェクト４０４は、集計行オブジェクト４０８に配置することでデータグループ単位で出力することができる。集計行オブジェクトの出力タイミング等の設定は、後述するデータグループ設定画面１２０１で行う。
【００１７】
帳票生成サーバ１０１は、フィールドオブジェクトが定義されたフォームファイル４０１と、対応するフィールドデータファイル４０６とを読み込む。そして、帳票生成サーバ１０１は、読み込んだフォームファイル４０１とフィールドデータファイル４０６とを重ね合わせることでオーバレイを実行する。帳票生成サーバ１０１は、フィールドデータファイル４０６内の各フィールドデータを、順番に対応するフィールドに流し込み、フィールドに関連付けられたフィールドオブジェクトの描画を行う。図４にはオーバレイの出力結果４０７を示している。
【００１８】
フィールドデータファイル４０６は３レコード目でデータグループが別れている。すなわち１行目と２行目が「東京支社」のデータグループであり、３行目が「大阪支社」のデータグループである。オーバレイの出力結果４０７は、データグループごとに改ページして出力される。フィールドデータファイル４０６の東京支社のレコード数が多ければ、「東京支社」データグループの出力ページが複数ページに亘って続くことがある。
【００１９】
図１は、情報処理システムの構成の一例を示す図である。
情報処理システムは、帳票生成サーバ１０１、クライアント装置１０２を有する。
帳票生成サーバ１０１は、サーバ装置であって情報処理装置の一例である。帳票生成サーバ１０１は、クライアント装置１０２から見たときの外部装置の一例である。帳票生成サーバ１０１は、オーバレイ処理、ウェブ帳票閲覧画面の生成処理を実行して、クライアント装置１０２に表示させるための出力ページを生成する。具体的には、帳票生成サーバ１０１はテキストデータであるフィールドデータファイル４０６と所定のフォームファイル４０１とを重ね合わせて出力ページを生成し、生成した出力ページをプリンタドライバを介して電子ファイルとして生成する。また、帳票生成サーバ１０１は、生成した電子ファイル形式の出力ページを用いて、その帳票を閲覧できるウェブ帳票閲覧画面を生成する。
【００２０】
本実施形態のウェブ帳票閲覧画面は、ネットワークを介して配信できるウェブブラウザ上で動作するウェブアプリケーションである。多くの場合、これらのウェブアプリケーションは、ウェブページを表現するマークアップ言語（ＨＴＭＬ）およびウェブブラウザ上で動作するプログラミング言語（ＪａｖａＳｃｒｉｐｔ）（登録商標）により動作するアプリケーションである。なお、ウェブ帳票閲覧画面は、ウェブブラウザ上で動作するウェブアプリケーション以外、例えばコンピュータシステム上で実行するアプリケーションであってもよい。また、帳票生成サーバ１０１が出力ページおよび後述する出力ページ情報を格納したファイルのみを生成し、クライアント装置１０２は生成されたファイルを使用して後述するウェブ帳票閲覧画面を構成してもよい。
【００２１】
クライアント装置１０２は、情報処理装置の一例であり、例えばタブレットデバイスを用いることができる。クライアント装置１０２は、帳票生成サーバ１０１から見たときの外部装置の一例である。クライアント装置１０２は、帳票生成サーバ１０１からウェブ帳票閲覧画面のデータを受信して帳票を表示する。具体的には、クライアント装置１０２はグラフ描画に必要な情報を帳票生成サーバ１０１から受信し、グラフ描画を行う。また、クライアント装置１０２は、ユーザ操作を受け付けて、必要な場合にグラフ描画の更新を行う。
プリンタ１０３は、クライアント装置１０２からリクエストを受信して帳票ファイルを紙に印字する処理を行う。
【００２２】
また、帳票生成サーバ１０１、クライアント装置１０２およびプリンタ１０３はネットワーク１００により通信可能に接続されている。ネットワーク１００は例えば、インターネット等のＬＡＮ、ＷＡＮ、電話回線、専用デジタル回線、ＡＴＭやフレームリレー回線、ケーブルテレビ回線、データ放送用無線回線等を用いることができる。また、ネットワーク１００は、上述した通信回線等を組み合わせることで実現される、いわゆる通信ネットワークである。なお、ネットワーク１００はデータの送受信が可能であればよく、クライアント装置１０２から帳票生成サーバ１０１への通信手段と、クライアント装置１０２からプリンタ１０３への通信手段とが異なっていてもよい。
【００２３】
図２は、帳票生成サーバ１０１、クライアント装置１０２のハードウェア構成の一例を示す図である。
帳票生成サーバ１０１およびクライアント装置１０２は、ＣＰＵ２０１、ＲＯＭ２０２、ＲＡＭ２０３、ＨＤＤ２０４、入力装置２０５、出力装置２０６、Ｉ／Ｆ２０７等を有する。
ＣＰＵ２０１は内部バスで接続される各デバイスを直接または間接的に制御して、後述するフローチャートの処理を実現するためのプログラムを実行する。
ＲＯＭ２０２はＢＩＯＳが格納される。
【００２４】
ＲＡＭ２０３はＣＰＵ２０１のワーク領域として利用されたり、後述するフローチャートの処理を実現するためのソフトウェアモジュールをロードするために一時的に記憶するときに利用される直接記憶装置である。
ＨＤＤ（ハードディスクドライブ）２０４は基本ソフトウェアであるＯＳやソフトウェアモジュールが記憶されている間接記憶装置である。なお、ＨＤＤ２０４はＳＳＤ（ソリッドステートドライブ）等であってもよい。
【００２５】
入力装置２０５は不図示のキーボードやポインティングデバイス等である。なお、クライアント装置１０２がタブレットデバイスの場合、クライアント装置１０２の入力装置２０５はディスプレイと一体で構成されるタッチデバイスである。
出力装置２０６はディスプレイが接続される。なお、クライアント装置１０２の出力装置２０６に接続されるディスプレイは表示手段の一例に対応する。また、クライアント装置１０２がタブレットデバイスの場合、出力装置２０６にディスプレイが一体で構成される。
Ｉ／Ｆ２０７はネットワーク１００に接続するためのインタフィースである。
【００２６】
図２に示すハードウェア構成において、各装置は起動した後に、ＣＰＵ２０１がＢＩＯＳを実行することでＯＳがＨＤＤ２０４からＲＡＭ２０３に実行可能にロードされる。ＣＰＵ２０１はＯＳの動作に従って後述する各種ソフトウェアモジュールをＨＤＤ２０４からＲＡＭ２０３に随時、実行可能にロードする。各種ソフトウェアモジュールは各デバイスの協調によりＣＰＵ２０１によって実行され動作する。また、Ｉ／Ｆ２０７はネットワーク１００に接続されており、ＯＳの動作に従ってＣＰＵ２０１により制御され、上述した通信ネットワークを実現する。
【００２７】
図３（ａ）は、帳票生成サーバ１０１上で動作するソフトウェアモジュールの構成の一例を示す図である。各ソフトウェアモジュールは、図２に示すＨＤＤ２０４に記憶されており、上述したようにＣＰＵ２０１によってＲＡＭ２０３にロードされ実行される。
帳票生成サーバ１０１は、アクセス制御部３０１、ウェブページ生成部３０２、データアクセス部３０３、出力ページ生成部３０４、データベース３０５〜３１０を有する。
【００２８】
アクセス制御部３０１は、クライアント装置１０２からのリクエストに応じてユーザ認証を行う。
ウェブページ生成部３０２は、クライアント装置１０２にレスポンスとして返すウェブページを生成する。ウェブページ生成部３０２は、上述したウェブ帳票閲覧画面を表示するウェブアプリケーションに必要なＨＴＭＬ、ＪａｖａＳｃｒｉｐｔ等のファイルも生成し、クライアント装置１０２に返す。
データアクセス部３０３は、各データベース３０５〜３１０へのアクセス処理を行う。
出力ページ生成部３０４は、データアクセス部３０３を介して読み出したフォームファイル４０１とフィールドデータファイル４０６とを重ね合わせて印刷データを生成する。また、出力ページ生成部３０４は、生成した印刷データをプリンタドライバ等のソフトウェアを利用して電子ファイルとしての出力ページを生成する。また、出力ページ生成部３０４はＳＶＧ等、別の形式への変換も行う。
【００２９】
データベース３０５は、帳票関連データを格納するデータベースである。帳票関連データは、帳票名、所有者等の帳票に関する情報を表すデータである。また、データベース３０５は、当該帳票と、フォームファイル、フィールドデータを関連付けて管理している。更に、データベース３０５は、当該帳票と、オーバレイの結果である出力ページおよび後述する出力ページ情報を関連付けて管理している。データベース３０５で管理されているデータから、例えば、ある出力ページがどのフォームファイルから生成されているか等を判別することができる。
データベース３０６は、フォームファイルを格納するデータベースである。
データベース３０７は、フィールドデータを格納するデータベースである。
データベース３０８は、出力ページ生成部３０４が生成した出力ページを格納するデータベースである。
データベース３０９は、オーバレイ処理を実行したときに生成される出力ページ情報を格納するデータベースである。
データベース３１０は、帳票部品情報を格納するデータベースである。なお、帳票部品情報は本実施形態で用いることがないために説明を省略する。
【００３０】
図３（ｂ）は、クライアント装置１０２上で動作するソフトウェアモジュールの構成の一例を示す図である。ソフトウェアモジュールは、図２に示すＨＤＤ２０４に記憶され、ＣＰＵ２０１によってＲＡＭ２０３にロードされたり、帳票生成サーバ１０１から配信されるＪａｖａｓｃｒｉｐｔプログラムを実行したりする。
クライアント装置１０２は、制御部３１１を有する。制御部３１１は、帳票生成サーバ１０１に対してリクエストを送信したり、リクエストに対してレスポンスとして返されたデータを受信したりする。また、制御部３１１はページの遷移を制御する。
【００３１】
（第１の実施形態）
次に、第１の実施形態におけるウェブ帳票閲覧画面を生成する処理について説明する。
図５は、帳票生成サーバ１０１およびクライアント装置１０２の処理の一例を示すフローチャートである。
Ｓ５０１では、ユーザがクライアント装置１０２のウェブブラウザに表示されているログイン画面でログインを指示することで、クライアント装置１０２の制御部３１１が帳票生成サーバ１０１にログインリクエストを送信する。例えば、ユーザは、ログイン画面のユーザ名入力テキストボックスとパスワード入力テキストボックスに、それぞれユーザ名とパスワードを入力してログインボタンを押下することによりログインを指示する。
Ｓ５０２では、帳票生成サーバ１０１のアクセス制御部３０１はクライアント装置１０２から受信したログインリクエストに含まれる情報に基づいてログイン処理を行う。具体的には、アクセス制御部３０１はＢａｓｉｃ認証を行い、ユーザ名とパスワードが有効であるか否かを判定する。なお、Ｂａｓｉｃ認証は一般的な認証処理であるため説明を省略する。
【００３２】
Ｓ５０３では、帳票生成サーバ１０１のウェブページ生成部３０２はログインしたユーザの情報に基づいて帳票選択画面を生成する。
図７は、帳票選択画面７０１の一例を示す図である。
帳票選択画面７０１には、ユーザ名表示部７０２、帳票リスト７０３、プレビューボタン７０４、編集可能プレビューボタン７０５、印刷ボタン７０６、ウェブフォーム編集ボタン７０７、ウェブ帳票閲覧ボタン７０８を有する。
【００３３】
ユーザ名表示部７０２は、現在ログインしているユーザ名を表示する領域である。
帳票リスト７０３は、現在ログインしているユーザが所有する帳票一覧を選択可能に表示するドロップダウンリストである。ウェブページ生成部３０２はデータアクセス部３０３を介してデータベース３０５にアクセスすることで、ユーザが所有する帳票の情報を取得することができる。
【００３４】
プレビューボタン７０４、編集可能プレビューボタン７０５、印刷ボタン７０６、ウェブフォーム編集ボタン７０７、ウェブ帳票閲覧ボタン７０８は帳票操作ボタンである。プレビューボタン７０４は帳票リスト７０３で選択された帳票名に該当する帳票のプレビューを指示するボタンである。編集可能プレビューボタン７０５は編集可能なプレビューを指示するボタンである。印刷ボタン７０６は印刷操作を指示するボタンである。ウェブフォーム編集ボタン７０７はウェブフォームの編集を指示するボタンである。ウェブ帳票閲覧ボタン７０８はウェブ帳票閲覧を指示するためのボタンである。なお、ウェブ帳票閲覧ボタン７０８以外のボタンが押下されたときの処理についての説明は省略する。
【００３５】
図５のフローチャートに戻り、Ｓ５０４では、帳票生成サーバ１０１のアクセス制御部３０１はＳ５０３で生成された帳票選択画面７０１のデータをネットワーク１００を経由してクライアント装置１０２に返す。
Ｓ５０５では、クライアント装置１０２の制御部３１１は帳票生成サーバ１０１からのレスポンスである帳票選択画面７０１のデータを受け取りウェブブラウザに表示する。
Ｓ５０６では、ユーザは帳票選択画面７０１内の帳票リスト７０３から操作したい帳票の帳票名を選択する。
【００３６】
Ｓ５０７では、ユーザは帳票選択画面７０１内のウェブ帳票閲覧ボタン７０８あるいはプレビューボタン７０４、編集可能プレビューボタン７０５、印刷ボタン７０６、ウェブフォーム編集ボタン７０７を押下する。クライアント装置１０２の制御部３１１は押下されたボタンに基づいた帳票処理リクエストを帳票生成サーバ１０１に送信する。なお、帳票処理リクエストには選択された帳票を特定する情報が含まれる。
Ｓ５０８では、帳票生成サーバ１０１のアクセス制御部３０１はクライアント装置１０２から送信された帳票処理リクエストを受信する。続いて、帳票生成サーバ１０１の出力ページ生成部３０４はデータアクセス部３０３を介して対象帳票に関連付けられたフォームファイルおよびフィールドデータファイルを取得する。
【００３７】
Ｓ５０９では、帳票生成サーバ１０１のアクセス制御部３０１はＳ５０８で受信した帳票処理リクエストがウェブ帳票閲覧画面の生成リクエストであるか否かを判定する。具体的には、アクセス制御部３０１は受信したリクエストのｔｙｐｅパラメータを解析し、値が「ｗｅｂｖｉｅｗ」の場合にウェブ帳票閲覧画面の生成リクエストであると判定する。ウェブ帳票閲覧画面の生成リクエストではない場合にＳ５１０に進み、ウェブ帳票閲覧画面の生成リクエストである場合にはＳ５１１に進む。
Ｓ５１０では、帳票生成サーバ１０１の出力ページ生成部３０４は通常の出力ページを生成するオーバレイ処理を行う。ここでは、一般的な処理になるためにＳ５１０の処理についての説明を省略する。
【００３８】
Ｓ５１１では、帳票生成サーバ１０１の出力ページ生成部３０４はＳ５０８で取得したフォームファイルおよびフィールドデータファイルを用いて、ウェブ帳票閲覧画面の出力ページを生成するオーバレイ処理を行う。
ここでは、帳票生成サーバ１０１がオーバレイ処理するときに、フィールドデータをデータグループごとに認識して出力ページ情報を生成できるように、ユーザが予めデータグループ設定画面によりデータグループ設定を行う。データグループ設定は、専用のフォームファイル設計エディタにより、１つのフォームファイルに対して行うことができる。ユーザがフォームファイル設計エディタの該当メニューからデータグループ設定を選択することでデータグループ設定画面が表示される。
【００３９】
図１２は、データグループ設定画面１２０１の一例を示す図である。
データグループ設定画面１２０１は、データグループリスト１２０２、データグループ追加ボタン１２０３、データグループ削除ボタン１２０４、ＯＫボタン１２０８、キャンセルボタン１２０９を有する。
データグループリスト１２０２には、編集中のフォームファイル内に保持されているデータグループに関する設定が列挙される。データグループ追加ボタン１２０３およびデータグループ削除ボタン１２０４は、データグループを追加したり削除したりするためのボタンである。ＯＫボタン１２０８は設定内容を反映させるためのボタンであり、キャンセルボタン１２０９は設定内容を取り消すためのボタンである。
【００４０】
図１２に示すデータグループリスト１２０２には、３つのデータグループが設定されている。データグループＩＤ１２０５はデータグループごとにフォームファイル設計エディタによって自動採番されるＩＤである。キーフィールド１２０６はデータグループを認識するキーとなるフィールドであって、ユーザにより選択される。
帳票生成サーバ１０１はここで選択されたフィールドに流し込まれるフィールドデータの内容が切替わるまでを１つのデータグループと認識する。例えば、データグループＩＤ「ｄａｔａ＿ｇｒｏｕｐ＿１」について、読み込んだフィールドデータの値が「東京支社」である間は１つのデータグループとして認識される。フィールドデータの値が「大阪支社」に切替わった場合は別のデータグループとして認識する。
【００４１】
アクション１２０７は、データグループが切替わった際に行う動作であり、ユーザにより選択される。具体的なアクションとして「なし」、「ページを切替える」、「特定の集計行を表示」等を選択できる。帳票生成サーバ１０１はオーバレイ処理中に異なるデータグループを認識した場合にアクション１２０７で選択された動作を行う。
データグループ設定画面１２０１により選択されたデータグループ設定のデータは、ネットワーク１００を経由して帳票生成サーバ１０１に送信される。帳票生成サーバ１０１は受信したデータグループ設定のデータをファームファイルに保存する。
【００４２】
次に、オーバレイ処理するフィールドデータファイル４０６について説明する。
図６は、フィールドデータファイル４０６の一例を示す図である。
フィールドデータファイル４０６には、各レコード６０１が上から下に並んでいる。各レコード６０１に含まれるフィールドデータ６０２、６０３はカンマによって区切られている。フィールドデータ６０２は、「支社名」フィールドに流し込まれるデータである。フィールドデータ６０３は、「売上高」フィールドに流し込まれるデータである。ここで、「支社名」フィールドは、データグループ設定画面１２０１にて「ｄａｔａ＿ｇｒｏｕｐ＿１」のキーフィールドに選択されている。したがって、「支社名」フィールドに流し込まれるデータが切替わった場合に、いままでのデータグループとは異なるデータグループに切替わる。図６では１レコードから４レコードまでが「東京支社」のデータグループ、５、６レコードが「大阪支社」のデータグループ、７レコードから１１レコードが「名古屋支社」のデータグループである。
【００４３】
図８は、帳票生成サーバ１０１によるフォームファイルおよびフィールドデータを用いたオーバレイ処理の一例を示すフローチャートである。図８のフローチャートは、図５に示すＳ５１１の詳細な処理である。
Ｓ８０１では、帳票生成サーバ１０１の出力ページ生成部３０４は、フォームファイルからデータグループ設定を取得する。具体的には、出力ページ生成部３０４はデータグループ設定画面１２０１から入力されたデータグループ設定のうちデータグループリストの内容（データグループＩＤ、キーフィールド、アクション）を全てＲＡＭ２０３に読み込む。
【００４４】
Ｓ８０２では、帳票生成サーバ１０１の出力ページ生成部３０４は、ＲＡＭ２０３に確保したカレントキーデータ領域を初期化する。カレントキーデータ領域は、キーフィールド１２０６に流し込まれるフィールドデータ（キーデータ）を一時的に保管するための領域である。
Ｓ８０３では、帳票生成サーバ１０１の出力ページ生成部３０４は、フィールドデータファイルから１レコード分のデータを読み込み取得する。この処理は、取得手段による処理の一例に対応する。
【００４５】
Ｓ８０４では、帳票生成サーバ１０１の出力ページ生成部３０４は、読み込んだ１レコード分のデータのうちキーデータを取得する。１レコードはカンマ等の区切り子によりフィールドデータごとに区切られている。出力ページ生成部３０４は区切り子でフィールドデータを分割しながら、フォームファイルのフィールドに順番に流し込みながらオーバレイ処理を行う。出力ページ生成部３０４はＳ８０１で取得したキーフィールド１２０６に流し込まれたフィールドデータの値を「キーデータ」と認識する。なお、キーフィールド１２０６は各データグループＩＤに対して１つずつ存在することから、複数のデータグループＩＤがあると複数のキーフィールド１２０６が存在する（図１２では３つのキーフィールド１２０６が存在する）。複数のキーフィールド１２０６が存在する場合には、複数のキーデータを取得する。また、複数のキーフィールド１２０６が存在する場合、Ｓ８０２で初期化したカレントキーデータ領域も複数となり、各カレントキーデータ領域は完全に独立して管理される。
【００４６】
Ｓ８０５では、帳票生成サーバ１０１の出力ページ生成部３０４は、Ｓ８０４で取得したキーデータがカレントキーデータ領域内のデータと異なっているか否かを判定する。Ｓ８０２において初期化された直後のカレントキーデータ領域内のデータは「“”（空文字列）」である。例えば、Ｓ８０４で読み込んだキーデータが「東京支社」だった場合には、出力ページ生成部３０４はデータが異なっていると判定する。キーデータが異なるまでのフォールドデータを１つのデータグループとするために、ここでは実質的にフィールドデータが属するデータグループを検出している。この処理は、検出手段による処理の一例に対応する。
データが異なると判定した場合にはＳ８０６に進み、データが同じであると判定した場合にはＳ８０８に進む。
【００４７】
Ｓ８０６で、帳票生成サーバ１０１の出力ページ生成部３０４は、出力ページ情報を生成する。この処理は、第２の生成手段による処理の一例に対応する。出力ページ情報は、ウェブ帳票閲覧画面を構築するときに利用される情報である。出力ページ情報は、オーバレイ処理でのみ取得できる情報が含まれる。
図９は、出力ページ情報９０１の一例を示す図である。
本実施形態の出力ページ情報９０１はファイル形式（ＪＳＯＮフォーマット）である場合について説明するが、形式は限られない。帳票生成サーバ１０１の出力ページ生成部３０４は、オーバレイ処理を行いながら出力ページ情報９０１に必要な情報を追加する。
【００４８】
出力ページ情報９０１は、データグループ情報９０２、ページ情報のリスト９０９が含まれる。
データグループ情報９０２は、データグループＩＤ９０３、キーフィールド名９０４、出力データグループ情報のリスト９０５から構成される。データグループ情報９０２は、１つのデータグループＩＤに対応する情報であり、複数になる場合もある。
出力データグループ情報のリスト９０５には、出力データグループ情報９０６が複数含まれる。出力データグループ情報９０６は、データグループのキーデータ９０７とそのデータグループの出力ページリスト９０８から構成され、あるキーデータのデータグループが、何ページ目の出力ページに出力されるかを管理する情報である。ここで、出力データグループ情報９０６は、データグループの情報と、データグループに属するフィールドデータを表示するときのページ番号の情報とが関連付けられた関連情報の一例に対応する。図９に示す出力データグループ情報９０６の例では、キーデータとして「東京支社」を含むデータグループのフィールドデータが、出力ページとしてページ番号の１ページ〜４ページに表示されることが出力されている。
ページ情報のリスト９０９は、ページ番号９１０およびデータグループＩＤ９１１をそれぞれ含む複数のページ情報９１２から構成される。ページ情報のリスト９０９は各出力ページのページ番号とデータグループＩＤとを関連付けて管理する情報である。
【００４９】
図８のフローチャートのＳ８０６に戻る。上述したようにＳ８０６では、帳票生成サーバ１０１の出力ページ生成部３０４は、出力ページ情報９０１を生成するが、全ての情報を取得していないために、現時点で取得した情報のみで生成する。具体的には、出力ページ生成部３０４は、データグループ設定のデータに基づいて、データグループ情報９０２のうちデータグループＩＤ９０３の値として「ｄａｔａ＿ｇｒｏｕｐ＿１」を出力し、キーフィールド名９０４の値として「支社名」を出力する。
また、出力ページ生成部３０４は、出力データグループ情報のリスト９０５のうち１つ目の出力データグループ情報９０６を出力する。具体的には、出力ページ生成部３０４は、取得したキーデータに基づいて、１つ目の出力データグループ情報９０６のキーデータ９０７の値として「東京支社」を出力する。なお、出力ページの構築処理が全て終わっていないため、現時点では出力ページリスト９０８には出力されない。
【００５０】
Ｓ８０７では、帳票生成サーバ１０１の出力ページ生成部３０４は、Ｓ８０４で取得したキーデータをカレントキーデータ領域に上書き保存する。具体的には、出力ページ生成部３０４は、当初カレントキーデータ領域に保存されていた「“”（空文字列）」を削除して、「東京支社」の値を保存する。
Ｓ８０８では、帳票生成サーバ１０１の出力ページ生成部３０４は、１ページ分のフィールドデータが集まったか否かを判定する。なお、上述したように出力ページ生成部３０４はＳ８０３でフィールドデータファイルから１レコードずつ読み込みを行っており、表オブジェクト４０２がない場合には１レコードを読み込めば１ページ分のデータが集まる。一方、表オブジェクト４０２がある場合には、出力ページ生成部３０４は１ページ分のデータを集めるためには複数のレコードを読み込む必要がある。１ページ分のフィールドデータが集まったと判定した場合にはＳ８０９に進み、１ページ分のデータが集まっていないと判定した場合にはＳ８１２に進む。
【００５１】
Ｓ８０９では、帳票生成サーバ１０１の出力ページ生成部３０４は、１ページ分の出力ページ生成処理を行う。この処理は、第１の生成手段による処理の一例に対応する。出力ページ生成部３０４は、フォームファイルおよびフィールドデータファイルの内容に基づいて出力ページのレイアウトを行い、文字列等の各種オブジェクトを実際に描画する。具体的には、出力ページ生成部３０４は、ＷｉｎｄｏｗｓのＧＤＩ（Ｇｒａｐｈｉｃｓ  Ｄｅｖｉｃｅ  Ｉｎｔｅｒｆａｃｅ）が提供するＴｅｘｔＯｕｔ等の関数を用いて各種オブジェクトを描画する。出力ページ生成部３０４は出力ページをＰＤＦ形式で生成する。
Ｓ８１０では、帳票生成サーバ１０１の出力ページ生成部３０４は、出力ページ情報９０１のページ情報のリスト９０９にページ情報９１２を出力する。出力ページ生成部３０４は、Ｓ８０９で１ページ目の出力ページを生成することで、１ページ目の出力ページに関連付いたデータグループＩＤの情報をページ情報９１２に出力する。具体的には、出力ページ生成部３０４は、ページ情報９１２のページ番号９１０の値に「１」を出力し、データグループＩＤ９１１の値に「ｄａｔａ＿ｇｒｏｕｐ＿１」を出力する。図９に示すページ情報９１２の例では、ページ番号の１ページとデータグループＩＤ「ｄａｔａ＿ｇｒｏｕｐ＿１」のデータグループとが関連付けて出力されている。
【００５２】
Ｓ８１１では、帳票生成サーバ１０１の出力ページ生成部３０４は、出力ページ情報９０１の１つ目の出力データグループ情報９０６の出力ページリスト９０８に、出力ページのページ番号を追加する。具体的には、出力ページ生成部３０４は現時点で空のリストにページ番号「１」を追加する。
Ｓ８１２では、帳票生成サーバ１０１の出力ページ生成部３０４は、フィールドデータファイルを末尾まで読み込んだか否かを判定する。末尾まで読み込んでいないと判定した場合にはＳ８０３に戻り、次の１レコード分を読み込む。一方、末尾まで読み込んだと判定した場合にはオーバレイ処理を終了する。
【００５３】
図５のフローチャートに戻り、Ｓ５１２では、帳票生成サーバ１０１の出力ページ生成部３０４は、Ｓ５１１で生成したＰＤＦ形式の出力ページをＳＶＧ（スケーラブル・ベクター・グラフィックス）形式の出力ページに変換する。ＰＤＦ形式の出力ページは、文字列や矩形等の各描画要素が個々のオブジェクトとして独立して保持されておらず、より基本的な線や面の描画命令の集合で構成されている。例えば、矩形の場合、原点の移動命令や線分の描画命令で矩形が構成されており、矩形としてのオブジェクトを認識できない。このため、ＰＤＦ形式のままでは、ウェブブラウザ上で各描画要素を直接、編集しづらい。したがって、出力ページ生成部３０４は、出力ページを編集しやすい形式であるＳＶＧ形式に変換する。次に、出力ページ生成部３０４は、データアクセス部３０３を介して、生成したＳＶＧ形式の出力ページをページ番号と関連付けて出力ページのデータベース３０８に格納する。また、出力ページ生成部３０４は、生成したＳＶＧ形式の出力ページを特定できる情報を帳票関連データのデータベース３０５中の該当レコードに追加する。
【００５４】
Ｓ５１３では、帳票生成サーバ１０１のアクセス制御部３０１は、Ｓ５０７の帳票処理リクエストに対して、対象帳票のウェブ帳票閲覧画面のＵＲＬの情報をクライアント装置１０２に返す。ＵＲＬの情報には、Ｓ５１２で生成したＳＶＧ形式の出力ページを特定できる情報が含まれる。本実施形態では、ＵＲＬの情報には出力ページと関連する帳票関連データの帳票名が含まれる。
Ｓ５１４では、クライアント装置１０２の制御部３１１は、Ｓ５１３で返されたＵＲＬの情報を用いてウェブ帳票閲覧画面にリダイレクトするリダイレクトリクエストを帳票生成サーバ１０１に送信する。
【００５５】
Ｓ５１５では、帳票生成サーバ１０１のウェブページ生成部３０２は、Ｓ５１４で送信されたリダイレクトリクエストの内容に基づいて、ウェブ帳票閲覧画面を生成する。ウェブ帳票閲覧画面は、ＳＶＧ形式の出力ページ、出力ページの閲覧、編集操作を制御するためのＪａｖａｓｃｒｉｐｔプログラム、画面を構成するＨＴＭＬからなる。ウェブページ生成部３０２はリダイレクトリクエストに含まれる帳票名を参照して、データアクセス部３０３を介して対象帳票に関連する出力ページをデータベース３０８から取得する。対象帳票に関連する出力ページが複数ある場合は複数の出力ページとページ番号を取得する。なお、クライアント装置１０２ではＪａｖａｓｃｒｉｐｔプログラムを用いて複数の出力ページとページ番号とを関連付けて管理する。ウェブページ生成部３０２は取得した出力ページからウェブ帳票閲覧画面を生成する。
【００５６】
Ｓ５１６では、帳票生成サーバ１０１のアクセス制御部３０１は、Ｓ５１４のリダイレクトリクエストに対して、生成したウェブ帳票閲覧画面のデータとページ番号の情報とをクライアント装置１０２に返す。
Ｓ５１７では、クライアント装置１０２の制御部３１１は、帳票生成サーバ１０１からウェブ帳票閲覧画面のデータを受け取り、ウェブブラウザに表示する。複数の出力ページがある場合には、１ページ目を最初に表示する。なお、制御部３１１は、Ｓ５１８以降での各種情報の取得処理が終了するまで、ウェブブラウザ上のウェブ帳票閲覧画面にロード中を示す表示アイテムを重ねて描画する。また、Ｓ５１８以降の処理は、クライアント装置１０２の制御部３１１が帳票生成サーバ１０１から配信されたＪａｖａｓｃｒｉｐｔプログラムに基づいて実行する。Ｊａｖａｓｃｒｉｐｔプログラムは、クライアント装置１０２のＲＡＭ２０３にブラウザプロセスと共にロードされ、ウェブブラウザ上に読み込まれたＨＴＭＬの操作やサーバへのリクエスト等を行う。
【００５７】
Ｓ５１８では、クライアント装置１０２の制御部３１１は、帳票生成サーバ１０１に出力ページ情報の取得リクエストを行う。リクエストは、画面を構成するＪａｖａｓｃｒｉｐｔプログラムからＡｊａｘを利用して、帳票生成サーバ１０１が開示するＲＥＳＴ（Ｒｅｐｒｅｓｅｎｔａｔｉｏｎａｌ  Ｓｔａｔｅ  Ｔｒａｎｓｆｅｒ）インターフェースに対して行われる。ここで、Ａｊａｘは、「Ａｓｙｎｃｈｒｏｎｏｕｓ  ＪａｖａＳｃｒｉｐｔ  ＋  ＸＭＬ」をいう。クライアント装置１０２の制御部３１１は、帳票生成サーバ１０１のＲＥＳＴインターフェースに対して帳票名を指定して各種情報の取得リクエストを行う。
Ｓ５１９では、帳票生成サーバ１０１のアクセス制御部３０１は、受信したリクエストに含まれる帳票名に基づいて、データアクセス部３０３を介して対象帳票に関連する出力ページ情報をデータベース３０９から取得する。
【００５８】
Ｓ５２０では、帳票生成サーバ１０１のアクセス制御部３０１は、Ｓ５１８の取得リクエストに対して、取得した出力ページ情報をクライアント装置１０２に送信する。この処理は、第１の送信手段および第２の送信手段による処理の一例に対応する。
Ｓ５２１では、クライアント装置１０２の制御部３１１は、出力ページ情報を受信する。この処理は、受信手段による処理の一例に対応する。制御部３１１は受信した出力ページ情報を、帳票名と関連付けてＲＡＭ２０３に保存する。したがって、制御部３１１は、帳票名に基づいて特定の帳票に関連付けられた出力ページ情報にアクセスすることができる。
【００５９】
Ｓ５２２では、クライアント装置１０２の制御部３１１は、ウェブ帳票閲覧画面に現時点で表示されているページ番号を特定し、ＲＡＭ２０３に保持する。通常、最初に表示されるページ番号は１ページ目である。なお、制御部３１１は、ウェブ帳票閲覧画面のロード中にユーザからの操作を受け付けることができる。制御部３１１は、ユーザからページの遷移指示を受け付けた場合には、ＲＡＭ２０３に保持している現時点で表示されているベージ番号の情報を更新する。
Ｓ５２３では、クライアント装置１０２の制御部３１１は、ユーザからの操作を待機し、指示を受け付ける。ユーザがタッチデバイス等を介して操作すると、ウェブブラウザから制御部３１１に対してイベントが発行される。イベントには、操作の内容、操作されたオブジェクト（ＳＶＧやＨＴＭＬではタグ要素）等の情報が含まれる。
【００６０】
Ｓ５２４では、クライアント装置１０２の制御部３１１はユーザからの指示に応じた処理を行う。
図１０は、ユーザからのデータグループごとのページの遷移指示に応じた遷移処理の一例を示すフローチャートである。図１０のフローチャートは、クライアント装置１０２の制御部３１１が必要に応じて、帳票生成サーバ１０１から配信されたＪａｖａｓｃｒｉｐｔプログラムを実行することにより実現する。図１１は、図１０のフローチャートの処理を実現するＪａｖａｓｃｒｉｐｔプログラムの一例を示す図である。
【００６１】
Ｓ１００１では、クライアント装置１０２の制御部３１１は、ＲＡＭ２０３に保存されている、帳票名に関連付けられた出力ページ情報９０１を取得する。Ｓ１００１は、制御部３１１がプログラム１１０１を実行することで実現される。
Ｓ１００２では、クライアント装置１０２の制御部３１１は、ユーザからデータグループごとのページの遷移指示を受け付けたか否かを判定する。この処理は、受付手段による処理の一例に対応する。例えば、制御部３１１は、ウェブブラウザから発行されるイベントに「３本指スワイプ」という操作に関する情報が含まれていた場合にはデータグループごとのページの遷移指示があったと判定する。ただし、データグループごとのページの遷移指示は「３本指スワイプ」の操作である場合に限られず、どのような操作を関連付けてもよく、ユーザ設定等により変更可能であってもよい。データグループごとのページの遷移指示を受け付けた場合にはＳ１００３に進み、それ以外の指示を受け付けた場合には処理を終了する。
【００６２】
Ｓ１００３では、クライアント装置１０２の制御部３１１は、現時点で表示している出力ページのページ番号の情報を取得する。具体的には、制御部３１１は、ＲＡＭ２０３に保持している現時点で表示されているベージ番号の情報を取得する。Ｓ１００３は、制御部３１１がプログラム１１０３を実行することで実現される。
Ｓ１００４では、クライアント装置１０２の制御部３１１は、現時点で表示しているページ番号に関連付けられたデータグループＩＤがあるか否かを判定する。具体的には、制御部３１１は、Ｓ１００１で取得した出力ページ情報９０１のページ情報のリスト９０９を参照して、ページ番号９１０が現時点で表示しているページ番号と一致するページ情報９１２があるか否かを判定する。制御部３１１は、一致するページ情報９１２がある場合に一致するページ情報９１２のデータグループＩＤ９１１の情報を取得する。Ｓ１００４は、制御部３１１がプログラム１１０４を実行することで実現される。
データグループＩＤ９１１の情報を取得できた場合にはページ番号に関連付けられたデータグループＩＤがあると判定してＳ１００５に進む。一方、データグループＩＤの情報を取得できなかった場合にはページ番号に関連付けられたデータグループＩＤはないと判定して、処理を終了する。
【００６３】
Ｓ１００５では、クライアント装置１０２の制御部３１１は、現時点のページ番号で表示しているフィールドデータが属するデータグループの情報を特定する。この処理は、特定手段による処理の一例に対応する。具体的には、制御部３１１は、Ｓ１００４で取得したデータグループＩＤ９１１を検索キーとして、データグループ情報９０２からデータグループＩＤ９０３が一致するものを検索する。次に、制御部３１１は、検索したデータグループ情報９０２の出力データグループ情報のリスト９０５のうち、現時点で表示しているページ番号が出力ページリスト９０８に含まれる出力データグループ情報９０６を特定する。例えば、図９に示す出力データグループ情報のリスト９０５の例では、現時点で表示されているページ番号が１ページであれば、「１」が出力ページリスト９０８に含まれるキーデータ９０７が「東京支社」である出力データグループ情報９０６が特定される。Ｓ１００５は、制御部３１１がプログラム１１０５を実行することで実現される。
【００６４】
Ｓ１００６では、クライアント装置１０２の制御部３１１は、次のデータグループへの遷移指示であるか否かを判定する。なお、Ｓ１００２では、データグループごとのページの遷移指示であることを判定しているが、次のデータグループへの遷移であるか後のデータグループへの遷移であるかは判定していない。例えば、制御部３１１は、ウェブブラウザから発行されるイベントに「３本指の右方向スワイプ」という操作に関する情報が含まれていた場合には次のデータグループへの遷移であると判定する。Ｓ１００６は、制御部３１１がプログラム１１０６を実行することで実現される。
次のデータグループへの遷移指示である場合にはＳ１００７に進み、それ以外の遷移指示である場合にはＳ１００９に進む。
【００６５】
Ｓ１００７では、クライアント装置１０２の制御部３１１は、次のデータグループが存在するか否かを判定する。例えば、制御部３１１は、Ｓ１００５で特定した、キーデータ９０７に「東京支社」を含む出力データグループ情報９０６の次の順番に相当する出力データグループ情報９０６を検索する。データグループ情報のリスト９０５では出力データグループ情報９０６がページ番号の順番に並んでいる。したがって、制御部３１１はデータグループ情報のリスト９０５から、キーデータ９０７に「大阪支社」を含む出力データグループ情報９０６が存在すると判定することができる。Ｓ１００７は、制御部３１１がプログラム１１０７を実行することで実現される。
次のデータグループが存在すると判定した場合にはＳ１００８に進み、次のデータグループが存在しないと判定した場合には処理を終了する。
【００６６】
Ｓ１００８では、クライアント装置１０２の制御部３１１は、Ｓ１００７で検索した次の出力データグループ情報９０６の先頭のページ番号の情報を取得する。例えば、キーデータ９０７に「大阪支社」を含む出力データグループ情報９０６が検索されていた場合には、制御部３１１は出力ページリスト９０８から先頭のページ番号「５」の情報を取得することができる。Ｓ１００８は、制御部３１１がプログラム１１０８を実行することで実現される。
【００６７】
一方、Ｓ１００９では、クライアント装置１０２の制御部３１１は、前のデータグループへの遷移指示であるか否かを判定する。例えば、制御部３１１は、ウェブブラウザから発行されるイベントに「３本指の左方向スワイプ」という操作に関する情報が含まれていた場合には前のデータグループへの遷移であると判定する。Ｓ１００９は、制御部３１１がプログラム１１０９を実行することで実現される。
前のデータグループへの遷移指示である場合にはＳ１０１０に進み、それ以外の遷移指示である場合には処理を終了する。
【００６８】
Ｓ１０１０では、クライアント装置１０２の制御部３１１は、前のデータグループが存在するか否かを判定する。例えば、制御部３１１は、Ｓ１００５で特定した、キーデータ９０７に「東京支社」を含む出力データグループ情報９０６の前の順番に相当する出力データグループ情報９０６を検索する。ここでは、「東京支社」を含む出力データグループ情報９０６よりも前に出力データグループ情報９０６が存在しないことから、制御部３１１は前のデータグループが存在しないと判定することができる。Ｓ１０１０は、制御部３１１がプログラム１１１０を実行することで実現される。
前のデータグループが存在すると判定した場合にはＳ１０１１に進み、前のデータグループが存在しないと判定した場合には処理を終了する。
【００６９】
Ｓ１０１１では、クライアント装置１０２の制御部３１１は、Ｓ１０１０で検索した前の出力データグループ情報９０６の先頭のページ番号の情報を取得する。例えば、キーデータ９０７に「大阪支社」を含む出力データグループ情報９０６が検索されていた場合には、制御部３１１は出力ページリスト９０８から先頭のページ番号「５」の情報を取得することができる。Ｓ１０１１は、制御部３１１がプログラム１１１１を実行することで実現される。
【００７０】
Ｓ１０１２では、クライアント装置１０２の制御部３１１は、Ｓ１００８あるいはＳ１０１１で取得した次のデータグループまたは前のデータグループの先頭のページ番号の情報に基づいてページの遷移処理を行う。この処理は、制御手段による処理の一例に対応する。具体的には、制御部３１１は、ページ番号の情報に関連付けられたウェブ帳票閲覧画面を表示する。Ｓ１０１２は、制御部３１１がプログラム１１１２を実行することで実現される。
【００７１】
以上のように、クライアント装置１０２は、帳票のデータが属するデータグループと、データグループに属するデータを表示するときのページ番号の情報とが関連付けられた関連情報に基づいて、データグループごとに遷移してデータを表示させるように制御する。したがって、クライアント装置１０２は、ユーザからデータグループごとの遷移指示に応じてデータグループごとの遷移を実現することができる。
例えば、現在「東京支社」のデータグループが表示されるページを見ているときに、「大阪支社」のデータグループが表示されるページを見たい場合でも、データグループごとの遷移指示に応じて、「大阪支社」の先頭ページに遷移することができる。したがって、従来のように、目的のページが表示されるまで目視で確認する必要がなく、ページの遷移操作を容易に行うことができる。
【００７２】
また、クライアント装置１０２は、現時点のページ番号で表示しているフィールドデータが属するデータグループを特定し、特定したデータグループとは異なる、次のデータグループあるいは前のデータグループが表示されるページ番号に遷移する。したがって、クライアント装置１０２は、ユーザからデータグループごとの遷移指示に応じて異なるデータグループが表示されるページ番号に遷移することができる。
また、帳票生成サーバ１０１はデータグループの情報と、出力ページを表示するときのページ番号の情報と、を関連付けた関連情報を生成することで、クライアント装置１０２が関連情報に基づいてデータグループごとに遷移してデータを表示することができる。
【００７３】
なお、本実施形態では、次のデータベースまたは前のデータグループの先頭のページに遷移する場合について説明したが、この場合に限られず、後尾のページに遷移させてもよい。後尾のページに遷移させるには、Ｓ１００８またはＳ１０１１において先頭のページ番号を取得する代わりに、後尾のページ番号を取得することにより実現する。
また、本実施形態では、Ｓ５１８においてクライアント装置１０２が帳票生成サーバ１０１から出力ページ情報を取得する場合について説明したが、この場合に限られない。例えば、帳票生成サーバ１０１は出力ページ情報を保持したまま、クライアント装置１０２からのリクエストに応じて出力ページ情報から必要な情報を抽出してクライアント装置１０２に送信するようにしてもよい。
【００７４】
（第２の実施形態）
次に、第２の実施形態では、所定の種別のデータごとにページを遷移する場合について説明する。本実施形態の所定の種別のデータとは、各データグループに属するフィールドデータから導き出されるデータであり、データグループに属するフィールドデータを集計した集計行である。なお、第１の実施形態では、先頭または後尾のページに遷移することができるが、例えば集計行が途中のページに位置する場合に集計行のあるページに遷移することができない。
【００７５】
まず、ユーザが予めデータグループ設定画面により集計行の出力設定を行う。
図１２に示すデータグループ設定画面１２０１には、データグループＩＤ１２０５として「ｄａｔａ＿ｇｒｏｕｐ＿２」および「ｄａｔａ＿ｇｒｏｕｐ＿３」の２つがある。
データグループＩＤ「ｄａｔａ＿ｇｒｏｕｐ＿２」は、キーフィールド１２０６が「販売月」であり、「販売月」フィールドに流し込まれるフィールドデータの値が切替わった場合にアクション１２０７に示すように集計行を表示する設定になっている。
データグループＩＤ「ｄａｔａ＿ｇｒｏｕｐ＿３」は、キーフィールド１２０６が「販売日」であり、「販売日」フィールドに流し込まれるフィールドデータの値が切替わった場合、アクション１２０７に示すように集計行を表示する設定になっている。
なお、何れの設定でも改ページを伴わない設定であることから、集計行は表の途中に挿入される。
【００７６】
次に、オーバレイ処理するフィールドデータファイル４０６について説明する。
図１４は、フィールドデータファイル４０６の一例を示す図である。
フィールドデータファイル４０６には、各レコード６０１が上から下に並んでいる。各レコード６０１に含まれるフィールドデータ１４０１、１４０２および１４０３はカンマによって区切られている。フィールドデータ１４０１は、「販売月」フィールドに流し込まれるデータである。フィールドデータ１４０２は、「販売日」フィールドに流し込まれるデータである。フィールドデータ１４０３は、「売上」フィールドに流し込まれるデータである。ここで、「販売月」フィールドは、データグループ設定画面１２０１にて「ｄａｔａ＿ｇｒｏｕｐ＿２」のキーフィールドに選択されている。したがって、「販売月」フィールドに流し込まれるデータが切替わった場合に、いままのデータグループとは異なるデータグループに切替わり、アクションに示すように集計行［１］の表示が行われる。また、「販売日」フィールドは、「ｄａｔａ＿ｇｒｏｕｐ＿３」のキーフィールドに選択されており、異なるデータグループに切替わると、同様に集計行［２］の表示が行われる。
【００７７】
図１３は、帳票生成サーバ１０１によるフォームファイルおよびフィールドデータを用いたオーバレイ処理の一例を示すフローチャートである。図１３のフローチャートは、図５に示すＳ５１１の詳細な処理である。なお、図８と同様の処理は、同一のステップ番号を付して説明を適宜、省略する。
Ｓ１３０１では、帳票生成サーバ１０１の出力ページ生成部３０４は、Ｓ８０１で取得したデータグループ設定のうちデータグループリストの内容に基づいてアクション１２０７が集計行を表示する設定になっているか否かを判定する。集計行を表示する設定の場合にはＳ１３０２に進み、集計行を表示する設定ではない場合にはＳ８０２に進む。
【００７８】
図１５は、オーバレイ処理によって生成される出力ページ情報１５０１の一例を示す図である。
出力ページ情報１５０１は、複数の集計行情報１５０９から構成される集計行情報リスト１５０２、ページ情報のリスト１５１０が含まれる。
集計行情報１５０９は、集計行ＩＤ１５０３、データグループＩＤ１５０４、出力集計行情報のリスト１５０５から構成される。出力集計行情報のリスト１５０５は、出力集計行情報１５０６が複数含まれる。出力集計行情報１５０６は、集計行の出力位置１５０７と集計行ページ番号１５０８から構成され、ある集計行が何ページ目の何れの位置に出力されるかを管理する情報である。出力集計行情報１５０６は、出力集計行情報のリスト１５０５内に、集計行ページ番号１５０８の小さい順番で並んでいる。
ページ情報のリスト１５１０は、ページ番号１５１２およびデータグループＩＤのリスト１５１３をそれぞれ含む複数のページ情報１５１１から構成される。ページ情報のリスト１５１０は各出力ページのページ番号とデータグループＩＤとを関連付けて管理する情報である。
【００７９】
図１３のフローチャートに戻り、Ｓ１３０２では、帳票生成サーバ１０１の出力ページ生成部３０４は、出力ページ情報１５０１の集計行情報リスト１５０２に、集計行情報１５０９を追加する。出力ページ情報１５０１は、予め集計行情報リスト１５０２が空の状態で初期化時に用意されているものとする。具体的に、出力ページ生成部３０４は、Ｓ８０１で取得したデータグループ設定のうちデータグループリストの内容に基づいてデータグループＩＤ１５０４が「ｄａｔａ＿ｇｒｏｕｐ＿２」、「ｄａｔａ＿ｇｒｏｕｐ＿３」となる２つの集計行情報１５０９を追加する。出力ページ生成部３０４は、集計行ＩＤ１５０３を一意になるように自動採番する。なお、出力集計行情報のリスト１５０５には両方とも空の状態で追加する。
【００８０】
Ｓ１３０３では、帳票生成サーバ１０１の出力ページ生成部３０４は、データグループ設定のうちデータグループリストのアクション１２０７に基づいてフィールドデータを集計した集計行を作成して追加する。この処理は、作成手段による処理の一例に対応する。また、出力ページ生成部３０４は、出力ページ情報１５０１に出力集計行情報１５０６を追加する。出力ページ生成部３０４は、Ｓ８０１で取得したデータグループリストの内容に基づいて、キーデータが切替わったキーフィールドのデータグループＩＤ１２０５を特定する。次に、出力ページ生成部３０４は、特定したデータグループＩＤ１２０５と同じ値であるデータグループＩＤ１５０４の集計行情報１５０９を特定する。その後、出力ページ生成部３０４は、特定した集計行情報１５０９の出力集計行情報のリスト１５０５の末尾に新たに出力集計行情報１５０６を追加する。更に、出力ページ生成部３０４は、追加した出力集計行情報１５０６の出力位置１５０７に集計行の座標位置（左上のＸ、Ｙ座標）およびサイズ（縦・横）を出力すると共に、集計行ページ番号１５０８に集計行のページ番号を出力する。この処理は、出力手段による処理の一例に対応する。したがって、出力集計行情報１５０６には、キーデータごとに表示される集計行のページ番号と表示位置が出力される。
【００８１】
Ｓ１３０４では、帳票生成サーバ１０１の出力ページ生成部３０４は、ページ情報のリスト１５１０の末尾に新たなページ情報１５１１を追加する。続いて、出力ページ生成部３０４は、追加したページ情報１５１１のページ番号１５１２にＳ８０９で生成した出力ページのページ番号を出力すると共に、データグループＩＤのリスト１５１３に出力したページ番号と関連付いたデータグループＩＤを出力する。なお、データグループＩＤはＳ１３０３で特定したものである。集計行が同一のページに複数出力される場合には、データグループＩＤのリスト１５１３には複数のデータグループＩＤが出力される。
【００８２】
図１６は、Ｓ５２４の各種処理に対応し、ユーザから集計行ごとの遷移指示を受け付けてページ遷移指示用ＵＩを表示する処理の一例を示すフローチャートである。図１６のフローチャートは、クライアント装置１０２の制御部３１１が必要に応じて、帳票生成サーバ１０１から配信されたＪａｖａｓｃｒｉｐｔプログラムを実行することにより実現する。図１７は、図１６のフローチャートの処理を実現するＪａｖａｓｃｒｉｐｔプログラムの一例を示す図である。
【００８３】
Ｓ１６０１では、クライアント装置１０２の制御部３１１は、ＲＡＭ２０３に保存されている、帳票名に関連付けられた出力ページ情報１５０１を取得する。この処理は、取得手段による処理の一例に対応する。Ｓ１６０１は、制御部３１１がプログラム１７０１を実行することで実現される。
Ｓ１６０２では、クライアント装置１０２の制御部３１１は、現時点で表示している出力ページのページ番号の情報を取得する。具体的には、制御部３１１は、ＲＡＭ２０３に保持している現時点で表示されているページ番号の情報を取得する。Ｓ１６０２は、制御部３１１がプログラム１７０２を実行することで実現される。
【００８４】
Ｓ１６０３では、クライアント装置１０２の制御部３１１は、現時点で表示しているページ番号に関連付けられたデータグループＩＤを特定する。具体的には、制御部３１１は、出力ページ情報１５０１のページ情報のリスト１５１０を参照して、現時点で表示しているページ番号と一致するページ番号１５１２に関連付けられたデータグループＩＤを特定する。Ｓ１６０３は、制御部３１１がプログラム１７０３を実行することで実現される。
Ｓ１６０４では、クライアント装置１０２の制御部３１１は、特定した複数のデータグループＩＤごとにＳ１６０５からＳ１６１４までの処理を行う。Ｓ１６０４は、制御部３１１がプログラム１７０４を実行することで実現される。
【００８５】
Ｓ１６０５では、クライアント装置１０２の制御部３１１は、データグループＩＤに関連付けられた集計行情報を取得する。具体的には、制御部３１１はデータグループＩＤを検索キーとして、集計行情報リスト１５０２から一致する集計行情報１５０９を検索する。Ｓ１６０５は、制御部３１１がプログラム１７０５を実行することで実現される。
１６０６では、クライアント装置１０２の制御部３１１は、検索した集計行情報１５０９の出力集計行情報のリスト１５０５のうち、現時点で表示されているページ番号が含まれる出力集計行情報１５０６を取得する。なお、同一ページに複数の集計行が出力される場合には、複数の出力集計行情報１５０６が取得される。Ｓ１６０６は、制御部３１１がプログラム１７０６を実行することで実現される。
【００８６】
Ｓ１６０７では、クライアント装置１０２の制御部３１１は、取得した出力集計行情報１５０６ごとにＳ１６０８からＳ１６１４までの処理を行う。Ｓ１６０７は、制御部３１１がプログラム１７０７を実行することで実現される。
Ｓ１６０８では、クライアント装置１０２の制御部３１１は、取得した出力集計行情報１５０６の出力位置１５０７に基づいて集計行の出力位置の情報を取得する。Ｓ１６０８は、制御部３１１がプログラム１７０８を実行することで実現される。
【００８７】
Ｓ１６０９では、クライアント装置１０２の制御部３１１は、現時点で表示されているページよりも前に集計行が出力されたページがあるか否かを判定する。具体的には、制御部３１１は、Ｓ１６０６で取得した出力集計行情報１５０６の前に別の出力集計行情報１５０６があるか否かを判定する。ここで、現時点で表示されているページよりも前の集計行は、所定の種別の第１のデータと同一の種別であって、データが異なる第２のデータの一例に対応する。Ｓ１６０９は、制御部３１１がプログラム１７０９を実行することで実現される。前に集計行が出力されたページがある場合にはＳ１６１０に進み、ない場合にはＳ１６１２に進む。
Ｓ１６１０では、クライアント装置１０２の制御部３１１は、Ｓ１６０９で判定した現時点で表示されているページよりも前の出力集計行情報１５０６の集計行ページ番号１５０８を取得する。Ｓ１６１０は、制御部３１１がプログラム１７１０を実行することで実現される。
【００８８】
Ｓ１６１１では、クライアント装置１０２の制御部３１１は、集計行を基準としてページ遷移指示用ＵＩとしての表示アイテムを表示する。具体的には、制御部３１１は、Ｓ１６０８で取得した出力集計行情報１５０６の出力位置１５０７を基準にして、出力位置１５０７から一定の間隔で離れた位置に表示アイテムを表示する。Ｓ１６１１は、制御部３１１がプログラム１７１１を実行することで実現される。また、制御部３１１は、Ｓ１６１０で取得した集計行ページ番号１５０８の情報を表示アイテムに埋め込む。
【００８９】
一方、Ｓ１６１２では、クライアント装置１０２の制御部３１１は、現時点で表示されているページよりも後に集計行が出力されたページがあるか否かを判定する。具体的には、制御部３１１は、Ｓ１６０６で取得した出力集計行情報１５０６の後に別の出力集計行情報１５０６があるか否かを判定する。Ｓ１６１２は、制御部３１１がプログラム１７１２を実行することで実現される。後に集計行が出力されたページがある場合にはＳ１６１３に進み、ない場合には処理を終了する。
Ｓ１６１３では、クライアント装置１０２の制御部３１１は、Ｓ１６１２で判定した現時点で表示されているページよりも後の出力集計行情報１５０６の集計行ページ番号１５０８を取得する。Ｓ１６１３は、制御部３１１がプログラム１７１３を実行することで実現される。
【００９０】
Ｓ１６１４では、クライアント装置１０２の制御部３１１は、集計行を基準としてページ遷移指示用ＵＩとしての表示アイテムを表示する。具体的には、制御部３１１は、Ｓ１６１３で取得した出力集計行情報１５０６の出力位置１５０７を基準にして、出力位置１５０７から一定の間隔で離れた位置に表示アイテムを表示する。Ｓ１６１４は、制御部３１１がプログラム１７１４を実行することで実現される。また、制御部３１１は、Ｓ１６１３で取得した集計行ページ番号１５０８の情報を表示アイテムに埋め込む。
【００９１】
図１８（ａ）は、集計行を基準として表示されるページ遷移指示用ＵＩの一例を示す図である。
ウェブ帳票閲覧画面１８０１には、集計行１８０２を含む帳票の出力ページが表示されている。ここで、集計行１８０２はデータグループＩＤ「ｄａｔａ＿ｇｒｏｕｐ＿２」の設定により表示されているものとする。
表示アイテム１８０３は、Ｓ１６１１により表示されるページ遷移指示用ＵＩである。ユーザは表示アイテム１８０３を押下することで、集計行１８０２よりも１つ前の集計行が存在する出力ページに遷移指示することができる。
表示アイテム１８０４は、Ｓ１６１４により表示されるページ遷移指示用ＵＩである。ユーザは表示アイテム１８０４を押下することで、集計行１８０２よりも１つ後の集計行が存在する出力ページに遷移指示することができる。
【００９２】
図１８（ｂ）は、表示アイテム１８０３、１８０４の表示を実現するための一例を示す図である。表示アイテム１８０３、１８０４はＳＶＧ１８０５により実現される。
ＳＶＧ１８０５は、大きく分けて、ＳＶＧ全体を表すＳＶＧタグ１８０６、矢印のポリゴン図形を表すポリゴンタグ１８０７により構成される。ＳＶＧには各タグにメタ情報を埋め込むことができる。メタデータタグ１８０８は、メタ情報として動作指示情報１８０９を有する。動作指示情報１８０９は、動作指示として「ページ遷移」の指示および関連データとして遷移先のページ番号を有する。メタデータタグ１８０８は、Ｓ１６１１およびＳ１６１４において制御部３１１がｊａｖａｓｃｒｉｐｔプログラムに基づいて埋め込んだものである。また、動作指示情報１８０９および関連データである遷移先ページ番号はＳ１６１１およびＳ１６１４において制御部３１１がｊａｖａｓｃｒｉｐｔプログラムに基づいて設定したものである。
【００９３】
図１９は、ユーザからの集計行ごとの遷移指示に応じた遷移処理の一例を示すフローチャートである。図１９のフローチャートは、クライアント装置１０２の制御部３１１が必要に応じて、帳票生成サーバ１０１から配信されたＪａｖａｓｃｒｉｐｔプログラムを実行することにより実現する。図２０は、図１９のフローチャートの処理を実現するＪａｖａｓｃｒｉｐｔプログラムの一例を示す図である。
Ｓ１９０１では、クライアント装置１０２の制御部３１１は、ユーザから集計行ごとの遷移指示を受け付けたか否かを判定する。この処理は、受付手段による処理の一例に対応する。具体的には、制御部３１１は表示アイテム１８０３、１３０４がタップされたか否かを判定する。表示アイテム１８０３、１８０４がタップされた場合、ウェブブラウザからイベントが発行される。制御部３１１は、イベントに含まれる操作の種類を示す情報および操作対象（ＳＶＧやＨＴＭＬでどの要素が操作されたか）に関する情報を取得して、操作の種類を示す情報を確認することでタップされたか否かを判定する。また、制御部３１１は、操作対象情報としてイベントから取得できるＳＶＧのポリゴンタグ１８０７のＩＤ属性が「ａｒｒｏｗ」であるか否かにより操作対象が表示アイテム１８０３、１８０４であるか否かを判定する。タップであって、かつ、操作対象が表示アイテム１８０３、１８０４の場合にはＳ１９０２に進み、そうではない場合には処理を終了する。なお、Ｓ１９０１は、制御部３１１がプログラム２００１を実行することで実現される。
【００９４】
Ｓ１９０２では、クライアント装置１０２の制御部３１１は、ＳＶＧのポリゴンタグ１８０７に含まれるメタ情報から動作指示情報１８０９を取得する。Ｓ１９０２は、制御部３１１がプログラム２００２を実行することで実現される。
Ｓ１９０３では、クライアント装置１０２の制御部３１１は、遷移するページ番号の情報を取得する。具体的には、制御部３１１は、動作指示情報１８０９から遷移先ページ番号を取得する。Ｓ１９０３は、制御部３１１がプログラム２００３を実行することで実現される。
Ｓ１９０４では、クライアント装置１０２の制御部３１１は、Ｓ１９０３で取得したページ番号の情報に基づいてページの遷移処理を行う。この処理は、制御手段による処理の一例に対応する。具体的には、制御部３１１はページ番号の情報に関連付けられたウェブ帳票閲覧画面を表示する。Ｓ１９０４は、制御部３１１がプログラム２００４を実行することで実現される。
【００９５】
このように本実施形態のクライアント装置１０２は、グループに含まれる所定の種別のデータを表示させるときのページ番号の情報を取得する。したがって、クライアント装置１０２は、所定の種別のデータごとの遷移指示を受け付けることに応じて、所定の種別のデータごとの遷移を実現することができる。
例えば、現在「５月」のデータグループの集計額が表示されているページを見ているときに、「６月」のデータグループの集計額が見たい場合でも、所定の種別のデータごとの遷移指示に応じて、「６月」の集計額が表示されるページに遷移することができる。
また、本実施形態の帳票生成サーバ１０１は所定の種別のデータを表示させるときのページ番号を出力することで、クライアント装置１０２は出力されたページ番号の情報に基づいて所定の種別のデータごとに遷移してデータを表示させることができる。
【００９６】
（他の実施形態）
本発明は、以下の処理を実行することによっても実現される。すなわち、上述した実施形態の機能を実現するプログラムをネットワークまたは各種記録媒体を介してシステムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（ＣＰＵやＭＰＵ等）がプログラムコードを読み出して実行する処理である。この場合、そのプログラムおよび該プログラムを記録した記録媒体は本発明を構成することになる。
【００９７】
以上、本発明を種々の実施形態と共に説明したが、本発明はこれらの実施形態にのみ限定されるものではなく、本発明の範囲内で変更等が可能であり、上述した実施形態を適時組み合わせてもよい。
また、上述した実施形態のクライアント装置１０２をタブレットデバイスに適用する場合について説明したが、この場合に限られず、帳票を表示手段に表示する装置であれば適用可能である。
【符号の説明】
【００９８】
１００：帳票生成サーバ（情報処理装置）  １０２：クライアント装置（情報処理装置）  ３０１：アクセス制御部  ３０２：ウェブページ生成部  ３０４：出力ページ生成部  ３１１：制御部
【図１】
2020106926.tif 000003
【図２】
2020106926.tif 000004
【図３】
2020106926.tif 000005
【図４】
2020106926.tif 000006
【図５】
2020106926.tif 000007
【図６】
2020106926.tif 000008
【図７】
2020106926.tif 000009
【図８】
2020106926.tif 000010
【図９】
2020106926.tif 000011
【図１０】
2020106926.tif 000012
【図１１】
2020106926.tif 000013
【図１２】
2020106926.tif 000014
【図１３】
2020106926.tif 000015
【図１４】
2020106926.tif 000016
【図１５】
2020106926.tif 000017
【図１６】
2020106926.tif 000018
【図１７】
2020106926.tif 000019
【図１８】
2020106926.tif 000020
【図１９】
2020106926.tif 000021
【図２０】
2020106926.tif 000022