帳票自動レイアウトシステム
【課題】
業務システムで出力する帳票のデータの一覧性、視認性を向上させる帳票自動レイアウトシステムを提供することを目的とする。
【解決手段】
出力対象となる帳票の各項目のうち、各項目のデータの最大桁数を算出する最大桁数算出処理部と、算出した項目ごとの最大桁数に基づいて、少なくとも該項目のデータを表示するための領域である枠の必要数を算出する枠数算出処理部と、1レコードの項目を、枠数算出処理部で算出した枠単位で配置する項目配置処理部と、配置した項目に対応する位置に、帳票のデータを出力する出力処理部と、備えており、項目配置処理部は、枠に従って項目を1行目から順に配置を開始し、1レコードの項目の配置が複数行にわたる場合には、1行目の2項目目以降または2枠目以降に対応する位置を2行目以降の項目の配置の開始位置として、2行目以降の項目の配置を行う、帳票自動レイアウトシステムである。
業務システムで出力する帳票のデータの一覧性、視認性を向上させる帳票自動レイアウトシステムを提供することを目的とする。
【解決手段】
出力対象となる帳票の各項目のうち、各項目のデータの最大桁数を算出する最大桁数算出処理部と、算出した項目ごとの最大桁数に基づいて、少なくとも該項目のデータを表示するための領域である枠の必要数を算出する枠数算出処理部と、1レコードの項目を、枠数算出処理部で算出した枠単位で配置する項目配置処理部と、配置した項目に対応する位置に、帳票のデータを出力する出力処理部と、備えており、項目配置処理部は、枠に従って項目を1行目から順に配置を開始し、1レコードの項目の配置が複数行にわたる場合には、1行目の2項目目以降または2枠目以降に対応する位置を2行目以降の項目の配置の開始位置として、2行目以降の項目の配置を行う、帳票自動レイアウトシステムである。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、業務システムで出力する帳票のデータの一覧性、視認性を向上させる帳票自動レイアウトシステムに関する。
【背景技術】
【0002】
近年、企業などにおいては、その業務活動の遂行にあたり、企業内のデータを収集し、さまざまな角度から分析し、経営戦略の実行を支援する各種の業務システムが用いられている。このような業務システムは、導入したあとも、ユーザである企業の成長や戦略にあわせて、柔軟かつタイムリーにその業務システムを変更する必要がある。そのため、業務システムの修正、変更が不可欠となっている。
【0003】
しかし、完成品であるパッケージシステムの業務システムの場合、これらのシステム修正、変更は、システムの開発元、ベンダーなどに委託して行う必要があり、多くのコストと工数とを要することとなる。
【0004】
そこで、それらを改善するために、業務システムにおいてカスタマイズを行うことが可能なカスタマイズシステムが用いられる。このカスタマイズシステムを用いることによって、業務システムの修正、変更に伴うプログラマ等の作業工数を軽減できるので、システム修正、変更にかかるコストや工数を軽減することが出来る。
【0005】
ところが、カスタマイズシステムを用いて業務システムを修正、変更した上で業務システムにおける帳票を出力する場合、カスタマイズシステムによって各項目のレイアウトなどが自由に配置されるように設計されるため、それをそのまま出力したのでは、業務システムであらかじめ用意されている定型の帳票レイアウトに比較すると、一覧性、視認性の点で問題がある。とくに、1レコードが複数行にわたって表示される帳票の場合には、一覧性、視認性が著しく低下することとなる。このような帳票の一例を図11に示す。
【0006】
図11の場合、1レコードに「社員コード」、「社員名」、「フリガナ」、「性別」、「社員区分」、「在籍区分」、「所属コード」、「所属名」、「役職コード」、「役職名」、「職種コード」、「職種名」、「個人外線(所属代表以外)」、「個人内線」、「携帯TEL1」、「携帯TEL2」、「メモ」、「マスター検索表示区分」の各項目が含まれている。そのため、1レコードあたり、3行にわたって表示されることとなる。
【0007】
一般的には、各レコードが順に表示されるため、図11に示すように、1レコードあたり、単純に3行ずつにわたって、そのデータを表示することとなるが、ある項目の名称とデータとの対応や、どこまでが1レコードであるかが、極めて分かりにくく、一覧性、視認性に欠けることとなる。
【0008】
そこで帳票の一覧性、視認性を向上させるために、特許文献1に記載のシステムでは、自動的に帳票レイアウトを決定するシステムが開示されている。また非特許文献1、非特許文献2のソフトウェアを用いることで、帳票のレイアウトについて、視認性を向上させることが出来る。
【先行技術文献】
【特許文献】
【0009】
【特許文献1】特開2005−18332号公報
【非特許文献】
【0010】
【非特許文献1】インフォテック・アーキテクツ株式会社、”可変明細表”、[online]、インターネット<URL:http://www.itarchitects.co.jp/c_form/1_65.html>
【非特許文献2】ウイングアーク テクノロジーズ株式会社、”SVFX-Designer”、[online]、インターネット<URL:http://www.wingarc.com/product/svf/lineup/designer.html>
【発明の概要】
【発明が解決しようとする課題】
【0011】
特許文献1のシステムでは、データの内容を判別して、自動的に帳票レイアウトを決定する構成を採っている。しかし、データの存在しない行を自動的に判別し、この行を削除して表示させることが記載されているのみであるから、上述の図11のように、各レコードのデータ項目にデータが含まれている場合には、対応することが出来ない。
【0012】
また非特許文献1および非特許文献2のソフトウェアでは、帳票の各項目の罫線幅をユーザが手動で変更可能とすることで、視認性を向上させるものである。そのため、1レコードが複数行にわたる場合に、自動でその一覧性、視認性を向上させるものではない。
【課題を解決するための手段】
【0013】
そこで本発明者は、1レコードが複数行にわたるような複雑な帳票の場合であっても、業務システムで出力する帳票のデータの一覧性、視認性を向上させる帳票自動レイアウトシステムを発明した。
【0014】
第1の発明は、1レコードの項目が複数行にわたって表示される帳票の自動レイアウトを行う帳票自動レイアウトシステムであって、前記帳票自動レイアウトシステムは、出力対象となる帳票の各項目のうち、各項目のデータの最大桁数を算出する最大桁数算出処理部と、前記算出した項目ごとの最大桁数に基づいて、少なくとも該項目のデータを表示するための領域である枠の必要数を算出する枠数算出処理部と、前記1レコードの項目を、前記枠数算出処理部で算出した枠単位で配置する項目配置処理部と、前記配置した項目に対応する位置に、前記帳票のデータを出力する出力処理部と、を備えており、前記項目配置処理部は、枠に従って前記項目を1行目から順に配置を開始し、前記1レコードの項目の配置が複数行にわたる場合には、1行目の2項目目以降または2枠目以降に対応する位置を2行目以降の項目の配置の開始位置として、2行目以降の項目の配置を行う、帳票自動レイアウトシステムである。
【0015】
本発明のように構成することで各項目が枠単位で配置されることになる。そのため、各項目の縦方向の配置位置が整列され、項目の名称とデータとの対応がわかりやすくなり、一覧性、視認性の向上に繋がる。また、2行目以降の項目の配置の開始位置は、少なくとも1枠以上の空欄が設けられていることとなる。そのため、どこまでが1レコードであるかの認識がわかりやすく、帳票のデータの一覧性、視認性の向上に繋がる。
【0016】
上述の発明において、前記項目配置処理部は、枠に従って前記項目を1行目から順に配置を開始し、前記1レコードの項目の配置が複数行にわたる場合には、前記出力対象となる帳票の出力条件に対応する例外条件に該当するかを判定し、例外条件に該当しない場合には、1行目の2項目目以降または2枠目以降に対応する位置を2行目以降の項目の配置の開始位置として、2行目以降の項目の配置を行い、例外条件に該当する場合には、前記例外条件に該当しない場合の開始位置を定める条件とは異なる条件による開始位置から、2行目以降の項目の配置を行う、帳票自動レイアウトシステムのように構成することも出来る。
【0017】
左端あるいは左側に配置される項目のデータの桁数が多い場合には、あらかじめ設定された条件に従ってそのまま配置したのでは、逆にデータの一覧性、視認性の悪化に繋がる。そこで、本発明のように、1レコードの項目が複数行にわたって配置される場合には、まず例外条件に該当するかを判定し、それに該当するか否かで、2行目以降の項目の配置の開始位置の条件を区別すると良い。
【0018】
上述の発明において、前記項目配置処理部は、枠に従って前記項目を1行目に順に配置を開始し、前記1レコードの項目の配置が複数行にわたる場合には、前記出力対象となる帳票の出力条件に対応する例外条件に該当するかを判定し、例外条件に該当しない場合には、1行目の3項目目に対応する位置を開始位置として、2行目以降の項目の配置を行い、例外条件に該当する場合には、1行目の3項目目に対応する位置よりも左側の枠の位置を開始位置として、2行目以降の項目の配置を行う、帳票自動レイアウトシステムのように構成することも出来る。
【0019】
2行目以降の項目の配置の開始位置の条件として、本発明のような2つの条件によって区別しても良い。
【0020】
上述の発明において、前記項目配置処理部は、前記項目と項目とを縦方向に区切る縦罫線について、前記項目における端の枠に隣接する1桁または前記項目における枠の端の1桁に縦線を描画することで、縦罫線を設ける、帳票自動レイアウトシステムのように構成することも出来る。
【0021】
従来、項目と項目とを区切る縦罫線には、桁と桁との間に設けられる。そのため、データと縦罫線とが密着し、視認性の悪化に繋がっている。そこで本発明のように、縦罫線として1桁を用いることによって、データと縦罫線との間に間隙を設けることが出来る。これによって、データと縦罫線とが密着することなく、視認性の向上に繋がる。
【0022】
上述の発明において、前記出力対象となる帳票の出力条件として、出力サイズである、帳票自動レイアウトシステムのように構成することが出来る。
【0023】
例外条件は、出力サイズによって変わることが好ましい。出力サイズの相違によって、出力可能な範囲が変わるためである。
【発明の効果】
【0024】
本発明の帳票自動レイアウトシステムを用いることによって、1レコードが複数行にわたるような複雑な帳票のデータの一覧性、視認性を向上させた上で、出力することが可能となる。
【図面の簡単な説明】
【0025】
【図1】本発明の帳票自動レイアウトシステムのシステム構成の一例を模式的に示す概念図である。
【図2】本発明の処理プロセスの一例を模式的に示すフローチャートである。
【図3】帳票自動レイアウトシステム、業務システムのハードウェア構成の一例を模式的に示す概念図である。
【図4】参照テーブルの一例を模式的に示す図である。
【図5】縦罫線について模式的に説明する図である。
【図6】項目配置処理部において、A4横サイズでの例外条件に従った項目の配置を行った場合を模式的に示す図である。
【図7】項目配置処理部において、A4縦サイズでの例外条件に従った項目の配置を行った場合を模式的に示す図である。
【図8】項目配置処理部において、例外条件に該当しない場合に項目の配置を行った場合を模式的に示す図である。
【図9】実施例1における社員情報マスタファイルの一例を模式的に示す図である。
【図10】実施例1において自動レイアウト処理を行うかを選択するための画面の一例である。
【図11】自動レイアウト処理を行わずに、通常どおり出力処理をした場合の一例である。
【図12】自動レイアウト処理を行って出力処理をした場合の一例である。
【発明を実施するための形態】
【0026】
本発明の帳票自動レイアウトシステム1のシステム構成の一例を図1の概念図に模式的に示す。
【0027】
本発明の帳票自動レイアウトシステム1は、業務システムと連動して用いられることが好ましく、業務システムで出力する(印刷での出力、画面表示での出力、ファイルへの出力などが含まれる)帳票にかかる処理を実行する際に用いられることが好ましい。本明細書における帳票とは、行方向および/または列方向に設定された項目のそれぞれにデータが対応づけられるデータ形式である。またデータがない項目については、空欄(NULL)としても良い。
【0028】
なお本明細書において、項目のデータには、項目におけるデータ(たとえば図12における「第一事業部 販売課」など)のほか、項目における項目名(たとえば図12における「所属名」など)も含まれる。
【0029】
業務システムは、企業などの業務活動の遂行に用いるコンピュータシステムである。業務システムには、上記業務活動に関する処理を実行する基幹系システム、情報系システムが該当する。これらの一例としては、たとえば販売管理システム、購買管理システム、財務管理システム、人事管理システム、給与管理システム、生産管理システム、グループウェアシステム、ドキュメント管理システム、ワークフローシステム、スケジューラーシステムなどが該当するが、これらに限定されるものではない。
【0030】
帳票自動レイアウトシステム1、業務システムは、プログラムの演算処理を実行するCPUなどの演算装置20と、情報を記憶するRAMやハードディスクなどの記憶装置21と、ディスプレイ(画面)などの表示装置22と、キーボードやポインティングデバイス(マウスやテンキーなど)などの入力装置23と、演算装置20の処理結果や記憶装置21に記憶する情報をインターネットやLANなどのネットワークを介して送受信する通信装置24とを有していることが好ましい。コンピュータ上で実現する各機能(各手段)は、その処理を実行する手段(プログラムやモジュールなど)が演算装置20に読み込まれることでその処理が実行される。各機能は、記憶装置21に記憶した情報をその処理において使用する場合には、該当する情報を当該記憶装置21から読み出し、読み出した情報を適宜、演算装置20における処理に用いる。図3に帳票自動レイアウトシステム1、業務システムのハードウェア構成の一例を模式的に示す。また、帳票自動レイアウトシステム1、業務システムは、複数のコンピュータ端末またはサーバに、その機能が分散配置されていても良い。
【0031】
本発明における各手段は、その機能が論理的に区別されているのみであって、物理上あるいは事実上は同一の領域を為していても良い。
【0032】
また帳票自動レイアウトシステム1と業務システムとは一体的に構成されていても良い。つまり、帳票自動レイアウトシステム1が業務システムの一機能として取り込まれていても良い。
【0033】
業務システムは、各種の帳票データを記憶する帳票データ記憶部とそれを用いた業務活動に関する処理を実行する業務処理部とを有している。帳票データ記憶部に記憶する帳票データとしては、社員情報マスタファイル、得意先マスタファイル、仕入先マスタファイル、商品マスタファイルなどがあるが、これらに限定されず、業務システムの目的に応じた各種のマスタファイル(帳票データ)を備えている。また、これらは、出力の際に、帳票形式で出力されるデータを含んでいる。
【0034】
業務処理部は、帳票データ記憶部に記憶するデータを読み出し/記憶させ、目的に応じた業務活動に関する処理を実行する。
【0035】
業務システムとしては、通常の業務システムであればよく、また、特許第4486159号のようにカスタマイズ、特に帳票データとして出力するデータのカスタマイズが行えても良い。
【0036】
帳票自動レイアウトシステム1は、最大桁数算出処理部2と枠数算出処理部3と項目配置処理部4と出力処理部5とを有する。
【0037】
最大桁数算出処理部2は、業務システムの帳票データ記憶部に記憶する帳票データのうち、出力対象となる帳票データにおける各項目において、項目ごとのデータの最大桁数を算出する。なお、ここで桁とは、半角1文字を1桁とするが、全角1文字を1桁としても良いことは言うまでもない。またデータの桁数としては、実際に入力されているデータの最大桁数であっても良いし、データ定義として確保されている最大桁数であっても良い。
【0038】
つまり最大桁数算出処理部2は、出力対象となる帳票データにおける各データの桁数(半角文字(または全角文字)での文字数)を取得し、それに基づいて、最大の桁数を、各項目ごとに算出する。
【0039】
枠数算出処理部3は、最大桁数算出処理部2で算出した、各項目の最大桁数に基づいて、所定数の桁を一単位とする枠の必要数を算出する。なお枠とは、各項目のデータ(または項目のデータ、縦罫線)を表示するための領域であり、この枠内に、各項目のデータが表示される。また1枠に何桁を表示させるかは任意に設定可能であり、たとえば10桁、16桁のように定めることも出来る。
【0040】
必要な枠数は、たとえば図4に模式的に示す参照テーブルを参照することで枠数を算出することが出来る。図4(a)は1枠に16桁、1行に最大10枠が表示できる場合の参照テーブルである。また図4(b)は図4(a)の1枠と同じまま、1枠内に表示するデータを所定の縮小率(図4(b)の場合には80%)で表示する場合である。すなわち、通常の大きさであれば16桁のデータが1枠に収まるが、最大桁数が17桁〜20桁の場合には、該当部分のデータを80%などの所定の比率で縮小し、1枠内に収める場合である。従って、図4(b)の場合には、1枠に最大で20桁のデータが収まる。
【0041】
データの縮小は、所定比率、たとえば80%の比率の文字フォントのサイズで対応すればよい。また、最大桁数が17桁〜20桁の項目については、当該項目のすべてのデータを当該縮小率で表示しても良いし、1桁〜16桁のデータについては通常の大きさで表示し、17桁〜20桁のデータだけ当該縮小率で縮小しても良い。
【0042】
縦罫線とは、縦方向に枠と枠とを区切る罫線である。この処理については後述の項目配置処理部4で説明する。
【0043】
枠数算出処理部3は、ある項目の最大桁数が15桁の場合には、当該項目としての必要な枠数を1枠、最大桁数が18桁の場合には当該項目としての必要な枠数を1枠、最大桁数が27桁の場合には当該項目としての必要な枠数を2枠、最大桁数が100桁の場合には、必要な枠数として5枠として算出する。なお必要な枠数は、1枠あたりの桁数、縮小率、などによっても変わるが、その場合には,それらに応じた参照テーブルを用いることで、枠数を算出可能である。
【0044】
なお、図4のような参照テーブルを用いるほか、所定の換算式によって、必要な枠数を算出しても良い。
【0045】
項目配置処理部4は、枠数算出処理部3で算出した枠単位で表示される項目を、1行目左側から順に配置をする。ただし帳票データのすべての項目を配置するのが1行に収まらない場合には、2行目以降にわたって配置する。
【0046】
なお、1行に収まるか否かは、1行の大きさを枠数の大きさで除すれば算出できるが、出力する際のサイズ(たとえば「A4横」、「A4縦」など)に応じて、1行あたりの枠数をあらかじめ設定しておいても良い。
【0047】
項目配置処理部4が2行以上にわたって項目を配置する場合、まず例外条件に該当するかを項目配置処理部4は判定する。ここで例外条件とは、紙や表示装置22、ファイルに出力する際の出力条件、たとえば出力サイズ(たとえば「A4横」、「A4縦」など)、カラー印刷か否か、出力方法(紙、表示、ファイル)などに応じて設定されることが好ましい。
【0048】
たとえばA4横のサイズで出力する場合の例外条件としては、1行目の2項目目の終了位置または1項目目の終了位置が3枠内に収まっていない場合には、2行目以降については、左側に所定枠数(たとえば3枠)を空欄とし、その次の枠(上記例では4枠目)を2行目以降の項目配置の開始位置として設定する。これを模式的に示すのが、図6である。
【0049】
元の帳票データが図6(a)のような場合、1行目の2項目目の終了位置が4枠目であることから、例外条件が適用されることを、項目配置処理部4は判定する。従って、項目配置処理部4は、2行目以降については、左側の所定枠数(たとえば3枠)を空欄とし、その次の枠(4枠目)を2行目以降の項目配置の開始位置として設定し、各項目のデータをそれらに対応するように配置する。これを模式的に示すのが図6(b)である。
【0050】
また、A4縦のサイズで出力する場合の例外条件としては、1行目の2項目目の終了位置または1項目目の終了位置が2枠内に収まっていない場合には、2行目以降については、左側に所定枠数(たとえば2枠)を空欄とし、その次の枠(上記例では3枠目)を2行目以降の項目配置の開始位置として設定する。これを模式的に示すのが図7である。
【0051】
元の帳票データが図7(a)のような場合、1行目の2項目目の終了位置が3枠目であることから、例外条件が適用されることを、項目配置処理部4は判定する。従って、項目配置処理部4は、2行目以降については、左側の所定枠数(たとえば2枠)を空欄とし、その次の枠(3枠目)を2行目以降の項目配置の開始位置として設定し、各項目のデータをそれらに対応するように配置する。これを模式的に示すのが図7(b)である。
【0052】
また、項目配置処理部4は、あらかじめ定められた例外条件に該当しないことを判定した場合には、2行目以降について、あらかじめ設定された項目(たとえば1行目の3項目に対応する位置が一例としてあるが、これに限定されない。少なくとも左側に1枠以上の空欄がある枠の位置であれば良い)から配置を行う。たとえば1行目の2項目に相当する枠数を空欄とし、その次(1行目の3項目に対応する位置)から配置を行う。
【0053】
元の帳票データが図8(a)のような場合(出力するサイズがA4横であるとする)、1行目の2項目目の終了位置が3枠目であることから、例外条件は適用されないことを、項目配置処理部4は判定する。従って、項目配置処理部4は、2行目以降については、1行目の3項目に対応する位置を開始位置として設定し、各項目のデータをそれらに対応するように2行目に配置する。これを模式的に示すのが図8(b)である。
【0054】
なお図6乃至図8において、枠数は説明のために示していることから、実際には枠数の表示がなされないようにしても良い。
【0055】
また項目配置処理部4は、縦罫線に関する処理を実行(縦罫線を描画)する。縦罫線とは、枠を区切るために表示する縦方向の罫線である。通常、罫線は、桁と桁の間で引かれるが、本発明の帳票自動レイアウトシステム1では、縦罫線のために1桁を利用して、そこに縦線を描画する。好ましくは、各項目の端の枠に隣接する1桁(たとえば、項目が1枠の場合にはその枠に隣接する1桁、項目が2枠の場合には左側の枠に隣接する1桁や右側の枠に隣接する1桁、項目が3枠の場合には左端の枠に隣接する1桁や右端の枠に隣接する1桁)を確保し、その1桁のうち、中心付近に縦線を描画することがよい。これによって、1枠の最大桁数のデータとなった場合でも、半桁ずつの間隙が出来るので、データの視認性が向上する。縦罫線についての説明を図5に示す。なお図5では、1枠が16桁の場合を示しているが、上述のように、1枠の桁数は任意に設定することが出来る。また枠および桁は、説明のために示しているに過ぎず、実際には表示がなされないようにしてもよい。
【0056】
なお上述の説明や図5では、縦罫線を描画する桁が枠に隣接する場合を示したが、項目における端の枠の端の1桁において、縦罫線が描画されても良い。この場合、項目と項目とが隣接する場合には、いずれか一方の項目における端の枠の端の1桁に縦罫線が描画され、隣接する他方の項目における端の枠には縦罫線を描画せずとも良い。2重に縦罫線が描画されることを防止するためである。
【0057】
図5(a)は、本発明のように、縦罫線のために1桁を利用した場合を示す図である。また、図5(b)は、縦罫線を従来どおりの方法で引いた場合を示す図である。図5(b)の場合、縦罫線が桁と桁との間の区切り線として引かれるため、その前後にデータが入った場合、データと縦罫線とが密着し、視認性が悪化する。一方、本願発明の図5(a)の場合、縦罫線のために1桁を利用しているため、仮にその前後にデータが入ったとしても、データと縦罫線とが密着することがなく、半桁分の間隙が生じる。そのため、視認性を保つことが出来る。
【0058】
出力処理部5は、帳票データ記憶部に記憶する帳票データを参照し、項目配置処理部4で配置した項目に従って、それぞれに対応するデータをそれぞれの枠内に表示させ、出力処理を実行する。出力処理としては、ユーザが利用する所定の印刷装置(図示せず)から紙媒体に印刷し出力する、ユーザが利用する所定の表示装置22に表示する、ユーザが利用するコンピュータ端末にファイルとして出力する、などがある。
【実施例1】
【0059】
つぎに本発明の帳票自動レイアウトシステム1の処理プロセスを図2のフローチャートを用いて説明する。なお、本実施例では、帳票データ記憶部に記憶する帳票データである社員情報マスタファイルのデータを出力する場合を説明する。またその各項目のデータの内容の一部が図9であるとする。
【0060】
業務システムを利用するユーザが、社員情報マスタファイルの帳票データの出力を所望する場合、当該ユーザが利用するコンピュータ端末(以下、「ユーザ端末」という)において所定の操作を行う。そうすると、図10に示すような自動レイアウトを行うか否かを選択するための画面がユーザ端末において、表示される。
【0061】
この画面において、ユーザが、「2行以上になったときに列を揃える」など、自動レイアウトを行うことを意味する選択を行うと、ユーザ端末から業務システムに対して、自動レイアウトを行った上での出力指示が送られる。一方、この画面において、ユーザが、「2行以上になったときに列を揃える」など、自動レイアウトを行うことを意味する選択を行わないと、ユーザ端末から業務システムに対して、通常どおりの出力指示が送られる。また、この際に、出力サイズ(たとえば「A4横」、「A4縦」など。なお、これらに限定されない)を指定することが好ましい。
【0062】
そして、自動レイアウトを行わない場合には(S100)、業務システムの業務処理部は、ユーザ端末から送られた、通常どおりの出力指示を受け取り、通常どおり、社員情報マスタファイルから、出力対象となるデータを抽出し、出力処理を実行する。通常どおりの出力指示の場合、図9のデータの内容は、左側から順に出力される。この場合の出力の一例を図11に示す。
【0063】
一方、自動レイアウトを行う場合には(S100)、業務システムの業務処理部は、ユーザ端末から送られた、自動レイアウトを行った上での出力指示を受け取る。そして、自動レイアウトを行った上で出力処理を行うことを業務処理部は、帳票自動レイアウトシステム1に渡す。この際に、出力対象のデータを特定する情報(たとえば対象となる帳票データ、出力範囲、部数、出力サイズなど)があわせて渡されると良い。
【0064】
帳票自動レイアウトシステム1で自動レイアウトを行った上での出力指示を業務処理部から受け取ると、最大桁数算出処理部2は、出力対象となる帳票データである、社員情報マスタファイルを参照することで、各項目のデータにおける最大桁数を算出する(S110)。
【0065】
つまり、各項目「社員コード」、「社員名」、「フリガナ」、「性別」、「社員区分」、「在籍区分」、「所属コード」、「所属名」、「役職コード」、「役職名」、「職種コード」、「職種名」、「個人外線(所属代表以外)」、「個人内線」、「携帯TEL1」、「携帯TEL2」、「メモ」、「マスター検索表示区分」のそれぞれのデータの桁数を算出し、その中から、項目ごとに最大の桁数を算出する。
【0066】
図9の各項目のデータについて、最大桁数算出処理部2が項目ごとの最大の桁数を算出した場合、たとえば「社員コード」が6桁、「社員名」が30桁、「フリガナ」が30桁、「性別」が8桁、「社員区分」が8桁、「在籍区分」が8桁、「所属コード」が6桁、「所属名」が20桁、「役職コード」が6桁、「役職名」が10桁、「職種コード」が6桁、「職種名」が10桁、「個人外線(所属代表以外)」が24桁、「個人内線」が10桁、「携帯TEL1」が13桁、「携帯TEL2」が13桁、「メモ」が100桁、「マスター検索表示区分」が16桁、であったとする。
【0067】
つぎに、枠数算出処理部3は、最大桁数算出処理部2で算出した、各項目ごとの最大桁数に基づいて、図4に示す参照テーブルを参照することで、各項目ごとに必要な枠数を算出する(S120)。
【0068】
上記例の場合、各項目の最大桁数に基づいて、図4(b)の参照テーブルを参照すると、「社員コード」が1枠、「社員名」が2枠、「フリガナ」が2枠、「性別」が1枠、「社員区分」が1枠、「在籍区分」が1枠、「所属コード」が1枠、「所属名」が1枠、「役職コード」が1枠、「役職名」が1枠、「職種コード」が1枠、「職種名」が1枠、「個人外線(所属代表以外)」が2枠、「個人内線」が1枠、「携帯TEL1」が1枠、「携帯TEL2」が1枠、「メモ」が5枠、「マスター検索表示区分」が1枠として、必要な枠数を算出することが出来る。
【0069】
そして、項目配置処理部4は、各項目について、必要となる枠数に従って、1行目から順に配置をする(S130)。たとえば、本実施例では「A4横」のサイズでの出力指示であり、1行に10枠の出力が可能であるとして設定されている場合、項目配置処理部4は、10枠分の項目を順に、配置する。そうすると、1行目には、左から順に、「社員コード」(1枠)、「社員名」(2枠)、「フリガナ」(2枠)、「性別」(1枠)、「社員区分」(1枠)、「在籍区分」(1枠)、「所属コード」(1枠)、「所属名」(1枠)が順に配置される。
【0070】
そして1行では項目を配置しきれていないので、項目配置処理部4は、2行目以降にも各項目を配置する(S140)。この際に、項目配置処理部4は、あらかじめ定められた例外条件に該当するかを判定する(S150)。
【0071】
本実施例では出力サイズが「A4横」であることから、例外条件としては、「1行目の2項目目の終了位置または1項目目の終了位置が3枠内に収まっているか」を項目配置処理部4は判定する。そうすると、項目配置処理部4は、1行目の2項目の終了位置、1項目目の終了位置は3枠内に収まっていることを判定するので、例外条件が適用されないことを判定する。
【0072】
例外条件が適用されない場合には、項目配置処理部4は、2行目以降の項目については、あらかじめ設定された項目(ここでは1行目の3項目目に対応する位置)から配置を行う(S160)。
【0073】
従って、「役職コード」(1枠)は、1行目の3項目目である「フリガナ」の位置から配置を開始する。そのため、2行目には、「役職コード」(1枠)、「役職名」(1枠)、「職種コード」(1枠)、「職種名」(1枠)、「個人外線(所属代表以外)」(2枠)、「個人内線」(1枠)が配置される。
【0074】
同様に、3行目については、「携帯TEL1」(1枠)、「携帯TEL2」(1枠)、「メモ」(5枠)が、1行目の3項目目である「フリガナ」の位置から配置される。そして4行目についても同様に、「マスター検索表示区分」(1枠)が、1行目の3項目目である「フリガナ」の位置から配置される。
【0075】
以上のようにして、項目配置処理部4は、図9の項目を複数行にわたって、順に配置する。またその際に、項目配置処理部4は、縦罫線をそれぞれの項目の間の1桁を利用して描画する。
【0076】
そして、各項目の配置処理が終了後、出力処理部5は、社員情報マスタファイルの各項目のデータを、それぞれの対応位置に出力する(S180)。このようにして出力処理されるのが図12である。
【0077】
そして出力処理部5で生成した出力データ(図12)を業務処理部は、ユーザ端末に送り、ユーザ端末で出力処理を実行する。
【0078】
以上のように、1レコードの項目が2行以上にわたる場合に、2行目以降の項目の配置を、1行目の所定項目目(ここでは3項目目)または所定枠目(例外条件が適用される場合)から配置を行うことによって、2行目以降の項目は、左側に空欄が自動的に生成される。そのため、一連のデータであることの認識が容易に行える。これは、本発明による出力(図12)と、従来の出力(図11)とを比較しても、データの一覧性、視認性の良さは、明白である。
【0079】
なお、上述のS140において、1レコードの項目が2行以上にわたらない場合には、そのまま、項目配置処理部4で配置した項目に従って、それぞれに対応するデータをそれぞれの枠に表示させ、出力処理を実行すればよい。1レコードの項目が2行以上にわたらない場合には、従来と同様の見え方での出力となる。
【0080】
また、上述の例では、S150において例外条件に該当しない場合であったが、例外条件に該当する場合には、例外条件に従って、2行目以降の項目を配置する(S170)。すなわち、「A4横」のサイズの場合には、2行目以降については、左側に所定枠数(たとえば3枠)を空欄とし、その次の枠(上記例では4枠目)を2行目以降の項目配置の開始位置として設定する。
【0081】
1行目の1項目目、2項目目に多くの枠数を利用している場合(1項目目、2項目目の最大桁数が大きい場合)、2行目以降の項目を、そのままS160に従って(例外条件ではなく通常どおりの項目の配置条件に従って)、1行目の3項目目の位置から配置してしまうと、逆に視認性が悪化することとなる。そこで、1行目の所定項目(好ましくは、1項目目と2項目目)の枠数に応じて、例外条件であるかを判定し、その結果に従って、2行目以降の項目の開始位置を設定することで、常に一覧性、視認性良く、出力することが出来る。
【産業上の利用可能性】
【0082】
本発明の帳票自動レイアウトシステム1を用いることによって、1レコードが複数行にわたるような複雑な帳票のデータの一覧性、視認性を向上させた上で、出力することが可能となる。
【符号の説明】
【0083】
1:帳票自動レイアウトシステム
2:最大桁数算出処理部
3:枠数算出処理部
4:項目配置処理部
5:出力処理部
20:演算装置
21:記憶装置
22:表示装置
23:入力装置
24:通信装置
【技術分野】
【0001】
本発明は、業務システムで出力する帳票のデータの一覧性、視認性を向上させる帳票自動レイアウトシステムに関する。
【背景技術】
【0002】
近年、企業などにおいては、その業務活動の遂行にあたり、企業内のデータを収集し、さまざまな角度から分析し、経営戦略の実行を支援する各種の業務システムが用いられている。このような業務システムは、導入したあとも、ユーザである企業の成長や戦略にあわせて、柔軟かつタイムリーにその業務システムを変更する必要がある。そのため、業務システムの修正、変更が不可欠となっている。
【0003】
しかし、完成品であるパッケージシステムの業務システムの場合、これらのシステム修正、変更は、システムの開発元、ベンダーなどに委託して行う必要があり、多くのコストと工数とを要することとなる。
【0004】
そこで、それらを改善するために、業務システムにおいてカスタマイズを行うことが可能なカスタマイズシステムが用いられる。このカスタマイズシステムを用いることによって、業務システムの修正、変更に伴うプログラマ等の作業工数を軽減できるので、システム修正、変更にかかるコストや工数を軽減することが出来る。
【0005】
ところが、カスタマイズシステムを用いて業務システムを修正、変更した上で業務システムにおける帳票を出力する場合、カスタマイズシステムによって各項目のレイアウトなどが自由に配置されるように設計されるため、それをそのまま出力したのでは、業務システムであらかじめ用意されている定型の帳票レイアウトに比較すると、一覧性、視認性の点で問題がある。とくに、1レコードが複数行にわたって表示される帳票の場合には、一覧性、視認性が著しく低下することとなる。このような帳票の一例を図11に示す。
【0006】
図11の場合、1レコードに「社員コード」、「社員名」、「フリガナ」、「性別」、「社員区分」、「在籍区分」、「所属コード」、「所属名」、「役職コード」、「役職名」、「職種コード」、「職種名」、「個人外線(所属代表以外)」、「個人内線」、「携帯TEL1」、「携帯TEL2」、「メモ」、「マスター検索表示区分」の各項目が含まれている。そのため、1レコードあたり、3行にわたって表示されることとなる。
【0007】
一般的には、各レコードが順に表示されるため、図11に示すように、1レコードあたり、単純に3行ずつにわたって、そのデータを表示することとなるが、ある項目の名称とデータとの対応や、どこまでが1レコードであるかが、極めて分かりにくく、一覧性、視認性に欠けることとなる。
【0008】
そこで帳票の一覧性、視認性を向上させるために、特許文献1に記載のシステムでは、自動的に帳票レイアウトを決定するシステムが開示されている。また非特許文献1、非特許文献2のソフトウェアを用いることで、帳票のレイアウトについて、視認性を向上させることが出来る。
【先行技術文献】
【特許文献】
【0009】
【特許文献1】特開2005−18332号公報
【非特許文献】
【0010】
【非特許文献1】インフォテック・アーキテクツ株式会社、”可変明細表”、[online]、インターネット<URL:http://www.itarchitects.co.jp/c_form/1_65.html>
【非特許文献2】ウイングアーク テクノロジーズ株式会社、”SVFX-Designer”、[online]、インターネット<URL:http://www.wingarc.com/product/svf/lineup/designer.html>
【発明の概要】
【発明が解決しようとする課題】
【0011】
特許文献1のシステムでは、データの内容を判別して、自動的に帳票レイアウトを決定する構成を採っている。しかし、データの存在しない行を自動的に判別し、この行を削除して表示させることが記載されているのみであるから、上述の図11のように、各レコードのデータ項目にデータが含まれている場合には、対応することが出来ない。
【0012】
また非特許文献1および非特許文献2のソフトウェアでは、帳票の各項目の罫線幅をユーザが手動で変更可能とすることで、視認性を向上させるものである。そのため、1レコードが複数行にわたる場合に、自動でその一覧性、視認性を向上させるものではない。
【課題を解決するための手段】
【0013】
そこで本発明者は、1レコードが複数行にわたるような複雑な帳票の場合であっても、業務システムで出力する帳票のデータの一覧性、視認性を向上させる帳票自動レイアウトシステムを発明した。
【0014】
第1の発明は、1レコードの項目が複数行にわたって表示される帳票の自動レイアウトを行う帳票自動レイアウトシステムであって、前記帳票自動レイアウトシステムは、出力対象となる帳票の各項目のうち、各項目のデータの最大桁数を算出する最大桁数算出処理部と、前記算出した項目ごとの最大桁数に基づいて、少なくとも該項目のデータを表示するための領域である枠の必要数を算出する枠数算出処理部と、前記1レコードの項目を、前記枠数算出処理部で算出した枠単位で配置する項目配置処理部と、前記配置した項目に対応する位置に、前記帳票のデータを出力する出力処理部と、を備えており、前記項目配置処理部は、枠に従って前記項目を1行目から順に配置を開始し、前記1レコードの項目の配置が複数行にわたる場合には、1行目の2項目目以降または2枠目以降に対応する位置を2行目以降の項目の配置の開始位置として、2行目以降の項目の配置を行う、帳票自動レイアウトシステムである。
【0015】
本発明のように構成することで各項目が枠単位で配置されることになる。そのため、各項目の縦方向の配置位置が整列され、項目の名称とデータとの対応がわかりやすくなり、一覧性、視認性の向上に繋がる。また、2行目以降の項目の配置の開始位置は、少なくとも1枠以上の空欄が設けられていることとなる。そのため、どこまでが1レコードであるかの認識がわかりやすく、帳票のデータの一覧性、視認性の向上に繋がる。
【0016】
上述の発明において、前記項目配置処理部は、枠に従って前記項目を1行目から順に配置を開始し、前記1レコードの項目の配置が複数行にわたる場合には、前記出力対象となる帳票の出力条件に対応する例外条件に該当するかを判定し、例外条件に該当しない場合には、1行目の2項目目以降または2枠目以降に対応する位置を2行目以降の項目の配置の開始位置として、2行目以降の項目の配置を行い、例外条件に該当する場合には、前記例外条件に該当しない場合の開始位置を定める条件とは異なる条件による開始位置から、2行目以降の項目の配置を行う、帳票自動レイアウトシステムのように構成することも出来る。
【0017】
左端あるいは左側に配置される項目のデータの桁数が多い場合には、あらかじめ設定された条件に従ってそのまま配置したのでは、逆にデータの一覧性、視認性の悪化に繋がる。そこで、本発明のように、1レコードの項目が複数行にわたって配置される場合には、まず例外条件に該当するかを判定し、それに該当するか否かで、2行目以降の項目の配置の開始位置の条件を区別すると良い。
【0018】
上述の発明において、前記項目配置処理部は、枠に従って前記項目を1行目に順に配置を開始し、前記1レコードの項目の配置が複数行にわたる場合には、前記出力対象となる帳票の出力条件に対応する例外条件に該当するかを判定し、例外条件に該当しない場合には、1行目の3項目目に対応する位置を開始位置として、2行目以降の項目の配置を行い、例外条件に該当する場合には、1行目の3項目目に対応する位置よりも左側の枠の位置を開始位置として、2行目以降の項目の配置を行う、帳票自動レイアウトシステムのように構成することも出来る。
【0019】
2行目以降の項目の配置の開始位置の条件として、本発明のような2つの条件によって区別しても良い。
【0020】
上述の発明において、前記項目配置処理部は、前記項目と項目とを縦方向に区切る縦罫線について、前記項目における端の枠に隣接する1桁または前記項目における枠の端の1桁に縦線を描画することで、縦罫線を設ける、帳票自動レイアウトシステムのように構成することも出来る。
【0021】
従来、項目と項目とを区切る縦罫線には、桁と桁との間に設けられる。そのため、データと縦罫線とが密着し、視認性の悪化に繋がっている。そこで本発明のように、縦罫線として1桁を用いることによって、データと縦罫線との間に間隙を設けることが出来る。これによって、データと縦罫線とが密着することなく、視認性の向上に繋がる。
【0022】
上述の発明において、前記出力対象となる帳票の出力条件として、出力サイズである、帳票自動レイアウトシステムのように構成することが出来る。
【0023】
例外条件は、出力サイズによって変わることが好ましい。出力サイズの相違によって、出力可能な範囲が変わるためである。
【発明の効果】
【0024】
本発明の帳票自動レイアウトシステムを用いることによって、1レコードが複数行にわたるような複雑な帳票のデータの一覧性、視認性を向上させた上で、出力することが可能となる。
【図面の簡単な説明】
【0025】
【図1】本発明の帳票自動レイアウトシステムのシステム構成の一例を模式的に示す概念図である。
【図2】本発明の処理プロセスの一例を模式的に示すフローチャートである。
【図3】帳票自動レイアウトシステム、業務システムのハードウェア構成の一例を模式的に示す概念図である。
【図4】参照テーブルの一例を模式的に示す図である。
【図5】縦罫線について模式的に説明する図である。
【図6】項目配置処理部において、A4横サイズでの例外条件に従った項目の配置を行った場合を模式的に示す図である。
【図7】項目配置処理部において、A4縦サイズでの例外条件に従った項目の配置を行った場合を模式的に示す図である。
【図8】項目配置処理部において、例外条件に該当しない場合に項目の配置を行った場合を模式的に示す図である。
【図9】実施例1における社員情報マスタファイルの一例を模式的に示す図である。
【図10】実施例1において自動レイアウト処理を行うかを選択するための画面の一例である。
【図11】自動レイアウト処理を行わずに、通常どおり出力処理をした場合の一例である。
【図12】自動レイアウト処理を行って出力処理をした場合の一例である。
【発明を実施するための形態】
【0026】
本発明の帳票自動レイアウトシステム1のシステム構成の一例を図1の概念図に模式的に示す。
【0027】
本発明の帳票自動レイアウトシステム1は、業務システムと連動して用いられることが好ましく、業務システムで出力する(印刷での出力、画面表示での出力、ファイルへの出力などが含まれる)帳票にかかる処理を実行する際に用いられることが好ましい。本明細書における帳票とは、行方向および/または列方向に設定された項目のそれぞれにデータが対応づけられるデータ形式である。またデータがない項目については、空欄(NULL)としても良い。
【0028】
なお本明細書において、項目のデータには、項目におけるデータ(たとえば図12における「第一事業部 販売課」など)のほか、項目における項目名(たとえば図12における「所属名」など)も含まれる。
【0029】
業務システムは、企業などの業務活動の遂行に用いるコンピュータシステムである。業務システムには、上記業務活動に関する処理を実行する基幹系システム、情報系システムが該当する。これらの一例としては、たとえば販売管理システム、購買管理システム、財務管理システム、人事管理システム、給与管理システム、生産管理システム、グループウェアシステム、ドキュメント管理システム、ワークフローシステム、スケジューラーシステムなどが該当するが、これらに限定されるものではない。
【0030】
帳票自動レイアウトシステム1、業務システムは、プログラムの演算処理を実行するCPUなどの演算装置20と、情報を記憶するRAMやハードディスクなどの記憶装置21と、ディスプレイ(画面)などの表示装置22と、キーボードやポインティングデバイス(マウスやテンキーなど)などの入力装置23と、演算装置20の処理結果や記憶装置21に記憶する情報をインターネットやLANなどのネットワークを介して送受信する通信装置24とを有していることが好ましい。コンピュータ上で実現する各機能(各手段)は、その処理を実行する手段(プログラムやモジュールなど)が演算装置20に読み込まれることでその処理が実行される。各機能は、記憶装置21に記憶した情報をその処理において使用する場合には、該当する情報を当該記憶装置21から読み出し、読み出した情報を適宜、演算装置20における処理に用いる。図3に帳票自動レイアウトシステム1、業務システムのハードウェア構成の一例を模式的に示す。また、帳票自動レイアウトシステム1、業務システムは、複数のコンピュータ端末またはサーバに、その機能が分散配置されていても良い。
【0031】
本発明における各手段は、その機能が論理的に区別されているのみであって、物理上あるいは事実上は同一の領域を為していても良い。
【0032】
また帳票自動レイアウトシステム1と業務システムとは一体的に構成されていても良い。つまり、帳票自動レイアウトシステム1が業務システムの一機能として取り込まれていても良い。
【0033】
業務システムは、各種の帳票データを記憶する帳票データ記憶部とそれを用いた業務活動に関する処理を実行する業務処理部とを有している。帳票データ記憶部に記憶する帳票データとしては、社員情報マスタファイル、得意先マスタファイル、仕入先マスタファイル、商品マスタファイルなどがあるが、これらに限定されず、業務システムの目的に応じた各種のマスタファイル(帳票データ)を備えている。また、これらは、出力の際に、帳票形式で出力されるデータを含んでいる。
【0034】
業務処理部は、帳票データ記憶部に記憶するデータを読み出し/記憶させ、目的に応じた業務活動に関する処理を実行する。
【0035】
業務システムとしては、通常の業務システムであればよく、また、特許第4486159号のようにカスタマイズ、特に帳票データとして出力するデータのカスタマイズが行えても良い。
【0036】
帳票自動レイアウトシステム1は、最大桁数算出処理部2と枠数算出処理部3と項目配置処理部4と出力処理部5とを有する。
【0037】
最大桁数算出処理部2は、業務システムの帳票データ記憶部に記憶する帳票データのうち、出力対象となる帳票データにおける各項目において、項目ごとのデータの最大桁数を算出する。なお、ここで桁とは、半角1文字を1桁とするが、全角1文字を1桁としても良いことは言うまでもない。またデータの桁数としては、実際に入力されているデータの最大桁数であっても良いし、データ定義として確保されている最大桁数であっても良い。
【0038】
つまり最大桁数算出処理部2は、出力対象となる帳票データにおける各データの桁数(半角文字(または全角文字)での文字数)を取得し、それに基づいて、最大の桁数を、各項目ごとに算出する。
【0039】
枠数算出処理部3は、最大桁数算出処理部2で算出した、各項目の最大桁数に基づいて、所定数の桁を一単位とする枠の必要数を算出する。なお枠とは、各項目のデータ(または項目のデータ、縦罫線)を表示するための領域であり、この枠内に、各項目のデータが表示される。また1枠に何桁を表示させるかは任意に設定可能であり、たとえば10桁、16桁のように定めることも出来る。
【0040】
必要な枠数は、たとえば図4に模式的に示す参照テーブルを参照することで枠数を算出することが出来る。図4(a)は1枠に16桁、1行に最大10枠が表示できる場合の参照テーブルである。また図4(b)は図4(a)の1枠と同じまま、1枠内に表示するデータを所定の縮小率(図4(b)の場合には80%)で表示する場合である。すなわち、通常の大きさであれば16桁のデータが1枠に収まるが、最大桁数が17桁〜20桁の場合には、該当部分のデータを80%などの所定の比率で縮小し、1枠内に収める場合である。従って、図4(b)の場合には、1枠に最大で20桁のデータが収まる。
【0041】
データの縮小は、所定比率、たとえば80%の比率の文字フォントのサイズで対応すればよい。また、最大桁数が17桁〜20桁の項目については、当該項目のすべてのデータを当該縮小率で表示しても良いし、1桁〜16桁のデータについては通常の大きさで表示し、17桁〜20桁のデータだけ当該縮小率で縮小しても良い。
【0042】
縦罫線とは、縦方向に枠と枠とを区切る罫線である。この処理については後述の項目配置処理部4で説明する。
【0043】
枠数算出処理部3は、ある項目の最大桁数が15桁の場合には、当該項目としての必要な枠数を1枠、最大桁数が18桁の場合には当該項目としての必要な枠数を1枠、最大桁数が27桁の場合には当該項目としての必要な枠数を2枠、最大桁数が100桁の場合には、必要な枠数として5枠として算出する。なお必要な枠数は、1枠あたりの桁数、縮小率、などによっても変わるが、その場合には,それらに応じた参照テーブルを用いることで、枠数を算出可能である。
【0044】
なお、図4のような参照テーブルを用いるほか、所定の換算式によって、必要な枠数を算出しても良い。
【0045】
項目配置処理部4は、枠数算出処理部3で算出した枠単位で表示される項目を、1行目左側から順に配置をする。ただし帳票データのすべての項目を配置するのが1行に収まらない場合には、2行目以降にわたって配置する。
【0046】
なお、1行に収まるか否かは、1行の大きさを枠数の大きさで除すれば算出できるが、出力する際のサイズ(たとえば「A4横」、「A4縦」など)に応じて、1行あたりの枠数をあらかじめ設定しておいても良い。
【0047】
項目配置処理部4が2行以上にわたって項目を配置する場合、まず例外条件に該当するかを項目配置処理部4は判定する。ここで例外条件とは、紙や表示装置22、ファイルに出力する際の出力条件、たとえば出力サイズ(たとえば「A4横」、「A4縦」など)、カラー印刷か否か、出力方法(紙、表示、ファイル)などに応じて設定されることが好ましい。
【0048】
たとえばA4横のサイズで出力する場合の例外条件としては、1行目の2項目目の終了位置または1項目目の終了位置が3枠内に収まっていない場合には、2行目以降については、左側に所定枠数(たとえば3枠)を空欄とし、その次の枠(上記例では4枠目)を2行目以降の項目配置の開始位置として設定する。これを模式的に示すのが、図6である。
【0049】
元の帳票データが図6(a)のような場合、1行目の2項目目の終了位置が4枠目であることから、例外条件が適用されることを、項目配置処理部4は判定する。従って、項目配置処理部4は、2行目以降については、左側の所定枠数(たとえば3枠)を空欄とし、その次の枠(4枠目)を2行目以降の項目配置の開始位置として設定し、各項目のデータをそれらに対応するように配置する。これを模式的に示すのが図6(b)である。
【0050】
また、A4縦のサイズで出力する場合の例外条件としては、1行目の2項目目の終了位置または1項目目の終了位置が2枠内に収まっていない場合には、2行目以降については、左側に所定枠数(たとえば2枠)を空欄とし、その次の枠(上記例では3枠目)を2行目以降の項目配置の開始位置として設定する。これを模式的に示すのが図7である。
【0051】
元の帳票データが図7(a)のような場合、1行目の2項目目の終了位置が3枠目であることから、例外条件が適用されることを、項目配置処理部4は判定する。従って、項目配置処理部4は、2行目以降については、左側の所定枠数(たとえば2枠)を空欄とし、その次の枠(3枠目)を2行目以降の項目配置の開始位置として設定し、各項目のデータをそれらに対応するように配置する。これを模式的に示すのが図7(b)である。
【0052】
また、項目配置処理部4は、あらかじめ定められた例外条件に該当しないことを判定した場合には、2行目以降について、あらかじめ設定された項目(たとえば1行目の3項目に対応する位置が一例としてあるが、これに限定されない。少なくとも左側に1枠以上の空欄がある枠の位置であれば良い)から配置を行う。たとえば1行目の2項目に相当する枠数を空欄とし、その次(1行目の3項目に対応する位置)から配置を行う。
【0053】
元の帳票データが図8(a)のような場合(出力するサイズがA4横であるとする)、1行目の2項目目の終了位置が3枠目であることから、例外条件は適用されないことを、項目配置処理部4は判定する。従って、項目配置処理部4は、2行目以降については、1行目の3項目に対応する位置を開始位置として設定し、各項目のデータをそれらに対応するように2行目に配置する。これを模式的に示すのが図8(b)である。
【0054】
なお図6乃至図8において、枠数は説明のために示していることから、実際には枠数の表示がなされないようにしても良い。
【0055】
また項目配置処理部4は、縦罫線に関する処理を実行(縦罫線を描画)する。縦罫線とは、枠を区切るために表示する縦方向の罫線である。通常、罫線は、桁と桁の間で引かれるが、本発明の帳票自動レイアウトシステム1では、縦罫線のために1桁を利用して、そこに縦線を描画する。好ましくは、各項目の端の枠に隣接する1桁(たとえば、項目が1枠の場合にはその枠に隣接する1桁、項目が2枠の場合には左側の枠に隣接する1桁や右側の枠に隣接する1桁、項目が3枠の場合には左端の枠に隣接する1桁や右端の枠に隣接する1桁)を確保し、その1桁のうち、中心付近に縦線を描画することがよい。これによって、1枠の最大桁数のデータとなった場合でも、半桁ずつの間隙が出来るので、データの視認性が向上する。縦罫線についての説明を図5に示す。なお図5では、1枠が16桁の場合を示しているが、上述のように、1枠の桁数は任意に設定することが出来る。また枠および桁は、説明のために示しているに過ぎず、実際には表示がなされないようにしてもよい。
【0056】
なお上述の説明や図5では、縦罫線を描画する桁が枠に隣接する場合を示したが、項目における端の枠の端の1桁において、縦罫線が描画されても良い。この場合、項目と項目とが隣接する場合には、いずれか一方の項目における端の枠の端の1桁に縦罫線が描画され、隣接する他方の項目における端の枠には縦罫線を描画せずとも良い。2重に縦罫線が描画されることを防止するためである。
【0057】
図5(a)は、本発明のように、縦罫線のために1桁を利用した場合を示す図である。また、図5(b)は、縦罫線を従来どおりの方法で引いた場合を示す図である。図5(b)の場合、縦罫線が桁と桁との間の区切り線として引かれるため、その前後にデータが入った場合、データと縦罫線とが密着し、視認性が悪化する。一方、本願発明の図5(a)の場合、縦罫線のために1桁を利用しているため、仮にその前後にデータが入ったとしても、データと縦罫線とが密着することがなく、半桁分の間隙が生じる。そのため、視認性を保つことが出来る。
【0058】
出力処理部5は、帳票データ記憶部に記憶する帳票データを参照し、項目配置処理部4で配置した項目に従って、それぞれに対応するデータをそれぞれの枠内に表示させ、出力処理を実行する。出力処理としては、ユーザが利用する所定の印刷装置(図示せず)から紙媒体に印刷し出力する、ユーザが利用する所定の表示装置22に表示する、ユーザが利用するコンピュータ端末にファイルとして出力する、などがある。
【実施例1】
【0059】
つぎに本発明の帳票自動レイアウトシステム1の処理プロセスを図2のフローチャートを用いて説明する。なお、本実施例では、帳票データ記憶部に記憶する帳票データである社員情報マスタファイルのデータを出力する場合を説明する。またその各項目のデータの内容の一部が図9であるとする。
【0060】
業務システムを利用するユーザが、社員情報マスタファイルの帳票データの出力を所望する場合、当該ユーザが利用するコンピュータ端末(以下、「ユーザ端末」という)において所定の操作を行う。そうすると、図10に示すような自動レイアウトを行うか否かを選択するための画面がユーザ端末において、表示される。
【0061】
この画面において、ユーザが、「2行以上になったときに列を揃える」など、自動レイアウトを行うことを意味する選択を行うと、ユーザ端末から業務システムに対して、自動レイアウトを行った上での出力指示が送られる。一方、この画面において、ユーザが、「2行以上になったときに列を揃える」など、自動レイアウトを行うことを意味する選択を行わないと、ユーザ端末から業務システムに対して、通常どおりの出力指示が送られる。また、この際に、出力サイズ(たとえば「A4横」、「A4縦」など。なお、これらに限定されない)を指定することが好ましい。
【0062】
そして、自動レイアウトを行わない場合には(S100)、業務システムの業務処理部は、ユーザ端末から送られた、通常どおりの出力指示を受け取り、通常どおり、社員情報マスタファイルから、出力対象となるデータを抽出し、出力処理を実行する。通常どおりの出力指示の場合、図9のデータの内容は、左側から順に出力される。この場合の出力の一例を図11に示す。
【0063】
一方、自動レイアウトを行う場合には(S100)、業務システムの業務処理部は、ユーザ端末から送られた、自動レイアウトを行った上での出力指示を受け取る。そして、自動レイアウトを行った上で出力処理を行うことを業務処理部は、帳票自動レイアウトシステム1に渡す。この際に、出力対象のデータを特定する情報(たとえば対象となる帳票データ、出力範囲、部数、出力サイズなど)があわせて渡されると良い。
【0064】
帳票自動レイアウトシステム1で自動レイアウトを行った上での出力指示を業務処理部から受け取ると、最大桁数算出処理部2は、出力対象となる帳票データである、社員情報マスタファイルを参照することで、各項目のデータにおける最大桁数を算出する(S110)。
【0065】
つまり、各項目「社員コード」、「社員名」、「フリガナ」、「性別」、「社員区分」、「在籍区分」、「所属コード」、「所属名」、「役職コード」、「役職名」、「職種コード」、「職種名」、「個人外線(所属代表以外)」、「個人内線」、「携帯TEL1」、「携帯TEL2」、「メモ」、「マスター検索表示区分」のそれぞれのデータの桁数を算出し、その中から、項目ごとに最大の桁数を算出する。
【0066】
図9の各項目のデータについて、最大桁数算出処理部2が項目ごとの最大の桁数を算出した場合、たとえば「社員コード」が6桁、「社員名」が30桁、「フリガナ」が30桁、「性別」が8桁、「社員区分」が8桁、「在籍区分」が8桁、「所属コード」が6桁、「所属名」が20桁、「役職コード」が6桁、「役職名」が10桁、「職種コード」が6桁、「職種名」が10桁、「個人外線(所属代表以外)」が24桁、「個人内線」が10桁、「携帯TEL1」が13桁、「携帯TEL2」が13桁、「メモ」が100桁、「マスター検索表示区分」が16桁、であったとする。
【0067】
つぎに、枠数算出処理部3は、最大桁数算出処理部2で算出した、各項目ごとの最大桁数に基づいて、図4に示す参照テーブルを参照することで、各項目ごとに必要な枠数を算出する(S120)。
【0068】
上記例の場合、各項目の最大桁数に基づいて、図4(b)の参照テーブルを参照すると、「社員コード」が1枠、「社員名」が2枠、「フリガナ」が2枠、「性別」が1枠、「社員区分」が1枠、「在籍区分」が1枠、「所属コード」が1枠、「所属名」が1枠、「役職コード」が1枠、「役職名」が1枠、「職種コード」が1枠、「職種名」が1枠、「個人外線(所属代表以外)」が2枠、「個人内線」が1枠、「携帯TEL1」が1枠、「携帯TEL2」が1枠、「メモ」が5枠、「マスター検索表示区分」が1枠として、必要な枠数を算出することが出来る。
【0069】
そして、項目配置処理部4は、各項目について、必要となる枠数に従って、1行目から順に配置をする(S130)。たとえば、本実施例では「A4横」のサイズでの出力指示であり、1行に10枠の出力が可能であるとして設定されている場合、項目配置処理部4は、10枠分の項目を順に、配置する。そうすると、1行目には、左から順に、「社員コード」(1枠)、「社員名」(2枠)、「フリガナ」(2枠)、「性別」(1枠)、「社員区分」(1枠)、「在籍区分」(1枠)、「所属コード」(1枠)、「所属名」(1枠)が順に配置される。
【0070】
そして1行では項目を配置しきれていないので、項目配置処理部4は、2行目以降にも各項目を配置する(S140)。この際に、項目配置処理部4は、あらかじめ定められた例外条件に該当するかを判定する(S150)。
【0071】
本実施例では出力サイズが「A4横」であることから、例外条件としては、「1行目の2項目目の終了位置または1項目目の終了位置が3枠内に収まっているか」を項目配置処理部4は判定する。そうすると、項目配置処理部4は、1行目の2項目の終了位置、1項目目の終了位置は3枠内に収まっていることを判定するので、例外条件が適用されないことを判定する。
【0072】
例外条件が適用されない場合には、項目配置処理部4は、2行目以降の項目については、あらかじめ設定された項目(ここでは1行目の3項目目に対応する位置)から配置を行う(S160)。
【0073】
従って、「役職コード」(1枠)は、1行目の3項目目である「フリガナ」の位置から配置を開始する。そのため、2行目には、「役職コード」(1枠)、「役職名」(1枠)、「職種コード」(1枠)、「職種名」(1枠)、「個人外線(所属代表以外)」(2枠)、「個人内線」(1枠)が配置される。
【0074】
同様に、3行目については、「携帯TEL1」(1枠)、「携帯TEL2」(1枠)、「メモ」(5枠)が、1行目の3項目目である「フリガナ」の位置から配置される。そして4行目についても同様に、「マスター検索表示区分」(1枠)が、1行目の3項目目である「フリガナ」の位置から配置される。
【0075】
以上のようにして、項目配置処理部4は、図9の項目を複数行にわたって、順に配置する。またその際に、項目配置処理部4は、縦罫線をそれぞれの項目の間の1桁を利用して描画する。
【0076】
そして、各項目の配置処理が終了後、出力処理部5は、社員情報マスタファイルの各項目のデータを、それぞれの対応位置に出力する(S180)。このようにして出力処理されるのが図12である。
【0077】
そして出力処理部5で生成した出力データ(図12)を業務処理部は、ユーザ端末に送り、ユーザ端末で出力処理を実行する。
【0078】
以上のように、1レコードの項目が2行以上にわたる場合に、2行目以降の項目の配置を、1行目の所定項目目(ここでは3項目目)または所定枠目(例外条件が適用される場合)から配置を行うことによって、2行目以降の項目は、左側に空欄が自動的に生成される。そのため、一連のデータであることの認識が容易に行える。これは、本発明による出力(図12)と、従来の出力(図11)とを比較しても、データの一覧性、視認性の良さは、明白である。
【0079】
なお、上述のS140において、1レコードの項目が2行以上にわたらない場合には、そのまま、項目配置処理部4で配置した項目に従って、それぞれに対応するデータをそれぞれの枠に表示させ、出力処理を実行すればよい。1レコードの項目が2行以上にわたらない場合には、従来と同様の見え方での出力となる。
【0080】
また、上述の例では、S150において例外条件に該当しない場合であったが、例外条件に該当する場合には、例外条件に従って、2行目以降の項目を配置する(S170)。すなわち、「A4横」のサイズの場合には、2行目以降については、左側に所定枠数(たとえば3枠)を空欄とし、その次の枠(上記例では4枠目)を2行目以降の項目配置の開始位置として設定する。
【0081】
1行目の1項目目、2項目目に多くの枠数を利用している場合(1項目目、2項目目の最大桁数が大きい場合)、2行目以降の項目を、そのままS160に従って(例外条件ではなく通常どおりの項目の配置条件に従って)、1行目の3項目目の位置から配置してしまうと、逆に視認性が悪化することとなる。そこで、1行目の所定項目(好ましくは、1項目目と2項目目)の枠数に応じて、例外条件であるかを判定し、その結果に従って、2行目以降の項目の開始位置を設定することで、常に一覧性、視認性良く、出力することが出来る。
【産業上の利用可能性】
【0082】
本発明の帳票自動レイアウトシステム1を用いることによって、1レコードが複数行にわたるような複雑な帳票のデータの一覧性、視認性を向上させた上で、出力することが可能となる。
【符号の説明】
【0083】
1:帳票自動レイアウトシステム
2:最大桁数算出処理部
3:枠数算出処理部
4:項目配置処理部
5:出力処理部
20:演算装置
21:記憶装置
22:表示装置
23:入力装置
24:通信装置
【特許請求の範囲】
【請求項1】
1レコードの項目が複数行にわたって表示される帳票の自動レイアウトを行う帳票自動レイアウトシステムであって、
前記帳票自動レイアウトシステムは、
出力対象となる帳票の各項目のうち、各項目のデータの最大桁数を算出する最大桁数算出処理部と、
前記算出した項目ごとの最大桁数に基づいて、少なくとも該項目のデータを表示するための領域である枠の必要数を算出する枠数算出処理部と、
前記1レコードの項目を、前記枠数算出処理部で算出した枠単位で配置する項目配置処理部と、
前記配置した項目に対応する位置に、前記帳票のデータを出力する出力処理部と、
を備えており、
前記項目配置処理部は、
枠に従って前記項目を1行目から順に配置を開始し、
前記1レコードの項目の配置が複数行にわたる場合には、1行目の2項目目以降または2枠目以降に対応する位置を2行目以降の項目の配置の開始位置として、2行目以降の項目の配置を行う、
ことを特徴とする帳票自動レイアウトシステム。
【請求項2】
前記項目配置処理部は、
枠に従って前記項目を1行目から順に配置を開始し、
前記1レコードの項目の配置が複数行にわたる場合には、前記出力対象となる帳票の出力条件に対応する例外条件に該当するかを判定し、
例外条件に該当しない場合には、1行目の2項目目以降または2枠目以降に対応する位置を2行目以降の項目の配置の開始位置として、2行目以降の項目の配置を行い、
例外条件に該当する場合には、前記例外条件に該当しない場合の開始位置を定める条件とは異なる条件による開始位置から、2行目以降の項目の配置を行う、
ことを特徴とする請求項1に記載の帳票自動レイアウトシステム。
【請求項3】
前記項目配置処理部は、
枠に従って前記項目を1行目に順に配置を開始し、
前記1レコードの項目の配置が複数行にわたる場合には、前記出力対象となる帳票の出力条件に対応する例外条件に該当するかを判定し、
例外条件に該当しない場合には、1行目の3項目目に対応する位置を開始位置として、2行目以降の項目の配置を行い、
例外条件に該当する場合には、1行目の3項目目に対応する位置よりも左側の枠の位置を開始位置として、2行目以降の項目の配置を行う、
ことを特徴とする請求項1または請求項2に記載の帳票自動レイアウトシステム。
【請求項4】
前記項目配置処理部は、
前記項目と項目とを縦方向に区切る縦罫線について、前記項目における端の枠に隣接する1桁または前記項目における枠の端の1桁に縦線を描画することで、縦罫線を設ける、
ことを特徴とする請求項1から請求項3のいずれかに記載の帳票自動レイアウトシステム。
【請求項5】
前記出力対象となる帳票の出力条件として、出力サイズである、
ことを特徴とする請求項2または請求項3に記載の帳票自動レイアウトシステム。
【請求項1】
1レコードの項目が複数行にわたって表示される帳票の自動レイアウトを行う帳票自動レイアウトシステムであって、
前記帳票自動レイアウトシステムは、
出力対象となる帳票の各項目のうち、各項目のデータの最大桁数を算出する最大桁数算出処理部と、
前記算出した項目ごとの最大桁数に基づいて、少なくとも該項目のデータを表示するための領域である枠の必要数を算出する枠数算出処理部と、
前記1レコードの項目を、前記枠数算出処理部で算出した枠単位で配置する項目配置処理部と、
前記配置した項目に対応する位置に、前記帳票のデータを出力する出力処理部と、
を備えており、
前記項目配置処理部は、
枠に従って前記項目を1行目から順に配置を開始し、
前記1レコードの項目の配置が複数行にわたる場合には、1行目の2項目目以降または2枠目以降に対応する位置を2行目以降の項目の配置の開始位置として、2行目以降の項目の配置を行う、
ことを特徴とする帳票自動レイアウトシステム。
【請求項2】
前記項目配置処理部は、
枠に従って前記項目を1行目から順に配置を開始し、
前記1レコードの項目の配置が複数行にわたる場合には、前記出力対象となる帳票の出力条件に対応する例外条件に該当するかを判定し、
例外条件に該当しない場合には、1行目の2項目目以降または2枠目以降に対応する位置を2行目以降の項目の配置の開始位置として、2行目以降の項目の配置を行い、
例外条件に該当する場合には、前記例外条件に該当しない場合の開始位置を定める条件とは異なる条件による開始位置から、2行目以降の項目の配置を行う、
ことを特徴とする請求項1に記載の帳票自動レイアウトシステム。
【請求項3】
前記項目配置処理部は、
枠に従って前記項目を1行目に順に配置を開始し、
前記1レコードの項目の配置が複数行にわたる場合には、前記出力対象となる帳票の出力条件に対応する例外条件に該当するかを判定し、
例外条件に該当しない場合には、1行目の3項目目に対応する位置を開始位置として、2行目以降の項目の配置を行い、
例外条件に該当する場合には、1行目の3項目目に対応する位置よりも左側の枠の位置を開始位置として、2行目以降の項目の配置を行う、
ことを特徴とする請求項1または請求項2に記載の帳票自動レイアウトシステム。
【請求項4】
前記項目配置処理部は、
前記項目と項目とを縦方向に区切る縦罫線について、前記項目における端の枠に隣接する1桁または前記項目における枠の端の1桁に縦線を描画することで、縦罫線を設ける、
ことを特徴とする請求項1から請求項3のいずれかに記載の帳票自動レイアウトシステム。
【請求項5】
前記出力対象となる帳票の出力条件として、出力サイズである、
ことを特徴とする請求項2または請求項3に記載の帳票自動レイアウトシステム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【公開番号】特開2012−88858(P2012−88858A)
【公開日】平成24年5月10日(2012.5.10)
【国際特許分類】
【出願番号】特願2010−233890(P2010−233890)
【出願日】平成22年10月18日(2010.10.18)
【特許番号】特許第4719819号(P4719819)
【特許公報発行日】平成23年7月6日(2011.7.6)
【出願人】(596166623)株式会社OSK (25)
【Fターム(参考)】
【公開日】平成24年5月10日(2012.5.10)
【国際特許分類】
【出願日】平成22年10月18日(2010.10.18)
【特許番号】特許第4719819号(P4719819)
【特許公報発行日】平成23年7月6日(2011.7.6)
【出願人】(596166623)株式会社OSK (25)
【Fターム(参考)】
[ Back to top ]