(57)【特許請求の範囲】
【請求項１】
定型伝票用紙に印字する印字項目ごとに登録された前記印字項目の値を含む印字情報と伝票それぞれに割り当てられた固有情報とが記録されたレコードを複数格納可能な印字情報データを記憶する記憶部と、
ユーザから入力された入力情報に基づいて、前記定型伝票用紙に印字する印字項目のレイアウト情報が記録されたレイアウト情報データを生成するレイアウト情報データ生成部と、
印字に使用する前記レイアウト情報データを指定するレイアウト指定情報と、印字対象となる前記伝票の前記固有情報と、が含まれる印字命令をユーザから取得する印字命令取得部と、
ユーザから前記印字命令を取得した場合に、プリンタに出力する伝票データを生成する伝票データ生成部と、を備え、
前記レイアウト情報データには、該レイアウト情報データに関連付けられた前記印字情報データを特定するための特定情報が含まれており、
前記伝票データ生成部は、ユーザから前記印字命令を取得した場合に、前記印字命令で指定された前記レイアウト情報データに含まれる前記特定情報に基づいて、前記レイアウト情報データに関連付けられた前記印字情報データを特定し、前記印字命令に含まれる前記固有情報に基づいて、前記印字情報データに含まれる前記複数のレコードの中から印字対象となる前記レコードを特定し、特定した前記レコードに記録された前記印字情報を前記レイアウト情報データに記録された前記レイアウト情報に適用することによって前記伝票データを生成し、
前記レイアウト情報データ生成部は、少なくとも前記印字項目の位置及び大きさを指定する印字項目ボックスを配置可能なレイアウト編集画面と、前記印字項目の一覧を表示する印字項目テーブル画面と、を表示装置に表示し、ユーザが前記印字項目テーブル画面から前記レイアウト編集画面へと前記印字項目をドラッグしたとき、前記印字項目ボックスを前記レイアウト編集画面に表示し、前記印字項目ボックスから取得した前記印字項目それぞれのプロパティ情報を格納する前記レイアウト情報データを生成する、
事務コンピュータ。
【請求項２】
前記印字情報データは、前記伝票のヘッダー部の情報が記録されたレコードを複数格納可能なヘッダー部情報データと、前記固有情報と前記伝票の明細部の印字情報とが含まれるレコードを複数格納可能な明細部情報データと、から構成され、
前記明細部情報データに記録された前記レコードに含まれる前記固有情報は、前記ヘッダー部情報データに記録されたレコードに含まれる情報の１つであり、
前記伝票データ生成部は、
前記印字命令に含まれる前記固有情報と前記ヘッダー部情報データに記録された前記レコードの中の情報とに基づいて、前記ヘッダー部情報データに記録された複数のレコードの中から印字対象の前記レコードを特定し、
前記印字命令に含まれる前記固有情報と前記明細部情報データに記録された前記レコードの中の前記固有情報とに基づいて、前記明細部情報データに記録された複数のレコードの中から印字対象の前記レコードを特定し、
特定した２つのレコードに記録された前記印字情報を前記レイアウト情報データに記録された前記レイアウト情報に適用することによって前記伝票データを生成する、
請求項１に記載の事務コンピュータ。
【請求項３】
前記レイアウト情報データ生成部は、
前記定型伝票用紙の画像である伝票画像を取得し、取得した前記伝票画像を前記レイアウト編集画面に背景画像として表示し、
ユーザが前記レイアウト編集画面に配置した前記印字項目ボックスから取得した前記印字項目それぞれのプロパティ情報を格納する前記レイアウト情報データを生成する、
請求項１又は２に記載の事務コンピュータ。
【請求項４】
定型伝票用紙に印字する印字項目ごとに登録された前記印字項目の値を示す印字情報と伝票それぞれに割り当てられた固有情報とが記録されたレコードを複数格納可能な印字情報データを記憶する記憶部と、
ユーザから入力された入力情報に基づいて、前記定型伝票用紙に印字する印字項目のレイアウト情報が記録されたレイアウト情報データを生成するレイアウト情報データ生成部と、
印字に使用する前記レイアウト情報データを指定するレイアウト指定情報と、印字対象となる前記伝票の前記固有情報と、が含まれる印字命令をユーザから取得する印字命令取得部と、
ユーザから前記印字命令を取得した場合に、プリンタに出力する伝票データを生成する伝票データ生成部と、を備え、
前記レイアウト情報データには、該レイアウト情報データに関連付けられた前記印字情報データを特定するための特定情報が含まれており、
前記伝票データ生成部は、ユーザから前記印字命令を取得した場合に、前記印字命令で指定された前記レイアウト情報データに含まれる前記特定情報に基づいて、前記レイアウト情報データに関連付けられた前記印字情報データを特定し、前記印字命令に含まれる前記固有情報に基づいて、前記印字情報データに含まれる前記複数のレコードの中から印字対象となる前記レコードを特定し、特定した前記レコードに記録された前記印字情報を前記レイアウト情報データに記録された前記レイアウト情報に適用することによって前記伝票データを生成し、
前記レイアウト情報データには、同じ商品若しくはサービスの印字項目の集合である明細項目グループの繰り返し数の項目が含まれており、
前記レイアウト情報データ生成部は、前記明細項目グループの１つ分の前記明細項目グループに属する前記印字項目の前記レイアウト情報と前記明細項目グループの繰り返し数の項目に記録された値とに基づいて、前記伝票の明細部の前記レイアウト情報を構築し、
前記伝票データ生成部は、前記レイアウト情報データ生成部が構築した前記レイアウト情報に、前記伝票の明細部の印字情報を適用することによって前記明細部の前記伝票データを生成し、
前記レイアウト情報データ生成部は、前記明細項目グループに属する前記印字項目のレイアウト情報を、グループ内の前記印字項目間の相対的な位置関係を維持しながら、縦方向に前記繰り返し数の項目に記録された値の回数繰り返し適用することにより、前記明細項目グループを縦方向に前記繰り返し数の項目に記録された値の回数繰り返して配置し、前記伝票の前記明細部の前記レイアウト情報を構築する、
事務コンピュータ。
【請求項５】
定型伝票用紙に印字する印字項目ごとに登録された前記印字項目の値を示す印字情報と伝票それぞれに割り当てられた固有情報とが記録されたレコードを複数格納可能な印字情報データを記憶する記憶部を備える事務コンピュータを、
ユーザから入力された入力情報に基づいて、前記定型伝票用紙に印字する印字項目のレイアウト情報が記録されたレイアウト情報データを生成するレイアウト情報データ生成部、
印字に使用する前記レイアウト情報データを指定するレイアウト指定情報と、印字対象となる前記伝票の前記固有情報と、が含まれる印字命令をユーザから取得する印字命令取得部、
ユーザから前記印字命令を取得した場合に、プリンタに出力する伝票データを生成する伝票データ生成部、として機能させ、
前記レイアウト情報データには、該レイアウト情報データに関連付けられた前記印字情報データを特定するための特定情報が含まれており、
前記伝票データ生成部は、ユーザから前記印字命令を取得した場合に、前記印字命令で指定された前記レイアウト情報データに含まれる前記特定情報に基づいて、前記レイアウト情報データに関連付けられた前記印字情報データを特定し、前記印字命令に含まれる前記固有情報に基づいて、前記印字情報データに含まれる前記複数のレコードの中から印字対象となる前記レコードを特定し、特定した前記レコードに記録された前記印字情報を前記レイアウト情報データに記録された前記レイアウト情報に適用することによって前記伝票データを生成し、
前記レイアウト情報データ生成部は、少なくとも前記印字項目の位置及び大きさを指定する印字項目ボックスを配置可能なレイアウト編集画面と、前記印字項目の一覧を表示する印字項目テーブル画面と、を表示装置に表示し、ユーザが前記印字項目テーブル画面から前記レイアウト編集画面へと前記印字項目をドラッグしたとき、前記印字項目ボックスを前記表示装置に表示し、ユーザが前記レイアウト編集画面に配置した前記印字項目ボックスから取得した前記印字項目のプロパティ情報に基づいて前記レイアウト情報データを生成する、
プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施態様は、事務コンピュータ、及びプログラムに関する。
【背景技術】
【０００２】
予め一定の情報が印刷され、印字項目の印字位置が予め決められた伝票用紙（以下、定型伝票用紙という。）がある。定型伝票用紙に印字するための伝票データを生成するには、ユーザは、印字項目の印字位置等を伝票毎に事務コンピュータに設定しなければならない。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００７−１２２５６５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
伝票発行業務の複雑化に伴い、極めて多くの種類の定型伝票用紙が市場に出回っている。近年では、商品等の購入者側が、予め決められたフォーマットの伝票用紙を指定伝票用紙として指定してくることもある。そのため、ユーザは、顧客あるいは社内のルールに合わせ、様々な種類の定型伝票用紙に対応しなければならない。
【０００５】
様々な種類の定型伝票用紙に対応するためには、ユーザは印字項目の印字位置等を、伝票１つ１つ、事務コンピュータに設定しなければならない。これは大きな労力が必要な作業である。また、同じ種類の伝票であっても、伝票に記載する明細は伝票１つ１つ異なっている。そのため、伝票データを作成するには、やはり、極めて大きな労力が必要となる。
【０００６】
本発明が解決しようとする課題は、定型伝票用紙に印字可能な伝票データを容易に作成することを可能にすることである。
【課題を解決するための手段】
【０００７】
実施形態の事務コンピュータは、定型伝票用紙に印字する印字項目ごとに登録された前記印字項目の値を含む印字情報と伝票それぞれに割り当てられた固有情報とが記録されたレコードを複数格納可能な印字情報データを記憶する記憶部と、ユーザから入力された入力情報に基づいて、前記定型伝票用紙に印字する印字項目のレイアウト情報が記録されたレイアウト情報データを生成するレイアウト情報データ生成部と、印字に使用する前記レイアウト情報データを指定するレイアウト指定情報と、印字対象となる前記伝票の前記固有情報と、が含まれる印字命令をユーザから取得する印字命令取得部と、ユーザから前記印字命令を取得した場合に、プリンタに出力する伝票データを生成する伝票データ生成部と、を備える。前記レイアウト情報データには、該レイアウト情報データに関連付けられた前記印字情報データを特定するための特定情報が含まれている。前記伝票データ生成部は、ユーザから前記印字命令を取得した場合に、前記印字命令で指定された前記レイアウト情報データに含まれる前記特定情報に基づいて、前記レイアウト情報データに関連付けられた前記印字情報データを特定し、前記印字命令に含まれる前記固有情報に基づいて、前記印字情報データに含まれる前記複数のレコードの中から印字対象となる前記レコードを特定し、特定した前記レコードに記録された前記印字情報を前記レイアウト情報データに記録された前記レイアウト情報に適用することによって前記伝票データを生成する。前記レイアウト情報データ生成部は、少なくとも前記印字項目の位置及び大きさを指定する印字項目ボックスを配置可能なレイアウト編集画面と、前記印字項目の一覧を表示する印字項目テーブル画面と、を表示装置に表示し、ユーザが前記印字項目テーブル画面から前記レイアウト編集画面へと前記印字項目をドラッグしたとき、前記印字項目ボックスを前記レイアウト編集画面に表示し、前記印字項目ボックスから取得した前記印字項目それぞれのプロパティ情報を格納する前記レイアウト情報データを生成する。
【図面の簡単な説明】
【０００８】
【図１】実施形態の事務コンピュータのブロック図である。
【図２】記憶部にデータが格納されている様子を示す図である。
【図３】定型伝票の一例を示す図である。
【図４】ヘッダー部情報データのデータ構造の一例を示す図である。
【図５】明細部情報データのデータ構造の一例を示す図である。
【図６】レイアウト情報データのデータ構造の一例を示す図である。
【図７】制御部の機能ブロック図である。
【図８】実施形態のレイアウト情報データ生成処理を示すフローチャートである。
【図９】レイアウト情報データ生成処理で使用される操作ウィンドウの一例を示す図である。
【図１０】操作ウィンドウのレイアウト編集画面に伝票画像が背景画像として表示される様子を示す図である。
【図１１】レイアウト編集画面に印字項目ボックスが配置される様子を示す図である。
【図１２】レイアウト編集画面に印字項目ボックスが配置される様子を示す図である。
【図１３】実施形態の印字情報登録処理を示すフローチャートである。
【図１４】印字情報登録処理で使用される入力ウィンドウの一例を示す図である。
【図１５】実施形態の印字実行処理を示すフローチャートである。
【図１６】印字実行処理で使用される入力ウィンドウの一例を示す図である。
【図１７】伝票データのイメージの一例を示す図である。
【図１８】定型伝票用紙に伝票データが印刷された様子を示す図である。
【図１９】明細項目グループの繰り返し数が設定される様子を示す図である。
【発明を実施するための形態】
【０００９】
以下、発明を実施するための形態について図面を参照しながら説明する。なお、図中、同一または同等の部分には同一の符号を付す。
【００１０】
（実施形態１）
図１は、実施形態１の事務コンピュータ１００のブロック図である。事務コンピュータとは、ユーザが入力した情報に基づいて伝票データを作成し、作成した伝票データをプリンタに印刷させるコンピュータのことである。例えば、事務コンピュータとは、宅配便の送り状を作成してドットプリンタに印刷させるコンピュータである。なお、伝票とは、会計伝票、受発注伝票、作業管理伝票、入出庫管理伝票、送り状、納品書、請求書、見積書、領収証等の定型書類のことである。以下の説明では、予め一定の情報が印刷され、印字項目の印字位置が予め決められた伝票用紙のことを定型伝票用紙という。
【００１１】
事務コンピュータ１００は、図１に示すように、通信インタフェース１１０と、表示部１２０と、操作部１３０と、記憶部１４０と、制御部１５０と、を備える。
【００１２】
通信インタフェース１１０は、事務コンピュータ１００をネットワークに接続するためのネットワーク接続インタフェースである。通信インタフェース１１０は、例えば、有線若しくは無線を介して社内ＬＡＮに接続するＬＡＮ接続装置である。通信インタフェース１１０は、制御部１５０の制御に従ってプリンタと通信する。
【００１３】
表示部１２０は、液晶ディスプレイ（Liquid Crystal Display）や有機ＥＬディスプレイ（Organic Electro-Luminescent Display）等の表示装置である。表示部１２０は、制御部１５０の制御に従って、ユーザに各種情報を表示する。
【００１４】
操作部１３０は、キーボード、マウス、タッチパネル等の入力装置である。操作部１３０は、ユーザの操作情報を制御部１５０に通知する。
【００１５】
記憶部１４０は、ＤＲＡＭ（Dynamic Random Access Memory）、ＳＲＡＭ（Static Random Access Memory）、フラッシュメモリ、ハードディスク等のデータ読み書き可能な記憶装置である。図２は、記憶部１４０にデータが格納されている様子を示す図である。記憶部１４０には、印字情報データ１４１や複数のレイアウト情報データ１４２等が格納されている。
【００１６】
印字情報データ１４１は、伝票の印字情報を格納するためのデータである。印字情報とは、伝票に印字される印字項目の値（例えば、テキストや数値）のことである。印字情報データ１４１は、ヘッダー部情報データ１４１ａと、明細部情報データ１４１ｂとから構成される。
【００１７】
ヘッダー部情報データ１４１ａは、伝票のヘッダー部に印字される印字情報（以下、ヘッダー部情報という。）を格納するためのデータである。本実施形態の場合、ヘッダー部情報データ１４１ａは、複数の伝票の印字情報が１つのファイルに格納されるデータベース構造のデータである。ヘッダー部とは、伝票名（例えば、“納品書”、“請求書”、“見積書”等のタイトル）、伝票発行日、宛名、自社名等の情報が記載される部分のことである。図３に示す納品書の例であれば、（ａ）で示す部分がヘッダー部である。
【００１８】
明細部情報データ１４１ｂは、伝票の明細部に印字される印字情報（以下、明細部情報という。）を格納するためのデータである。本実施形態の場合、明細部情報データ１４１ｂは、複数の伝票の印字情報が１つのファイルに格納されるデータベース構造のデータである。明細部とは、取引の詳細や内訳が記載された部分である。図３に示す納品書の例であれば、（ｂ）で示す部分が明細部である。
【００１９】
図４は、ヘッダー部情報データ１４１ａのデータ構造の一例を示す図である。ヘッダー部情報データ１４１ａは、複数のレコードから構成される。１つのレコードには、伝票１つ分のヘッダー部情報が格納される。より具体的には、キーコード、ＩＤ番号、ディーラＣＤ、発行日、社名、店名、支店名、部門名、社店ＣＤ、支店ＣＤ、部門ＣＤ、分類ＣＤ、伝票区分、発注日、納品日、取引ＣＤ、取引会社、取引支店、取引県名等の情報が格納される。なお、ＣＤとは、“コード”の意味である。また、キーコードとは、ユーザもしくはコンピュータプログラムによって伝票それぞれに一意に付与される伝票の固有情報のことである。本実施形態の場合、キーコードはレコード毎に異なる。レコードに格納された各ヘッダー部情報（２０１４１２１８．００１．１、１２３４５６７８９等）には、それぞれ、Ｅ０、Ｅ１等の項目ＩＤが付されている。項目ＩＤは、プログラムが印字項目を識別するための情報である。
【００２０】
図５は、明細部情報データ１４１ｂのデータ構造の一例を示す図である。明細部情報データ１４１ｂは、複数のレコードから構成される。１つのレコードには、伝票１つ分の明細部情報が格納される。より具体的には、キーコード、品名１、数量１、ＣＳ数量１、原単価１、ＣＳ原単価１、原価金額１、売価金額１、ＣＳ売単価１、売価金額１、・・・・・、品名２、数量２、ＣＳ数量２、原単価２、ＣＳ原単価２、原価金額２、売価金額２、ＣＳ売単価２、売価金額２、・・・・・、品名Ｎ、数量Ｎ、ＣＳ数量Ｎ、原単価Ｎ、ＣＳ原単価Ｎ、原価金額Ｎ、売価金額Ｎ、ＣＳ売単価Ｎ、売価金額Ｎ・・・・・等の情報が格納される。ＣＳとは、“ケース”の意味である。レコードに格納された明細部情報（ジュース３００ｍｌ、１００等）には、それぞれ、Ｆ１、Ｆ２等の項目ＩＤが付されている。なお、明細部情報データ１４１ｂのレコードそれぞれには、ヘッダー部情報データ１４１ａのレコードと関連付けるため、キーコードが記録される。
【００２１】
なお、図５において、品名、数量等の印字項目の後についている数字は明細項目グループのグループ番号である。明細項目グループとは、同じ商品（若しくはサービス）の印字項目の集合である。例えば、図３の納品書の例であれば、明細部の１行分の印字項目が明細項目グループである。
【００２２】
レイアウト情報データ１４２は、定型伝票用紙のレイアウトに関する情報を格納するためのデータである。具体的には、レイアウト情報データ１４２は、定型伝票用紙の大きさや印字項目の位置等を定義するプロパティ情報を格納するためのデータである。本実施形態の場合、レイアウト情報データ１４２は１つのファイルとなっている。図６は、レイアウト情報データ１４２のデータ構造の一例を示す図である。レイアウト情報データ１４２は、基本項目のプロパティ情報と、印字項目それぞれのプロパティ情報とから構成される。印字項目のプロパティ情報には、ヘッダー部情報データ１４１ａ及び明細部情報データ１４１ｂで使用された項目ＩＤと同じ項目ＩＤが付されていてもよい。
【００２３】
プロパティ情報は、印字項目もしくは基本項目の設定値である。プロパティ情報は、例えば、印字項目の印字位置（印字ライン、印字カラム）、印字領域の大きさ等を示す情報である。本実施形態の場合、印字ラインは予め設定された基準点（例えば、用紙左上角）からの縦方向（列方向）の位置であり、印字カラムは基準点からの横方向（行方向）の位置である。
【００２４】
なお、基本項目とは、伝票全体に関する設定項目のことである。基本項目のプロパティ情報としては、例えば、印刷レイアウトの説明、用紙吸入モード、用紙種類、横方向印刷の要否、用紙幅、用紙高さ、ページ長、給紙吸入の要否、吸入ガイダンスの実行の有無、ヘッダー部情報データの特定情報、明細部情報データの特定情報、明細繰返し数、明細繰返し幅、明細繰返し高さ、背景画像ファイルの位置情報、背景画像の解像度等が挙げられる。
【００２５】
なお、上記において、特定情報とは、レイアウト情報データ１４２に関連付けられた、「ヘッダー部情報データ」、「明細部情報データ」、若しくは「テール部情報データ」を特定するための情報である。本実施形態の場合、特定情報はファイル（ヘッダー部情報データ、明細部情報データ、若しくはテール部情報データ）の格納場所を示す位置情報（例えば、ファイルパス）である。図６の例では、指定伝票ヘッダーの項目に記録されているC:\DATA\e.TBLがヘッダー部情報データ１４１ａの特定情報であり、指定伝票明細の項目に記録されているC:\DATA\f.TBLが明細部情報データ１４１ａの特定情報である。
【００２６】
また、印字項目は、伝票に印字される項目のことである。印字項目は、例えば、キーコード、ＩＤ番号、ディーラＣＤ、発行日、社名、店名、支店名、部門名、社店ＣＤ、支店ＣＤ、部門ＣＤ、分類ＣＤ、伝票区分、発注日、納品日、取引ＣＤ、取引会社、取引支店、取引県名、品名、数量、ＣＳ数量、原単価、ＣＳ原単価、原価金額、売価金額、ＣＳ売単価、売価金額、摘要、合計金額、消費税率、消費税額、税込合計金額等の項目である。上述したように、ＣＤとは“コード”の意味であり、ＣＳとは“ケース”の意味である。
【００２７】
制御部１５０は、プロセッサ等の処理装置である。制御部１５０は不図示のＲＯＭ（Read Only Memory）やＲＡＭ（Random Access Memory）に格納されているプログラムに従って動作することで、後述の「レイアウト情報データ生成処理」、「印字情報登録処理」、及び「印字実行処理」を含む種々の動作を実現する。
【００２８】
図７は制御部１５０の機能ブロック図である。制御部１５０は、不図示のＲＯＭやＲＡＭに格納されているプログラムに従って動作することで、レイアウト情報データ生成部１５１、印字情報登録部１５２、及び印字命令取得部１５３、伝票データ生成部１５４、印字制御部１５５として機能する。レイアウト情報データ生成部１５１〜印字制御部１５５の動作については、後述のレイアウト情報データ生成処理、印字情報登録処理、及び印字実行処理の説明の箇所で述べる。なお、制御部１５０は、１つのプロセッサから構成されていてもよいし、複数のプロセッサから構成されていてもよい。複数のプロセッサで制御部１５０を構成する場合、制御部１５０は、複数のプロセッサの協働により「レイアウト情報データ生成処理」、「印字情報登録処理」、及び「印字実行処理」を実現してもよい。
【００２９】
次に、このような構成を有する事務コンピュータ１００の動作について説明する。
【００３０】
事務コンピュータ１００の動作は、「レイアウト情報データ生成処理」、「印字情報登録処理」、及び「印字実行処理」に分けられる。最初に、「レイアウト情報データ生成処理」について説明する。
【００３１】
図８はレイアウト情報データ生成処理を示すフローチャートである。ユーザが操作部１３０を操作してレイアウト情報データを生成用のアプリケーションプログラムを起動すると、制御部１５０はレイアウト情報データ生成処理を開始する。レイアウト情報データ生成処理は、ＯＳ（Operating System）から通知されるイベントに基づいて処理を実行するイベントドリブン型の処理である。以下、図８のフローチャートを参照してレイアウト情報データ生成処理を説明する。
【００３２】
最初に、レイアウト情報データ生成部１５１は、表示部１２０に操作ウィンドウ１６１を表示する（ＡＣＴ１０１）。操作ウィンドウ１６１は、ユーザが容易にレイアウト情報データを生成できるように設計されたＧＵＩ（Graphical User Interface）である。図９は、操作ウィンドウ１６１の一例を示した図である。操作ウィンドウ１６１は、レイアウト編集画面１６１ａと、印字項目テーブル画面１６１ｂと、プロパティ画面１６１ｃとを有している。レイアウト編集画面１６１ａは、ユーザがマウス等を使って印字項目ボックスを配置するための編集画面である。印字項目テーブル画面１６１ｂは、ユーザがレイアウト編集画面１６１ａに配置可能な印字項目の一覧が表示される画面である。また、プロパティ画面１６１ｃは、各印字項目（あるいはレイアウト情報自体）に設定するプロパティの一覧が表示される画面である。
【００３３】
操作ウィンドウ１６１が表示部１２０に表示されたら、レイアウト情報データ生成部１５１は、ＯＳからイベントを取得したか判別する（ＡＣＴ１０２）。ＯＳからイベントを取得していない場合（ＡＣＴ１０２：Ｎｏ）、レイアウト情報データ生成部１５１は、ＯＳからイベントを取得するまでＡＣＴ１０２を繰り返す。
【００３４】
ＯＳからイベントを取得した場合（ＡＣＴ１０２：Ｙｅｓ）、レイアウト情報データ生成部１５１は、ＯＳから取得したイベントが背景画像表示イベントか否か判別する（ＡＣＴ１０３）。「背景画像表示イベント」は、伝票画像をレイアウト編集画面１６１ａの背景に伝票画像を表示するよう、ユーザが事務コンピュータ１００に対して指示した時に通知されるイベントである。伝票画像は、指定伝票用紙の読取画像（例えば、指定伝票用紙をスキャナやカメラ等の撮像装置で読み取った画像）である。図１０は、レイアウト編集画面に伝票画像が背景画像として表示された様子を示す図である。図１０の例の場合、プロパティ画面１６１ｃには、基本項目のプロパティが表示されている。ユーザが（ａ）に示す“背景画像ファイル”の項目に伝票画像ファイルへのパス（例えば、“C:\DATA\IMAGE.JPG"）を入力することで、ＯＳから背景画像表示イベントが通知される。
【００３５】
ＯＳから通知されたイベントが背景画像表示イベントの場合（ＡＣＴ１０３：Ｙｅｓ）、レイアウト情報データ生成部１５１は、ユーザから指定された伝票画像を背景画像としてレイアウト編集画面１６１ａに表示する（ＡＣＴ１０４）。図１０の例では、図３に示した納品書の画像が背景画像として表示されている。背景画像が表示されたら、レイアウト情報データ生成部１５１は、ＡＣＴ１０２に処理を戻す。
【００３６】
ＯＳから通知されたイベントが背景画像表示イベントでない場合（ＡＣＴ１０３：Ｎｏ）、レイアウト情報データ生成部１５１は、ＯＳから取得したイベントが印字項目ボックス配置イベントか否か判別する（ＡＣＴ１０５）。「印字項目ボックス配置イベント」は、ユーザが印字項目ボックスをレイアウト編集画面１６１ａに配置した時に通知されるイベントである。印字項目ボックスとは、印字項目の位置及び大きさを指定するための矩形のボックスのことである。図１１の例であれば、（ａ）〜（ｃ）に示すボックスが印字項目ボックスである。
【００３７】
印字項目配置ボックスは、印字項目テーブル画面１６１ｂに表示された印字項目を、ユーザがドラッグした時に表示される。印字項目は、印字項目テーブル画面１６１ｂに表示されている＋印をユーザがクリックすることで表示される。図１１の例では、印字項目テーブル画面１６１ｂには、ヘッダー部の印字項目が表示されている。また、図１２の例では、印字項目テーブル画面１６１ｂには、明細部の印字項目が表示されている。ユーザが、図１１に示す（ｄ）或いは図１２に示す（ｂ）のように、印字項目配置ボックスをドラックしたままカーソルを移動させ、所望の場所でドロップすると、印字項目ボックスはレイアウト編集画面１６１ａ上に配置される。印字項目ボックス配置イベントは、ユーザが印字項目ボックスをドロップしたときに通知される。
【００３８】
ＯＳから通知されたイベントが印字項目ボックス配置イベントの場合（ＡＣＴ１０５：Ｙｅｓ）、レイアウト情報データ生成部１５１は、プロパティ情報取得処理を実行する（ＡＣＴ１０６）。プロパティ情報取得処理は、印字項目テーブル画面１６１ｂで選択されている印字項目（図１１の例であれば“Ｅ０ キーコード”。図１２の例であれば“Ｆ５ 原価金額”）のプロパティ情報を取得する処理である。レイアウト情報データ生成部１５１は、ドロップされた印字項目ボックスの位置や大きさ等の情報に基づいてプロパティ情報を取得する。
【００３９】
例えば、レイアウト情報データ生成部１５１は、レイアウト編集画面１６１ａの左上端を基準点とした印字項目ボックスの左上角の位置を、印字項目の位置を示すプロパティ情報として取得する。図１１に示す（ｂ）の印字項目（以下、キーコード項目という。）の例であれば、レイアウト情報データ生成部１５１は、印字ライン２２．６４ｍｍ、印字カラム８１．３４ｍｍを、キーコード項目の位置を示すプロパティ情報として取得する。図１２に示す（ａ）の印字項目（以下、原価金額項目という。）の例であれば、レイアウト情報データ生成部１５１は、印字ライン５０．８０ｍｍ、印字カラム１１４．９０ｍｍを、原価金額項目の位置を示すプロパティ情報として取得する。
【００４０】
また、レイアウト情報データ生成部１５１は、印字項目ボックスの縦方向と横方向の長さを印字項目の印字領域の大きさを示すプロパティ情報として取得する。図１１に示す（ｂ）のキーコード項目であれば、レイアウト情報データ生成部１５１は、印字領域幅９３．３４ｍｍ、印字領域高さ３．８１ｍｍを、印字領域の大きさを示すプロパティ情報として取得する。図１２に示す（ａ）の原価金額項目であれば、レイアウト情報データ生成部１５１は、印字領域幅３３．１５ｍｍ、印字領域高さ４．９０ｍｍを、印字領域の大きさを示すプロパティ情報として取得する。
【００４１】
印字項目のプロパティ情報を取得したら、レイアウト情報データ生成部１５１は、印字項目の項目ＩＤとともにプロパティ情報を不図示のワークメモリに一時的に保存する。そして、レイアウト情報データ生成部１５１は、取得したプロパティ情報をプロパティ画面１６１ｃに表示する。
【００４２】
なお、レイアウト情報データ生成部１５１は、印字項目の位置、大きさ以外のプロパティ情報もプロパティ画面１６１ｃに表示する。例えば、レイアウト情報データ生成部１５１は、属性、文字間隔、データ開始位置、データ取得サイズ、外部参照先、固定値データ、前方結合データ、後方結合データ、先頭空白除去、末尾空白除去、ゼロ補正、数値省略指定、数値編集、少数桁数、数値符号、通貨記号付加、桁区切り記号等のプロパティ情報をプロパティ画面１６１ｃに表示する。
【００４３】
プロパティ画面１６１ｃに表示されたプロパティ情報は、ユーザが、操作部１３０を操作して、適宜、変更可能である。ユーザによってプロパティ情報が変更されたら、レイアウト情報データ生成部１５１は、変更されたプロパティ情報を不図示のワークメモリに保存する。
【００４４】
図８に戻り、ＯＳから取得したイベントが印字項目ボックス配置イベントでない場合（ＡＣＴ１０５：Ｎｏ）、レイアウト情報データ生成部１５１は、ＯＳから取得したイベントが終了イベントか否か判別する（ＡＣＴ１０７）。取得したイベントが終了イベントでない場合（ＡＣＴ１０７：Ｎｏ）、レイアウト情報データ生成部１５１はＡＣＴ１０２に処理を戻す。
【００４５】
取得したイベントが終了イベントの場合（ＡＣＴ１０７：Ｙｅｓ）、レイアウト情報データ生成部１５１は、不図示のワークメモリに保存されているプロパティ情報に基づいて図６に示すデータ構造のレイアウト情報データ１４２を生成し、記憶部１４０に保存する（ＡＣＴ１０８）。保存が完了したら、レイアウト情報データ生成部１５１は、レイアウト情報データ生成処理を終了する。
【００４６】
次に、「印字情報登録処理」について説明する。
【００４７】
ユーザが操作部１３０を操作して印字情報登録用のアプリケーションプログラムを起動すると、制御部１５０は印字情報登録処理を開始する。以下、図１３のフローチャートを参照してレイアウト情報データ生成処理を説明する。
【００４８】
最初に、印字情報登録部１５２は、表示部１２０に入力ウィンドウ１６２を表示する（ＡＣＴ２０１）。入力ウィンドウ１６２は、印字情報データ１４１に印字情報を登録するための入力インタフェースである。図１４は、入力ウィンドウ１６２の一例である。入力ウィンドウ１６２には、各印字項目に対応するテキストボックスが用意されており、ユーザはこのテキストボックスに数値もしくは文字を入力する。
【００４９】
続いて、印字情報登録部１５２は、入力ボタンが押されたか判別する（ＡＣＴ２０２）。入力ボタンが押されていない場合（ＡＣＴ２０２：Ｎｏ）、印字情報登録部１５２は、入力ボタンが押されるまでＡＣＴ２０２を繰り返す。
【００５０】
入力ボタンが押された場合（ＡＣＴ２０２：Ｙｅｓ）、印字情報登録部１５２は、印字情報データ１４１に印字情報を登録する（ＡＣＴ２０３）。このとき、印字情報登録部１５２は、ヘッダー部の印字情報はヘッダー部情報データ１４１ａに、明細部の印字情報は明細部情報データ１４１ｂに登録する。具体的には、印字情報登録部１５２は、入力ウィンドウ１６２に入力された情報に基づいて図４及び図５に示す構造のレコードをそれぞれ作成し、ヘッダー部情報データ１４１ａ及び明細部情報データ１４１ｂに追加する。ヘッダー部情報データ１４１ａ及び明細部情報データ１４１ｂのファイルが記憶部１４０にない場合、印字情報登録部１５２は、新たにファイルを記憶部１４０に作成する。ヘッダー部情報データ１４１ａ及び明細部情報データ１４１ｂに登録されるレコードは、キーコードにより関連付けられる。印字情報の登録が完了したら、印字情報登録部１５２は印字情報登録処理を終了する。
【００５１】
次に、「印字実行処理」について説明する。
【００５２】
ユーザが操作部１３０を操作して伝票印刷用のアプリケーションプログラムを起動すると、制御部１５０は印字情報登録処理を開始する。以下、図１５のフローチャートを参照してレイアウト情報データ生成処理を説明する。
【００５３】
最初に、印字命令取得部１５３は、表示部１２０に入力ウィンドウ１６３を表示する（ＡＣＴ３０１）。入力ウィンドウ１６３は、事務コンピュータ１００に印字命令を入力するための入力インタフェースである。例えば、入力ウィンドウ１６３はコマンド入力インタフェースである。図１６は、入力ウィンドウ１６３に印字命令コマンドが入力された例を示している。図１６において、最初の行の“ %I='C:\Data\納品書.PTL' ”は、印字対象となる伝票に使用されるレイアウト情報データ１４２のファイルパスが'C:\Data\納品書.PTL'であることを示している。また、２行目の“ %W=20141218.001.1 ”は、伝票に印字される印字情報のキーコードが20141218.001.1であることを示している。そして、最後の“OS[PRINT 0 2]”は、事務コンピュータ１００に対して、上記２行の内容に従って印字を実行するようユーザが命令を発したことを示している。
【００５４】
続いて、印字命令取得部１５３は、印字命令コマンドが入力されたか判別する（ＡＣＴ３０２）。印字命令コマンドが入力されていない場合（ＡＣＴ３０２：Ｎｏ）、印字命令取得部１５３は、印字命令コマンドが入力されるまでＡＣＴ３０２を繰り返す。
【００５５】
印字命令コマンドが入力された場合（ＡＣＴ３０２：Ｙｅｓ）、印字命令取得部１５３は、ユーザが入力した印字命令コマンドを取得する（ＡＣＴ３０３）。例えば、図１６に示す例であれば、印字命令取得部１５３は、印字命令コマンドとして、上記３行のコマンド（%I='C:\Data\納品書.PTL'、%W=20141218.001.1、及びOS[PRINT 0 2]）を取得する。
【００５６】
続いて、伝票データ生成部１５４は、ＡＣＴ３０３で取得した印字命令コマンドに基づいて伝票データを生成する（ＡＣＴ３０４）。伝票データは、伝票の印字に使用するデータである。例えば、伝票データは、ＰｏｓｔＳｃｒｉｐｔ（登録商標）、ＬＩＰＳ（登録商標）（Image Processing System）、ＥＳＣ／Ｐ（登録商標）（Epson Standard Code for Printer）、２０１ＰＬ等のページ記述言語を使用して記述された印字データである。なお、伝票データは、伝票の印字に使用するデータであれば、アプリケーションプログラム開発者の独自仕様のデータであってもよい。伝票データは、プリンタに直接出力されるデータでなくもよい。伝票データはプリンタに直接出力されるデータに変換される前の中間データであってもよい。伝票データ生成部１５４は、例えば、以下に示すように伝票データを生成する。
【００５７】
まず、伝票データ生成部１５４は、印字命令に含まれる固有情報（すなわち、キーコード）と、ヘッダー部情報データ１４１ａに記録されたレコードの中のヘッダー部情報と、に基づいて、ヘッダー部情報データ１４１ａに記録された複数のレコードの中から印字対象のレコードを特定する。例えば、印字命令に含まれるキーコードが20141218.001.1であり、ヘッダー部情報データ１４１ａが図４に示す内容のデータであるとすれば、伝票データ生成部１５４は、ヘッダー部情報の１つであるキーコードが20141218.001.1となっているレコード１を印字対象のレコードとして特定する。
【００５８】
続いて、伝票データ生成部１５４は、印字命令に含まれる固有情報（すなわち、キーコード）と明細部情報データ１４１ｂに記録されたレコードの中の明細部情報とに基づいて、明細部情報データ１４１ｂに記録された複数のレコードの中から印字対象のレコードを特定する。例えば、印字命令に含まれるキーコードが20141218.001.1であり、明細部情報データ１４１ａが図５に示す内容のデータであるとすれば、伝票データ生成部１５４は、明細部情報の１つであるキーコードが20141218.001.1となっているレコード１を印字対象のレコードとして特定する。
【００５９】
なお、伝票データ生成部１５４は、印字命令で指定されたレイアウト情報データ１４２に含まれる特定情報に基づいて、伝票データの作成に使用するヘッダー部情報データ１４１ａおよび明細部情報データ１４１ｂを特定する。特定情報とは、レイアウト情報データ１４２若しくは明細部情報データ１４１ｂの格納場所を特定するための情報である。図６の例では、指定伝票ヘッダーの項目に記録されているC:\DATA\e.TBLがヘッダー部情報データ１４１ａの特定情報であり、指定伝票明細の項目に記録されているC:\DATA\f.TBLが明細部情報データ１４１ａの特定情報である。
【００６０】
続いて、伝票データ生成部１５４は、特定した２つのレコード（例えば、ヘッダー部情報データ１４１ａのレコード１、及び明細部情報データ１４１ｂのレコード１）に記録された印字情報を、レイアウト情報データ１４２に記録されたレイアウト情報に適用することによって伝票データを生成する。例えば、伝票データ生成部１５４は、各レコードに格納されている印字情報に付与されている項目ＩＤ等に基づいて、該当のプロパティ情報をレイアウト情報データ１４２の中から抽出する。そして、抽出したプロパティ情報で示されるレイアウトに印字情報を適用することによって、伝票データを生成する。図１７は生成された伝票データのイメージの一例である。
【００６１】
伝票データの生成が完了したら、印字制御部１５５は、ＡＣＴ３０４で生成された伝票データに基づいてプリンタの印字制御を実行する（ＡＣＴ３０５）。例えば、印字制御部１５５は、伝票データに基づいてドットインパクトプリンタに印刷を実行させる。図１８は、定型伝票用紙に伝票データが印刷された様子を示す図である。印字が完了したら、制御部１５０は印字実行処理を終了する。
【００６２】
本実施形態によれば、印字情報が格納された印字情報データ１４１とレイアウト情報が格納されたレイアウト情報データ１４２とを合成して伝票データを作成している。ユーザは、一度、レイアウト情報データ１４２を作成すれば、印字情報データ１４１に印字情報を登録するだけで事務コンピュータ１００が伝票データを作成するので、ユーザの伝票データの作成労力は少ない。
【００６３】
また、事務コンピュータ１００は、ヘッダー部情報データ１４１ａと明細部情報データ１４１ｂとを異なるデータとしている。ヘッダー部情報データ１４１ａに格納されるヘッダー部情報は、宛先が同じであれば、同じ情報となることが多い。そのため、事務コンピュータ１００が、ヘッダー部情報データ１４１ａと明細部情報データ１４１ｂとを異なるデータとして扱うことで、ユーザは、ヘッダー部情報データ１４１ａを繰り返し作成しなくてもよくなる。その結果、ユーザの伝票データ作成労力は少なくなる。
【００６４】
また、事務コンピュータ１００は、ヘッダー部情報データ１４１ａに格納されたレコードと明細部情報データ１４１ｂに格納されたレコードとを固有情報（キーコード）で関連づけている。そのため、伝票データ生成部１５４は、ユーザから固有情報を得るだけで、ヘッダー部情報データ１４１ａと明細部情報データ１４１ｂとから、ユーザが所望する印字情報を抽出することができる。その結果、ユーザは、伝票データを作成するのに、レイアウト情報データ１４２の位置情報と固有情報とを事務コンピュータ１００に指定するだけでよくなるので、ユーザの伝票データ作成労力は少なくなる。
【００６５】
また、事務コンピュータ１００は、ＧＵＩを使ってレイアウト情報データ１４２を生成できるように構成されている。しかも、レイアウト情報データ生成部１５１は、伝票画像を背景画像としてレイアウト編集画面１６１ａに表示するよう構成されている。そのため、ユーザは極めて容易にレイアウト情報データ１４２を生成できる。
【００６６】
なお、上述の各実施形態は、それぞれ一例を示したものであり、種々の変更及び応用が可能である。
【００６７】
例えば、上述の実施形態では、キーコードをヘッダー部情報データ１４１ａに格納されたレコードと明細部情報データ１４１ｂに格納されたレコードとを関連付ける固有情報としたが、固有情報は他のヘッダー部情報であってもよい。例えば、事務コンピュータ１００は、ヘッダー部情報のＩＤ番号を固有情報としてもよい。このとき、印字情報登録部１５２は、明細部情報データ１４１ｂの各レコードに、ＩＤ番号を記録してもよい。
【００６８】
上述の実施形態では、ヘッダー部情報データ１４１ａと明細部情報データ１４１ｂとは異なるデータとなっていたが、ヘッダー部情報データ１４１ａと明細部情報データ１４１ｂとは１つのデータであってもよい。ヘッダー部情報データ１４１ａの各レコードにテール部情報が格納されていてもよい。
【００６９】
なお、事務コンピュータ１００は、テール部情報は、必ずしも記憶部１４０に保存されている必要はない。伝票データ生成部１５４が伝票データを作成する際に、明細部情報に基づいて演算により作成してもよい。
【００７０】
また、レイアウト情報データ１４２の基本項目には、明細項目グループの繰り返し数（以下、「明細繰り返し数」という。）の項目が含まれていてもよい。明細繰り返し数とは、明細項目グループに属する印字項目のレイアウト情報を、グループ内の印字項目間の相対的な位置関係を維持しながら、縦方向に繰り返す数のことである。図１９は、明細繰り返し数が７行の例である。より具体的には、図１９は、明細部の先頭の明細項目グループが、（ｂ）に示すように、縦方向に７回繰り返されるイメージを示したものである。明細繰り返し数の指定は、ユーザがプロパティ画面１６１ｃに表示された明細繰り返し数の値を変更することにより行われる。図１９の例であれば、ユーザが（ａ）の部分の値を変更することにより行われる。なお、レイアウト情報データ１４２の基本項目には、明細項目グループの繰り返し幅や繰り返し高さ等、ユーザが明細項目グループの繰り返しの微調整をすることを可能とするための項目が含まれていてもよい。
【００７１】
レイアウト情報データ１４２の明細繰り返し数の項目に値が記録されている場合、レイアウト情報データ生成部１５１は、明細項目グループ１つ分のレイアウト情報と明細繰り返し数の情報とに基づいて、明細部のレイアウト情報を構築する。より具体的には、レイアウト情報データ生成部１５１は、明細項目グループに属する印字項目のレイアウト情報を、グループ内の印字項目間の相対的な位置関係を維持しながら、縦方向に繰り返し適用することにより、明細部の前記レイアウト情報を構築する。そして、伝票データ生成部１５４は、レイアウト情報データ生成部１５１が構築したレイアウト情報に明細部の印字情報を適用することによって明細部の伝票データを生成する。
【００７２】
ユーザが明細項目グループ１つ分のレイアウト情報を作成し、明細詩繰り返し数を設定するだけで、明細部のレイアウト情報が作成されるので、ユーザは極めて容易にレイアウト情報データ１４２を生成できる。
【００７３】
また、印字制御部１５５は、ドットインパクトプリンタに伝票データの印刷を実行させたが、印字制御部１５５は、レーザープリンタやインクジェットプリンタ等、ドットインパクトプリンタ以外のプリンタに伝票データの印刷を実行させてもよい。プリンタが印刷する伝票は複写伝票であってもよいし、非複写伝票であってもよい。
【００７４】
本実施形態の事務コンピュータ１００を制御する制御装置は、専用のコンピュータシステムによって実現してもよいし、通常のコンピュータシステムにより実現してもよい。例えば、上述の動作を実行するためのプログラムを、光ディスク、半導体メモリ、磁気テープ、フレキシブルディスク等のコンピュータ読み取り可能な記録媒体に格納して配布し、該プログラムをコンピュータにインストールし、上述の処理を実行することによって事務コンピュータ１００を制御する制御装置を構成してもよい。また、上記プログラムをインターネット等のネットワーク上のサーバ装置が備えるディスク装置に格納しておき、コンピュータにダウンロード等できるようにしてもよい。また、上述の機能を、ＯＳ（Operating System）とアプリケーションソフトとの協働により実現してもよい。この場合には、ＯＳ以外の部分を媒体に格納して配布してもよいし、ＯＳ以外の部分をサーバ装置に格納しておき、コンピュータにダウンロード等できるようにしてもよい。
【００７５】
本発明の実施形態を説明したが、この実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。この新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことが出来る。この実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００７６】
１００…事務コンピュータ
１１０…通信インタフェース
１２０…表示部
１３０…操作部
１４０…記憶部
１４１…印字情報データ
１４１ａ…ヘッダー部情報データ
１４１ｂ…明細部情報データ
１４２…レイアウト情報データ
１５０…制御部
１５１…レイアウト情報データ生成部
１５２…印字情報登録部
１５３…印字命令取得部
１５４…伝票データ生成部
１５５…印字制御部
１６１…操作ウィンドウ
１６１ａ…レイアウト編集画面
１６１ｂ…印字項目テーブル画面
１６１ｃ…プロパティ画面
１６２、１６３…入力ウィンドウ
【図１】
0006310867.tif 000002
【図２】
0006310867.tif 000003
【図３】
0006310867.tif 000004
【図４】
0006310867.tif 000005
【図５】
0006310867.tif 000006
【図６】
0006310867.tif 000007
【図７】
0006310867.tif 000008
【図８】
0006310867.tif 000009
【図９】
0006310867.tif 000010
【図１０】
0006310867.tif 000011
【図１１】
0006310867.tif 000012
【図１２】
0006310867.tif 000013
【図１３】
0006310867.tif 000014
【図１４】
0006310867.tif 000015
【図１５】
0006310867.tif 000016
【図１６】
0006310867.tif 000017
【図１７】
0006310867.tif 000018
【図１８】
0006310867.tif 000019
【図１９】
0006310867.tif 000020