(57)【特許請求の範囲】
【請求項１】
１レコードの項目が複数行にわたって表示される帳票の自動レイアウトを行う帳票自動レイアウトシステムであって、
前記帳票自動レイアウトシステムは、
出力対象となる帳票の各項目のうち、各項目に入力されているデータの最大桁数を算出する最大桁数算出処理部と、
前記算出した項目ごとの最大桁数を用いて、表示桁数と必要枠数との対応関係を示した参照テーブルを参照または所定の換算式に代入することで、少なくとも該項目のデータを表示するための領域である枠の必要数を算出する枠数算出処理部と、
前記１レコードの項目を、前記枠数算出処理部で算出した枠単位で配置する項目配置処理部と、
前記配置した項目に対応する位置に、前記帳票のデータを出力する出力処理部と、
を備えており、
前記項目配置処理部は、
枠に従って前記項目を１行目から順に配置を開始し、
前記１レコードの項目の配置が複数行にわたる場合には、１行目の２項目目以降または２枠目以降に対応する位置を２行目以降の項目の配置の開始位置として、２行目以降の項目の配置を行い、
前記項目と項目とを縦方向に区切る縦罫線について、前記項目における端の枠に隣接する１桁または前記項目における枠の端の１桁に縦線を描画することで、縦罫線を設ける、
ことを特徴とする帳票自動レイアウトシステム。
【請求項２】
前記項目配置処理部は、
枠に従って前記項目を１行目から順に配置を開始し、
前記１レコードの項目の配置が複数行にわたる場合には、前記出力対象となる帳票の出力条件に対応する例外条件に該当するかを判定し、
例外条件に該当しない場合には、１行目の２項目目以降または２枠目以降に対応する位置を２行目以降の項目の配置の開始位置として、２行目以降の項目の配置を行い、
例外条件に該当する場合には、前記例外条件に該当しない場合の開始位置を定める条件とは異なる条件による開始位置から、２行目以降の項目の配置を行い、
前記項目と項目とを縦方向に区切る縦罫線について、前記項目における端の枠に隣接する１桁または前記項目における枠の端の１桁に縦線を描画することで、縦罫線を設ける、
ことを特徴とする請求項１に記載の帳票自動レイアウトシステム。
【請求項３】
１レコードの項目が複数行にわたって表示される帳票の自動レイアウトを行う帳票自動レイアウトシステムであって、
前記帳票自動レイアウトシステムは、
出力対象となる帳票の各項目のうち、各項目に入力されているデータの最大桁数を算出する最大桁数算出処理部と、
前記算出した項目ごとの最大桁数を用いて、表示桁数と必要枠数との対応関係を示した参照テーブルを参照または所定の換算式に代入することで、少なくとも該項目のデータを表示するための領域である枠の必要数を算出する枠数算出処理部と、
前記１レコードの項目を、前記枠数算出処理部で算出した枠単位で配置する項目配置処理部と、
前記配置した項目に対応する位置に、前記帳票のデータを出力する出力処理部と、
を備えており、
前記項目配置処理部は、
枠に従って前記項目を１行目に順に配置を開始し、
前記１レコードの項目の配置が複数行にわたる場合には、前記出力対象となる帳票の出力条件に対応する例外条件に該当するかを判定し、
例外条件に該当しない場合には、１行目の３項目目に対応する位置を開始位置として、２行目以降の項目の配置を行い、
例外条件に該当する場合には、１行目の３項目目に対応する位置よりも左側の枠の位置を開始位置として、２行目以降の項目の配置を行い、
前記項目と項目とを縦方向に区切る縦罫線について、前記項目における端の枠に隣接する１桁または前記項目における枠の端の１桁に縦線を描画することで、縦罫線を設ける、
ことを特徴とする帳票自動レイアウトシステム。
【請求項４】
前記出力対象となる帳票の出力条件として、紙、表示またはファイルの出力サイズである、
ことを特徴とする請求項２または請求項３に記載の帳票自動レイアウトシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、業務システムで出力する帳票のデータの一覧性、視認性を向上させる帳票自動レイアウトシステムに関する。
【背景技術】
【０００２】
近年、企業などにおいては、その業務活動の遂行にあたり、企業内のデータを収集し、さまざまな角度から分析し、経営戦略の実行を支援する各種の業務システムが用いられている。このような業務システムは、導入したあとも、ユーザである企業の成長や戦略にあわせて、柔軟かつタイムリーにその業務システムを変更する必要がある。そのため、業務システムの修正、変更が不可欠となっている。
【０００３】
しかし、完成品であるパッケージシステムの業務システムの場合、これらのシステム修正、変更は、システムの開発元、ベンダーなどに委託して行う必要があり、多くのコストと工数とを要することとなる。
【０００４】
そこで、それらを改善するために、業務システムにおいてカスタマイズを行うことが可能なカスタマイズシステムが用いられる。このカスタマイズシステムを用いることによって、業務システムの修正、変更に伴うプログラマ等の作業工数を軽減できるので、システム修正、変更にかかるコストや工数を軽減することが出来る。
【０００５】
ところが、カスタマイズシステムを用いて業務システムを修正、変更した上で業務システムにおける帳票を出力する場合、カスタマイズシステムによって各項目のレイアウトなどが自由に配置されるように設計されるため、それをそのまま出力したのでは、業務システムであらかじめ用意されている定型の帳票レイアウトに比較すると、一覧性、視認性の点で問題がある。とくに、１レコードが複数行にわたって表示される帳票の場合には、一覧性、視認性が著しく低下することとなる。このような帳票の一例を図１１に示す。
【０００６】
図１１の場合、１レコードに「社員コード」、「社員名」、「フリガナ」、「性別」、「社員区分」、「在籍区分」、「所属コード」、「所属名」、「役職コード」、「役職名」、「職種コード」、「職種名」、「個人外線（所属代表以外）」、「個人内線」、「携帯ＴＥＬ１」、「携帯ＴＥＬ２」、「メモ」、「マスター検索表示区分」の各項目が含まれている。そのため、１レコードあたり、３行にわたって表示されることとなる。
【０００７】
一般的には、各レコードが順に表示されるため、図１１に示すように、１レコードあたり、単純に３行ずつにわたって、そのデータを表示することとなるが、ある項目の名称とデータとの対応や、どこまでが１レコードであるかが、極めて分かりにくく、一覧性、視認性に欠けることとなる。
【０００８】
そこで帳票の一覧性、視認性を向上させるために、特許文献１に記載のシステムでは、自動的に帳票レイアウトを決定するシステムが開示されている。また非特許文献１、非特許文献２のソフトウェアを用いることで、帳票のレイアウトについて、視認性を向上させることが出来る。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００５−１８３３２号公報
【非特許文献】
【００１０】
【非特許文献１】インフォテック・アーキテクツ株式会社、”可変明細表”、[online]、インターネット＜ＵＲＬ：http://www.itarchitects.co.jp/c_form/1_65.html＞
【非特許文献２】ウイングアーク  テクノロジーズ株式会社、”SVFX-Designer”、[online]、インターネット＜ＵＲＬ：http://www.wingarc.com/product/svf/lineup/designer.html＞
【発明の概要】
【発明が解決しようとする課題】
【００１１】
特許文献１のシステムでは、データの内容を判別して、自動的に帳票レイアウトを決定する構成を採っている。しかし、データの存在しない行を自動的に判別し、この行を削除して表示させることが記載されているのみであるから、上述の図１１のように、各レコードのデータ項目にデータが含まれている場合には、対応することが出来ない。
【００１２】
また非特許文献１および非特許文献２のソフトウェアでは、帳票の各項目の罫線幅をユーザが手動で変更可能とすることで、視認性を向上させるものである。そのため、１レコードが複数行にわたる場合に、自動でその一覧性、視認性を向上させるものではない。
【課題を解決するための手段】
【００１３】
そこで本発明者は、１レコードが複数行にわたるような複雑な帳票の場合であっても、業務システムで出力する帳票のデータの一覧性、視認性を向上させる帳票自動レイアウトシステムを発明した。
【００１４】
第１の発明は、１レコードの項目が複数行にわたって表示される帳票の自動レイアウトを行う帳票自動レイアウトシステムであって、前記帳票自動レイアウトシステムは、出力対象となる帳票の各項目のうち、各項目に入力されているデータの最大桁数を算出する最大桁数算出処理部と、前記算出した項目ごとの最大桁数を用いて、表示桁数と必要枠数との対応関係を示した参照テーブルを参照または所定の換算式に代入することで、少なくとも該項目のデータを表示するための領域である枠の必要数を算出する枠数算出処理部と、前記１レコードの項目を、前記枠数算出処理部で算出した枠単位で配置する項目配置処理部と、前記配置した項目に対応する位置に、前記帳票のデータを出力する出力処理部と、を備えており、前記項目配置処理部は、枠に従って前記項目を１行目から順に配置を開始し、前記１レコードの項目の配置が複数行にわたる場合には、１行目の２項目目以降または２枠目以降に対応する位置を２行目以降の項目の配置の開始位置として、２行目以降の項目の配置を行い、前記項目と項目とを縦方向に区切る縦罫線について、前記項目における端の枠に隣接する１桁または前記項目における枠の端の１桁に縦線を描画することで、縦罫線を設ける、帳票自動レイアウトシステムである。
【００１５】
本発明のように構成することで各項目が枠単位で配置されることになる。そのため、各項目の縦方向の配置位置が整列され、項目の名称とデータとの対応がわかりやすくなり、一覧性、視認性の向上に繋がる。また、２行目以降の項目の配置の開始位置は、少なくとも１枠以上の空欄が設けられていることとなる。そのため、どこまでが１レコードであるかの認識がわかりやすく、帳票のデータの一覧性、視認性の向上に繋がる。
また、従来、項目と項目とを区切る縦罫線には、桁と桁との間に設けられる。そのため、データと縦罫線とが密着し、視認性の悪化に繋がっている。そこで本発明のように、縦罫線として１桁を用いることによって、データと縦罫線との間に間隙を設けることが出来る。これによって、データと縦罫線とが密着することなく、視認性の向上に繋がる。
【００１６】
上述の発明において、前記項目配置処理部は、枠に従って前記項目を１行目から順に配置を開始し、前記１レコードの項目の配置が複数行にわたる場合には、前記出力対象となる帳票の出力条件に対応する例外条件に該当するかを判定し、例外条件に該当しない場合には、１行目の２項目目以降または２枠目以降に対応する位置を２行目以降の項目の配置の開始位置として、２行目以降の項目の配置を行い、例外条件に該当する場合には、前記例外条件に該当しない場合の開始位置を定める条件とは異なる条件による開始位置から、２行目以降の項目の配置を行い、前記項目と項目とを縦方向に区切る縦罫線について、前記項目における端の枠に隣接する１桁または前記項目における枠の端の１桁に縦線を描画することで、縦罫線を設ける、帳票自動レイアウトシステムのように構成することもできる。
【００１７】
左端あるいは左側に配置される項目のデータの桁数が多い場合には、あらかじめ設定された条件に従ってそのまま配置したのでは、逆にデータの一覧性、視認性の悪化に繋がる。そこで、本発明のように、１レコードの項目が複数行にわたって配置される場合には、まず例外条件に該当するかを判定し、それに該当するか否かで、２行目以降の項目の配置の開始位置の条件を区別すると良い。
また、従来、項目と項目とを区切る縦罫線には、桁と桁との間に設けられる。そのため、データと縦罫線とが密着し、視認性の悪化に繋がっている。そこで本発明のように、縦罫線として１桁を用いることによって、データと縦罫線との間に間隙を設けることが出来る。これによって、データと縦罫線とが密着することなく、視認性の向上に繋がる。
【００１８】
以下の発明のように構成することもできる。１レコードの項目が複数行にわたって表示される帳票の自動レイアウトを行う帳票自動レイアウトシステムであって、前記帳票自動レイアウトシステムは、出力対象となる帳票の各項目のうち、各項目に入力されているデータの最大桁数を算出する最大桁数算出処理部と、前記算出した項目ごとの最大桁数を用いて、表示桁数と必要枠数との対応関係を示した参照テーブルを参照または所定の換算式に代入することで、少なくとも該項目のデータを表示するための領域である枠の必要数を算出する枠数算出処理部と、前記１レコードの項目を、前記枠数算出処理部で算出した枠単位で配置する項目配置処理部と、前記配置した項目に対応する位置に、前記帳票のデータを出力する出力処理部と、を備えており、前記項目配置処理部は、枠に従って前記項目を１行目に順に配置を開始し、前記１レコードの項目の配置が複数行にわたる場合には、前記出力対象となる帳票の出力条件に対応する例外条件に該当するかを判定し、例外条件に該当しない場合には、１行目の３項目目に対応する位置を開始位置として、２行目以降の項目の配置を行い、例外条件に該当する場合には、１行目の３項目目に対応する位置よりも左側の枠の位置を開始位置として、２行目以降の項目の配置を行い、前記項目と項目とを縦方向に区切る縦罫線について、前記項目における端の枠に隣接する１桁または前記項目における枠の端の１桁に縦線を描画することで、縦罫線を設ける、帳票自動レイアウトシステムである。
【００１９】
２行目以降の項目の配置の開始位置の条件として、本発明のような２つの条件によって区別しても良い。
【００２２】
上述の発明において、前記出力対象となる帳票の出力条件として、紙、表示またはファイルの出力サイズである、帳票自動レイアウトシステムのように構成することができる。
【００２３】
例外条件は、出力サイズによって変わることが好ましい。出力サイズの相違によって、出力可能な範囲が変わるためである。
【発明の効果】
【００２４】
本発明の帳票自動レイアウトシステムを用いることによって、１レコードが複数行にわたるような複雑な帳票のデータの一覧性、視認性を向上させた上で、出力することが可能となる。
【図面の簡単な説明】
【００２５】
【図１】本発明の帳票自動レイアウトシステムのシステム構成の一例を模式的に示す概念図である。
【図２】本発明の処理プロセスの一例を模式的に示すフローチャートである。
【図３】帳票自動レイアウトシステム、業務システムのハードウェア構成の一例を模式的に示す概念図である。
【図４】参照テーブルの一例を模式的に示す図である。
【図５】縦罫線について模式的に説明する図である。
【図６】項目配置処理部において、Ａ４横サイズでの例外条件に従った項目の配置を行った場合を模式的に示す図である。
【図７】項目配置処理部において、Ａ４縦サイズでの例外条件に従った項目の配置を行った場合を模式的に示す図である。
【図８】項目配置処理部において、例外条件に該当しない場合に項目の配置を行った場合を模式的に示す図である。
【図９】実施例１における社員情報マスタファイルの一例を模式的に示す図である。
【図１０】実施例１において自動レイアウト処理を行うかを選択するための画面の一例である。
【図１１】自動レイアウト処理を行わずに、通常どおり出力処理をした場合の一例である。
【図１２】自動レイアウト処理を行って出力処理をした場合の一例である。
【発明を実施するための形態】
【００２６】
本発明の帳票自動レイアウトシステム１のシステム構成の一例を図１の概念図に模式的に示す。
【００２７】
本発明の帳票自動レイアウトシステム１は、業務システムと連動して用いられることが好ましく、業務システムで出力する（印刷での出力、画面表示での出力、ファイルへの出力などが含まれる）帳票にかかる処理を実行する際に用いられることが好ましい。本明細書における帳票とは、行方向および／または列方向に設定された項目のそれぞれにデータが対応づけられるデータ形式である。またデータがない項目については、空欄（ＮＵＬＬ）としても良い。
【００２８】
なお本明細書において、項目のデータには、項目におけるデータ（たとえば図１２における「第一事業部  販売課」など）のほか、項目における項目名（たとえば図１２における「所属名」など）も含まれる。
【００２９】
業務システムは、企業などの業務活動の遂行に用いるコンピュータシステムである。業務システムには、上記業務活動に関する処理を実行する基幹系システム、情報系システムが該当する。これらの一例としては、たとえば販売管理システム、購買管理システム、財務管理システム、人事管理システム、給与管理システム、生産管理システム、グループウェアシステム、ドキュメント管理システム、ワークフローシステム、スケジューラーシステムなどが該当するが、これらに限定されるものではない。
【００３０】
帳票自動レイアウトシステム１、業務システムは、プログラムの演算処理を実行するＣＰＵなどの演算装置２０と、情報を記憶するＲＡＭやハードディスクなどの記憶装置２１と、ディスプレイ（画面）などの表示装置２２と、キーボードやポインティングデバイス（マウスやテンキーなど）などの入力装置２３と、演算装置２０の処理結果や記憶装置２１に記憶する情報をインターネットやＬＡＮなどのネットワークを介して送受信する通信装置２４とを有していることが好ましい。コンピュータ上で実現する各機能（各手段）は、その処理を実行する手段（プログラムやモジュールなど）が演算装置２０に読み込まれることでその処理が実行される。各機能は、記憶装置２１に記憶した情報をその処理において使用する場合には、該当する情報を当該記憶装置２１から読み出し、読み出した情報を適宜、演算装置２０における処理に用いる。図３に帳票自動レイアウトシステム１、業務システムのハードウェア構成の一例を模式的に示す。また、帳票自動レイアウトシステム１、業務システムは、複数のコンピュータ端末またはサーバに、その機能が分散配置されていても良い。
【００３１】
本発明における各手段は、その機能が論理的に区別されているのみであって、物理上あるいは事実上は同一の領域を為していても良い。
【００３２】
また帳票自動レイアウトシステム１と業務システムとは一体的に構成されていても良い。つまり、帳票自動レイアウトシステム１が業務システムの一機能として取り込まれていても良い。
【００３３】
業務システムは、各種の帳票データを記憶する帳票データ記憶部とそれを用いた業務活動に関する処理を実行する業務処理部とを有している。帳票データ記憶部に記憶する帳票データとしては、社員情報マスタファイル、得意先マスタファイル、仕入先マスタファイル、商品マスタファイルなどがあるが、これらに限定されず、業務システムの目的に応じた各種のマスタファイル（帳票データ）を備えている。また、これらは、出力の際に、帳票形式で出力されるデータを含んでいる。
【００３４】
業務処理部は、帳票データ記憶部に記憶するデータを読み出し／記憶させ、目的に応じた業務活動に関する処理を実行する。
【００３５】
業務システムとしては、通常の業務システムであればよく、また、特許第４４８６１５９号のようにカスタマイズ、特に帳票データとして出力するデータのカスタマイズが行えても良い。
【００３６】
帳票自動レイアウトシステム１は、最大桁数算出処理部２と枠数算出処理部３と項目配置処理部４と出力処理部５とを有する。
【００３７】
最大桁数算出処理部２は、業務システムの帳票データ記憶部に記憶する帳票データのうち、出力対象となる帳票データにおける各項目において、項目ごとのデータの最大桁数を算出する。なお、ここで桁とは、半角１文字を１桁とするが、全角１文字を１桁としても良いことは言うまでもない。またデータの桁数としては、実際に入力されているデータの最大桁数であっても良いし、データ定義として確保されている最大桁数であっても良い。
【００３８】
つまり最大桁数算出処理部２は、出力対象となる帳票データにおける各データの桁数（半角文字（または全角文字）での文字数）を取得し、それに基づいて、最大の桁数を、各項目ごとに算出する。
【００３９】
枠数算出処理部３は、最大桁数算出処理部２で算出した、各項目の最大桁数に基づいて、所定数の桁を一単位とする枠の必要数を算出する。なお枠とは、各項目のデータ（または項目のデータ、縦罫線）を表示するための領域であり、この枠内に、各項目のデータが表示される。また１枠に何桁を表示させるかは任意に設定可能であり、たとえば１０桁、１６桁のように定めることも出来る。
【００４０】
必要な枠数は、たとえば図４に模式的に示す参照テーブルを参照することで枠数を算出することが出来る。図４（ａ）は１枠に１６桁、１行に最大１０枠が表示できる場合の参照テーブルである。また図４（ｂ）は図４（ａ）の１枠と同じまま、１枠内に表示するデータを所定の縮小率（図４（ｂ）の場合には８０％）で表示する場合である。すなわち、通常の大きさであれば１６桁のデータが１枠に収まるが、最大桁数が１７桁〜２０桁の場合には、該当部分のデータを８０％などの所定の比率で縮小し、１枠内に収める場合である。従って、図４（ｂ）の場合には、１枠に最大で２０桁のデータが収まる。
【００４１】
データの縮小は、所定比率、たとえば８０％の比率の文字フォントのサイズで対応すればよい。また、最大桁数が１７桁〜２０桁の項目については、当該項目のすべてのデータを当該縮小率で表示しても良いし、１桁〜１６桁のデータについては通常の大きさで表示し、１７桁〜２０桁のデータだけ当該縮小率で縮小しても良い。
【００４２】
縦罫線とは、縦方向に枠と枠とを区切る罫線である。この処理については後述の項目配置処理部４で説明する。
【００４３】
枠数算出処理部３は、ある項目の最大桁数が１５桁の場合には、当該項目としての必要な枠数を１枠、最大桁数が１８桁の場合には当該項目としての必要な枠数を１枠、最大桁数が２７桁の場合には当該項目としての必要な枠数を２枠、最大桁数が１００桁の場合には、必要な枠数として５枠として算出する。なお必要な枠数は、１枠あたりの桁数、縮小率、などによっても変わるが、その場合には，それらに応じた参照テーブルを用いることで、枠数を算出可能である。
【００４４】
なお、図４のような参照テーブルを用いるほか、所定の換算式によって、必要な枠数を算出しても良い。
【００４５】
項目配置処理部４は、枠数算出処理部３で算出した枠単位で表示される項目を、１行目左側から順に配置をする。ただし帳票データのすべての項目を配置するのが１行に収まらない場合には、２行目以降にわたって配置する。
【００４６】
なお、１行に収まるか否かは、１行の大きさを枠数の大きさで除すれば算出できるが、出力する際のサイズ（たとえば「Ａ４横」、「Ａ４縦」など）に応じて、１行あたりの枠数をあらかじめ設定しておいても良い。
【００４７】
項目配置処理部４が２行以上にわたって項目を配置する場合、まず例外条件に該当するかを項目配置処理部４は判定する。ここで例外条件とは、紙や表示装置２２、ファイルに出力する際の出力条件、たとえば出力サイズ（たとえば「Ａ４横」、「Ａ４縦」など）、カラー印刷か否か、出力方法（紙、表示、ファイル）などに応じて設定されることが好ましい。
【００４８】
たとえばＡ４横のサイズで出力する場合の例外条件としては、１行目の２項目目の終了位置または１項目目の終了位置が３枠内に収まっていない場合には、２行目以降については、左側に所定枠数（たとえば３枠）を空欄とし、その次の枠（上記例では４枠目）を２行目以降の項目配置の開始位置として設定する。これを模式的に示すのが、図６である。
【００４９】
元の帳票データが図６（ａ）のような場合、１行目の２項目目の終了位置が４枠目であることから、例外条件が適用されることを、項目配置処理部４は判定する。従って、項目配置処理部４は、２行目以降については、左側の所定枠数（たとえば３枠）を空欄とし、その次の枠（４枠目）を２行目以降の項目配置の開始位置として設定し、各項目のデータをそれらに対応するように配置する。これを模式的に示すのが図６（ｂ）である。
【００５０】
また、Ａ４縦のサイズで出力する場合の例外条件としては、１行目の２項目目の終了位置または１項目目の終了位置が２枠内に収まっていない場合には、２行目以降については、左側に所定枠数（たとえば２枠）を空欄とし、その次の枠（上記例では３枠目）を２行目以降の項目配置の開始位置として設定する。これを模式的に示すのが図７である。
【００５１】
元の帳票データが図７（ａ）のような場合、１行目の２項目目の終了位置が３枠目であることから、例外条件が適用されることを、項目配置処理部４は判定する。従って、項目配置処理部４は、２行目以降については、左側の所定枠数（たとえば２枠）を空欄とし、その次の枠（３枠目）を２行目以降の項目配置の開始位置として設定し、各項目のデータをそれらに対応するように配置する。これを模式的に示すのが図７（ｂ）である。
【００５２】
また、項目配置処理部４は、あらかじめ定められた例外条件に該当しないことを判定した場合には、２行目以降について、あらかじめ設定された項目（たとえば１行目の３項目に対応する位置が一例としてあるが、これに限定されない。少なくとも左側に１枠以上の空欄がある枠の位置であれば良い）から配置を行う。たとえば１行目の２項目に相当する枠数を空欄とし、その次（１行目の３項目に対応する位置）から配置を行う。
【００５３】
元の帳票データが図８（ａ）のような場合（出力するサイズがＡ４横であるとする）、１行目の２項目目の終了位置が３枠目であることから、例外条件は適用されないことを、項目配置処理部４は判定する。従って、項目配置処理部４は、２行目以降については、１行目の３項目に対応する位置を開始位置として設定し、各項目のデータをそれらに対応するように２行目に配置する。これを模式的に示すのが図８（ｂ）である。
【００５４】
なお図６乃至図８において、枠数は説明のために示していることから、実際には枠数の表示がなされないようにしても良い。
【００５５】
また項目配置処理部４は、縦罫線に関する処理を実行（縦罫線を描画）する。縦罫線とは、枠を区切るために表示する縦方向の罫線である。通常、罫線は、桁と桁の間で引かれるが、本発明の帳票自動レイアウトシステム１では、縦罫線のために１桁を利用して、そこに縦線を描画する。好ましくは、各項目の端の枠に隣接する１桁（たとえば、項目が１枠の場合にはその枠に隣接する１桁、項目が２枠の場合には左側の枠に隣接する１桁や右側の枠に隣接する１桁、項目が３枠の場合には左端の枠に隣接する１桁や右端の枠に隣接する１桁）を確保し、その１桁のうち、中心付近に縦線を描画することがよい。これによって、１枠の最大桁数のデータとなった場合でも、半桁ずつの間隙が出来るので、データの視認性が向上する。縦罫線についての説明を図５に示す。なお図５では、１枠が１６桁の場合を示しているが、上述のように、１枠の桁数は任意に設定することが出来る。また枠および桁は、説明のために示しているに過ぎず、実際には表示がなされないようにしてもよい。
【００５６】
なお上述の説明や図５では、縦罫線を描画する桁が枠に隣接する場合を示したが、項目における端の枠の端の１桁において、縦罫線が描画されても良い。この場合、項目と項目とが隣接する場合には、いずれか一方の項目における端の枠の端の１桁に縦罫線が描画され、隣接する他方の項目における端の枠には縦罫線を描画せずとも良い。２重に縦罫線が描画されることを防止するためである。
【００５７】
図５（ａ）は、本発明のように、縦罫線のために１桁を利用した場合を示す図である。また、図５（ｂ）は、縦罫線を従来どおりの方法で引いた場合を示す図である。図５（ｂ）の場合、縦罫線が桁と桁との間の区切り線として引かれるため、その前後にデータが入った場合、データと縦罫線とが密着し、視認性が悪化する。一方、本願発明の図５（ａ）の場合、縦罫線のために１桁を利用しているため、仮にその前後にデータが入ったとしても、データと縦罫線とが密着することがなく、半桁分の間隙が生じる。そのため、視認性を保つことが出来る。
【００５８】
出力処理部５は、帳票データ記憶部に記憶する帳票データを参照し、項目配置処理部４で配置した項目に従って、それぞれに対応するデータをそれぞれの枠内に表示させ、出力処理を実行する。出力処理としては、ユーザが利用する所定の印刷装置（図示せず）から紙媒体に印刷し出力する、ユーザが利用する所定の表示装置２２に表示する、ユーザが利用するコンピュータ端末にファイルとして出力する、などがある。
【実施例１】
【００５９】
つぎに本発明の帳票自動レイアウトシステム１の処理プロセスを図２のフローチャートを用いて説明する。なお、本実施例では、帳票データ記憶部に記憶する帳票データである社員情報マスタファイルのデータを出力する場合を説明する。またその各項目のデータの内容の一部が図９であるとする。
【００６０】
業務システムを利用するユーザが、社員情報マスタファイルの帳票データの出力を所望する場合、当該ユーザが利用するコンピュータ端末（以下、「ユーザ端末」という）において所定の操作を行う。そうすると、図１０に示すような自動レイアウトを行うか否かを選択するための画面がユーザ端末において、表示される。
【００６１】
この画面において、ユーザが、「２行以上になったときに列を揃える」など、自動レイアウトを行うことを意味する選択を行うと、ユーザ端末から業務システムに対して、自動レイアウトを行った上での出力指示が送られる。一方、この画面において、ユーザが、「２行以上になったときに列を揃える」など、自動レイアウトを行うことを意味する選択を行わないと、ユーザ端末から業務システムに対して、通常どおりの出力指示が送られる。また、この際に、出力サイズ（たとえば「Ａ４横」、「Ａ４縦」など。なお、これらに限定されない）を指定することが好ましい。
【００６２】
そして、自動レイアウトを行わない場合には（Ｓ１００）、業務システムの業務処理部は、ユーザ端末から送られた、通常どおりの出力指示を受け取り、通常どおり、社員情報マスタファイルから、出力対象となるデータを抽出し、出力処理を実行する。通常どおりの出力指示の場合、図９のデータの内容は、左側から順に出力される。この場合の出力の一例を図１１に示す。
【００６３】
一方、自動レイアウトを行う場合には（Ｓ１００）、業務システムの業務処理部は、ユーザ端末から送られた、自動レイアウトを行った上での出力指示を受け取る。そして、自動レイアウトを行った上で出力処理を行うことを業務処理部は、帳票自動レイアウトシステム１に渡す。この際に、出力対象のデータを特定する情報（たとえば対象となる帳票データ、出力範囲、部数、出力サイズなど）があわせて渡されると良い。
【００６４】
帳票自動レイアウトシステム１で自動レイアウトを行った上での出力指示を業務処理部から受け取ると、最大桁数算出処理部２は、出力対象となる帳票データである、社員情報マスタファイルを参照することで、各項目のデータにおける最大桁数を算出する（Ｓ１１０）。
【００６５】
つまり、各項目「社員コード」、「社員名」、「フリガナ」、「性別」、「社員区分」、「在籍区分」、「所属コード」、「所属名」、「役職コード」、「役職名」、「職種コード」、「職種名」、「個人外線（所属代表以外）」、「個人内線」、「携帯ＴＥＬ１」、「携帯ＴＥＬ２」、「メモ」、「マスター検索表示区分」のそれぞれのデータの桁数を算出し、その中から、項目ごとに最大の桁数を算出する。
【００６６】
図９の各項目のデータについて、最大桁数算出処理部２が項目ごとの最大の桁数を算出した場合、たとえば「社員コード」が６桁、「社員名」が３０桁、「フリガナ」が３０桁、「性別」が８桁、「社員区分」が８桁、「在籍区分」が８桁、「所属コード」が６桁、「所属名」が２０桁、「役職コード」が６桁、「役職名」が１０桁、「職種コード」が６桁、「職種名」が１０桁、「個人外線（所属代表以外）」が２４桁、「個人内線」が１０桁、「携帯ＴＥＬ１」が１３桁、「携帯ＴＥＬ２」が１３桁、「メモ」が１００桁、「マスター検索表示区分」が１６桁、であったとする。
【００６７】
つぎに、枠数算出処理部３は、最大桁数算出処理部２で算出した、各項目ごとの最大桁数に基づいて、図４に示す参照テーブルを参照することで、各項目ごとに必要な枠数を算出する（Ｓ１２０）。
【００６８】
上記例の場合、各項目の最大桁数に基づいて、図４（ｂ）の参照テーブルを参照すると、「社員コード」が１枠、「社員名」が２枠、「フリガナ」が２枠、「性別」が１枠、「社員区分」が１枠、「在籍区分」が１枠、「所属コード」が１枠、「所属名」が１枠、「役職コード」が１枠、「役職名」が１枠、「職種コード」が１枠、「職種名」が１枠、「個人外線（所属代表以外）」が２枠、「個人内線」が１枠、「携帯ＴＥＬ１」が１枠、「携帯ＴＥＬ２」が１枠、「メモ」が５枠、「マスター検索表示区分」が１枠として、必要な枠数を算出することが出来る。
【００６９】
そして、項目配置処理部４は、各項目について、必要となる枠数に従って、１行目から順に配置をする（Ｓ１３０）。たとえば、本実施例では「Ａ４横」のサイズでの出力指示であり、１行に１０枠の出力が可能であるとして設定されている場合、項目配置処理部４は、１０枠分の項目を順に、配置する。そうすると、１行目には、左から順に、「社員コード」（１枠）、「社員名」（２枠）、「フリガナ」（２枠）、「性別」（１枠）、「社員区分」（１枠）、「在籍区分」（１枠）、「所属コード」（１枠）、「所属名」（１枠）が順に配置される。
【００７０】
そして１行では項目を配置しきれていないので、項目配置処理部４は、２行目以降にも各項目を配置する（Ｓ１４０）。この際に、項目配置処理部４は、あらかじめ定められた例外条件に該当するかを判定する（Ｓ１５０）。
【００７１】
本実施例では出力サイズが「Ａ４横」であることから、例外条件としては、「１行目の２項目目の終了位置または１項目目の終了位置が３枠内に収まっているか」を項目配置処理部４は判定する。そうすると、項目配置処理部４は、１行目の２項目の終了位置、１項目目の終了位置は３枠内に収まっていることを判定するので、例外条件が適用されないことを判定する。
【００７２】
例外条件が適用されない場合には、項目配置処理部４は、２行目以降の項目については、あらかじめ設定された項目（ここでは１行目の３項目目に対応する位置）から配置を行う（Ｓ１６０）。
【００７３】
従って、「役職コード」（１枠）は、１行目の３項目目である「フリガナ」の位置から配置を開始する。そのため、２行目には、「役職コード」（１枠）、「役職名」（１枠）、「職種コード」（１枠）、「職種名」（１枠）、「個人外線（所属代表以外）」（２枠）、「個人内線」（１枠）が配置される。
【００７４】
同様に、３行目については、「携帯ＴＥＬ１」（１枠）、「携帯ＴＥＬ２」（１枠）、「メモ」（５枠）が、１行目の３項目目である「フリガナ」の位置から配置される。そして４行目についても同様に、「マスター検索表示区分」（１枠）が、１行目の３項目目である「フリガナ」の位置から配置される。
【００７５】
以上のようにして、項目配置処理部４は、図９の項目を複数行にわたって、順に配置する。またその際に、項目配置処理部４は、縦罫線をそれぞれの項目の間の１桁を利用して描画する。
【００７６】
そして、各項目の配置処理が終了後、出力処理部５は、社員情報マスタファイルの各項目のデータを、それぞれの対応位置に出力する（Ｓ１８０）。このようにして出力処理されるのが図１２である。
【００７７】
そして出力処理部５で生成した出力データ（図１２）を業務処理部は、ユーザ端末に送り、ユーザ端末で出力処理を実行する。
【００７８】
以上のように、１レコードの項目が２行以上にわたる場合に、２行目以降の項目の配置を、１行目の所定項目目（ここでは３項目目）または所定枠目（例外条件が適用される場合）から配置を行うことによって、２行目以降の項目は、左側に空欄が自動的に生成される。そのため、一連のデータであることの認識が容易に行える。これは、本発明による出力（図１２）と、従来の出力（図１１）とを比較しても、データの一覧性、視認性の良さは、明白である。
【００７９】
なお、上述のＳ１４０において、１レコードの項目が２行以上にわたらない場合には、そのまま、項目配置処理部４で配置した項目に従って、それぞれに対応するデータをそれぞれの枠に表示させ、出力処理を実行すればよい。１レコードの項目が２行以上にわたらない場合には、従来と同様の見え方での出力となる。
【００８０】
また、上述の例では、Ｓ１５０において例外条件に該当しない場合であったが、例外条件に該当する場合には、例外条件に従って、２行目以降の項目を配置する（Ｓ１７０）。すなわち、「Ａ４横」のサイズの場合には、２行目以降については、左側に所定枠数（たとえば３枠）を空欄とし、その次の枠（上記例では４枠目）を２行目以降の項目配置の開始位置として設定する。
【００８１】
１行目の１項目目、２項目目に多くの枠数を利用している場合（１項目目、２項目目の最大桁数が大きい場合）、２行目以降の項目を、そのままＳ１６０に従って（例外条件ではなく通常どおりの項目の配置条件に従って）、１行目の３項目目の位置から配置してしまうと、逆に視認性が悪化することとなる。そこで、１行目の所定項目（好ましくは、１項目目と２項目目）の枠数に応じて、例外条件であるかを判定し、その結果に従って、２行目以降の項目の開始位置を設定することで、常に一覧性、視認性良く、出力することが出来る。
【産業上の利用可能性】
【００８２】
本発明の帳票自動レイアウトシステム１を用いることによって、１レコードが複数行にわたるような複雑な帳票のデータの一覧性、視認性を向上させた上で、出力することが可能となる。
【符号の説明】
【００８３】
１：帳票自動レイアウトシステム
２：最大桁数算出処理部
３：枠数算出処理部
４：項目配置処理部
５：出力処理部
２０：演算装置
２１：記憶装置
２２：表示装置
２３：入力装置
２４：通信装置
【要約】
【課題】
業務システムで出力する帳票のデータの一覧性、視認性を向上させる帳票自動レイアウトシステムを提供することを目的とする。
【解決手段】
出力対象となる帳票の各項目のうち、各項目のデータの最大桁数を算出する最大桁数算出処理部と、算出した項目ごとの最大桁数に基づいて、少なくとも該項目のデータを表示するための領域である枠の必要数を算出する枠数算出処理部と、１レコードの項目を、枠数算出処理部で算出した枠単位で配置する項目配置処理部と、配置した項目に対応する位置に、帳票のデータを出力する出力処理部と、備えており、項目配置処理部は、枠に従って項目を１行目から順に配置を開始し、１レコードの項目の配置が複数行にわたる場合には、１行目の２項目目以降または２枠目以降に対応する位置を２行目以降の項目の配置の開始位置として、２行目以降の項目の配置を行う、帳票自動レイアウトシステムである。
【選択図】  図１【図１】
0004719819.tif 000002
【図２】
0004719819.tif 000003
【図３】
0004719819.tif 000004
【図４】
0004719819.tif 000005
【図５】
0004719819.tif 000006
【図６】
0004719819.tif 000007
【図７】
0004719819.tif 000008
【図８】
0004719819.tif 000009
【図９】
0004719819.tif 000010
【図１０】
0004719819.tif 000011
【図１１】
0004719819.tif 000012
【図１２】
0004719819.tif 000013