図1は、本実施形態に係る情報処理システム1の構成を示す図である。
図1に示すように、情報処理システム1は、複数の店舗システム2を備える。店舗システム2は、スーパーマーケットや、コンビニエンスストア、デパート、飲食店等の店舗Tに用いられるシステムである。店舗Tは、商品の提供が行われ、商品の提供に応じて、顧客による会計が行われる施設であればよい。本実施形態において、「商品」は、物体として顧客に引き渡される商品だけでなく、顧客に提供されるサービスや、顧客に提供される飲食物等、対価と引き換えに顧客に提供される対象を意味する。
店舗システム2は、顧客が購入した商品に応じた会計を行う機能、会計に応じてレシートRを発行する機能等を備える。レシートRは、印刷装置3が発行する印刷物に相当する。
店舗システム2が適用される店舗Tには、顧客が会計を行なうレジカウンターLが設けられる。レジカウンターLは、会計を行う会計カウンターに相当する。図1では、1の店舗に複数のレジカウンターLが設けられる場合を示しているが、1の店舗Tに設けられるレジカウンターLは、1つでもよい。レジカウンターLには、印刷媒体の一態様であるロール紙に印刷する機能を有する印刷装置3が設けられる。また、レジカウンターLには、印刷装置3と無線通信可能に接続され、印刷装置3を制御するPOS端末4が設けられる。POS端末は、端末に相当する。印刷装置3、及びPOS端末4の詳細については、後述する。
レジカウンターLにおける会計に際し、レジカウンターLで会計処理を担当するレジ担当者は、印刷装置3に接続されたバーコードリーダーBRで商品や商品の包装に付されたバーコードを読み取り、また、POS端末4に対して会計に対応する入力を行う。印刷装置3は、バーコードリーダーBRによる読み取りに基づくデータを、POS端末4に送信する。POS端末4は、印刷装置3から受信したバーコードリーダーBRの読み取りに基づくデータや、レジ担当者による会計に対応する入力に基づいて会計情報を生成し、さらに会計情報に基づき印刷データIDやコマンドを生成し、印刷装置3へ送信して、印刷装置3を制御し、印刷装置3にレシートRを発行させる。印刷装置3により発行されたレシートRは、レジ担当者により顧客に引き渡される。
店舗システム2は、ローカルエリアネットワークLNを備える。
ローカルエリアネットワークLNには、印刷装置3、及び管理装置5が接続される。管理装置5は、制御装置に相当する。管理装置5の詳細については、後述する。
また、ローカルエリアネットワークLNには、通信装置6が接続される。通信装置6は、ローカルエリアネットワークLNと、インターネット、電話網、その他の通信網を含むグローバルネットワークGNとを接続するインターフェース装置である。通信装置6は、モデム又は、ONU(Optical Network Unit)に係る機能、ルーター機能、NAT(Network Address Translation)機能、及び、DHCP(Dynamic Host Configuration Protocol)サーバー機能等を有する。通信装置6は、ローカルエリアネットワークLNに接続された機器と、グローバルネットワークGNに接続された機器との間で行われる通信に際し、機器間で送受信されるデータを転送する。なお、図1では、通信装置6を1つのブロックで表現するが、通信装置6は、機能に応じた複数の装置を有する構成でもよい。
印刷装置3、及び管理装置5は、通信装置6を介して、グローバルネットワークGNにアクセス可能である。
グローバルネットワークGNには、制御サーバー7が接続される。制御サーバー7は、情報処理装置に相当する。制御サーバー7は、印刷装置3、及び管理装置5と通信可能なサーバー装置である。すなわち、制御サーバー7は、クライアントからの要求等をトリガーとして、所定の演算処理を実行する。制御サーバー7は、必要に応じて、演算処理の結果に基づくデータを、クライアントに送信する。なお、図1では、制御サーバー7を、1つのブロックによって表現するが、これは制御サーバー7が単一のサーバー装置により構成されることを意味するものではない。例えば、制御サーバー7は、複数のサーバー装置を含んで構成されたものでもよい。すなわち、制御サーバー7は、後述する各種処理を実行可能な構成であれば、その形態を問わない。
図2は、情報処理システム1が備える各装置の機能的構成を示すブロック図である。
POS端末4は、例えば、前面の広い領域にタッチパネル42が設けられたタブレット型の端末装置である。なお、POS端末4は、デスクトップ型等の据え置き型の端末でもよい。POS端末4は、レジカウンターLにおける会計に際し、会計に関する各種処理を実行して印刷装置3を制御するホストコンピューターとして機能する。
図2に示すように、POS端末4は、POS端末制御部40と、POS端末通信部41と、タッチパネル42とを備える。
POS端末制御部40は、CPUやMPU等のプログラムを実行するプロセッサーであるPOS端末プロセッサー400、及び、POS端末記憶部410を備え、POS端末4の各部を制御する。POS端末制御部40は、POS端末プロセッサー400が、POS端末記憶部410に記憶された制御プログラム410Aを読み出して処理を実行するように、ハードウェア、及びソフトウェアの協働により各種処理を実行する。POS端末4には、所定のアプリケーションが事前にインストールされる。POS端末プロセッサー400が、この所定のアプリケーション、この所定のアプリケーションに付随するプログラム、その他のプログラムをPOS端末記憶部410から読み出して実行することにより、POS端末制御部40は、アプリケーション実行部4000として機能する。アプリケーション実行部4000については、後述する。
POS端末記憶部410は、POS端末プロセッサー400が実行するプログラムや、POS端末プロセッサー400により処理されるデータを記憶する記憶領域を有する。POS端末記憶部410は、POS端末プロセッサー400が実行する制御プログラム410A、その他の各種データを記憶する。POS端末記憶部410は、プログラムやデータを不揮発的に記憶する不揮発性記憶領域を有する。また、POS端末記憶部410は、揮発性記憶領域を備え、POS端末プロセッサー400が実行するプログラムや処理対象のデータを一時的に記憶するワークエリアを構成してもよい。
POS端末通信部41は、所定の通信規格に従った通信ハードウェアにより構成され、POS端末制御部40の制御で、印刷装置3と通信する。なお、通信ハードウェアとしては、通信回路や、通信ポート、通信基板、通信コネクター等のハードウェアが一例として挙げられる。本実施形態のPOS端末通信部41は、所定の無線通信の規格に従って、印刷装置3と通信する。POS端末4と印刷装置3との間で行われる無線通信の通信規格は、アドホックモードに対応する無線LANに係る規格や、インフラストラクチャーモードに対応する無線LANに係る規格、Bluetooth等の近距離無線通信に係る規格等、どのような規格でもよい。Bluetoothは、登録商標である。なお、POS端末通信部41は、所定の有線通信の規格に従って、印刷装置3と通信する構成でもよい。
タッチパネル42は、液晶表示パネル等の表示パネルと、表示パネルに重ねて、或いは一体に設けられたタッチセンサーとを備える。表示パネルは、POS端末制御部40の制御で、各種画像を表示する。タッチセンサーは、タッチ操作を検出し、POS端末制御部40に出力する。POS端末制御部40は、タッチセンサーからの入力に基づいて、タッチ操作に対応する処理を実行する。
印刷装置3は、ロール紙を収容し、収容したロール紙にライン型のサーマルヘッドでドットを形成して文字や画像等を印刷するサーマルプリンターである。なお、本実施形態に係る印刷装置3の印刷方式はサーマル方式であるが、印刷装置3の印刷方式は、サーマル方式に限らず、インクジェット方式等の他の印刷方式でもよい。また、印刷装置3の印刷ヘッドは、ライン型に限らず、シリアル型でもよい。
図2に示すように、印刷装置3は、メイン基板3Aと、サブ基板3Bと、を備える。
メイン基板3Aは、印刷装置3の全体を制御する主基板であり、メイン基板制御部30Aと、デバイス通信部31Aと、メイン基板通信部32Aとを有する。
メイン基板制御部30Aは、CPUやMPU等のプログラムを実行するプロセッサーであるメイン基板プロセッサー300A、及び、メイン基板記憶部310Aを備え、印刷装置3の各部を制御する。メイン基板制御部30Aは、メイン基板プロセッサー300Aが、メイン基板記憶部310Aに記憶されたメイン基板制御プログラム320Aを読み出して処理を実行するように、ハードウェア、及びソフトウェアの協働により各種処理を実行する。
メイン基板記憶部310Aは、メイン基板プロセッサー300Aが実行するプログラムや、メイン基板プロセッサー300Aにより処理されるデータを記憶する記憶領域を有する。メイン基板記憶部310Aは、メイン基板プロセッサー300Aが実行するメイン基板制御プログラム320A、その他の各種データを記憶する。メイン基板記憶部310Aは、プログラムやデータを不揮発的に記憶する不揮発性記憶領域を有する。また、メイン基板記憶部310Aは、揮発性記憶領域を備え、メイン基板プロセッサー300Aが実行するプログラムや処理対象のデータを一時的に記憶するワークエリアを構成してもよい。
デバイス通信部31Aは、USBの規格に従ったポートや、USB以外のシリアル通信規格に従ったポート、パラレル通信規格に従ったポート、有線LANに係る通信規格に従ったポート、その他ポートを有するインターフェースボードを備える。各ポートには、デバイスが接続可能である。デバイス通信部31Aは、メイン基板制御部30Aの制御で、ポートを介して印刷装置3に接続されたデバイスと通信する。なお、デバイス通信部31Aが、無線通信機能を備え、デバイスと無線通信する構成でもよい。
印刷装置3には、デバイスとして、バーコードリーダーBR、カスタマーディスプレーCD、及び、自動釣銭機JTが接続される。
バーコードリーダーBRは、商品や、商品の包装等に付されたバーコードを読み取り、読取結果を示すデータをデバイス通信部31Aに出力する。デバイス通信部31Aは、バーコードリーダーBRから入力されたデータを、メイン基板制御部30Aに出力する。
カスタマーディスプレーCDは、メイン基板制御部30Aの制御で、会計に関する情報を表示する。カスタマーディスプレーCDに表示された情報は、レジカウンターLで会計を行う顧客が視認できる。
自動釣銭機JTは、顧客から受け取った貨幣を投入する貨幣受取口と、釣銭に係る貨幣を排出する釣銭排出口とを備え、メイン基板制御部30Aの制御で、貨幣受取口を介して貨幣が投入された場合、対応する釣銭を釣銭排出口から排出する。
メイン基板通信部32Aは、所定の通信規格に従った通信ハードウェアにより構成され、メイン基板制御部30Aの制御で、所定の通信規格に従ってサブ基板3Bと通信する。通信ハードウェアとしては、通信回路や、通信ポート、通信コネクター等のハードウェアが一例として挙げられる。
サブ基板3Bは、印刷装置3への機能の追加や、印刷装置3が有する機能の増強等を行うための基板であり、印刷装置3に着脱可能に取り付けられる。サブ基板3Bは、印刷装置3に取り付けられている場合にメイン基板3Aと接続する。サブ基板3Bは、サブ基板制御部30B、印刷装置ネットワーク通信部31B、印刷装置通信部32B、及び、サブ基板通信部33Bを備える。サブ基板制御部30Bは、制御部に相当する。
サブ基板制御部30Bは、CPUやMPU等のプログラムを実行するプロセッサーであるサブ基板プロセッサー300B、及び、サブ基板記憶部310Bを備え、サブ基板3Bの各部を制御する。サブ基板記憶部310Bは、記憶部に相当する。サブ基板制御部30Bは、サブ基板プロセッサー300Bが、サブ基板記憶部310Bに記憶されたサブ基板制御プログラム320Bを読み出して処理を実行するように、ハードウェア、及びソフトウェアの協働により各種処理を実行する。
サブ基板記憶部310Bは、サブ基板プロセッサー300Bが実行するプログラムや、サブ基板プロセッサー300Bにより処理されるデータを記憶する記憶領域を有する。サブ基板記憶部310Bは、サブ基板プロセッサー300Bが実行するサブ基板制御プログラム320B、送信判別用フォーマット情報330B、情報特定用フォーマット情報340B、その他の各種データを記憶する。送信判別用フォーマット情報330Bは、第1フォーマット情報に相当する。情報特定用フォーマット情報340Bは、第2フォーマット情報に相当する。これらフォーマット情報については、後述する。サブ基板記憶部310Bは、プログラムやデータを不揮発的に記憶する不揮発性記憶領域を有する。また、サブ基板記憶部310Bは、揮発性記憶領域を備え、サブ基板プロセッサー300Bが実行するプログラムや処理対象のデータを一時的に記憶するワークエリアを構成してもよい。
印刷装置ネットワーク通信部31Bは、所定の無線通信規格に従った通信ハードウェアを備え、サブ基板制御部30Bの制御により、グローバルネットワークGNと接続する機器と所定の通信規格に従って通信する。グローバルネットワークGNと接続する機器には、管理装置5と制御サーバー7とが含まれる。印刷装置ネットワーク通信部31Bが通信に使用する通信規格は、HTTPや、WebSocket等が例として挙げられる。
印刷装置通信部32Bは、所定の通信規格に従った通信ハードウェアにより構成され、サブ基板制御部30Bの制御で、POS端末4と通信する。本実施形態の印刷装置通信部32Bは、所定の無線通信の規格に従って、POS端末4と通信する。なお、印刷装置通信部32Bは、所定の有線通信の規格に従って、POS端末4と通信する構成でもよい。
サブ基板通信部33Bは、所定の通信規格に従った通信ハードウェアにより構成され、サブ基板制御部30Bの制御で、所定の通信規格に従ってメイン基板3Aと通信する。
図2に示すように、印刷装置3は、印刷部3Cを備える。
印刷部3Cは、印刷装置3の筐体に収容されたロール紙を搬送する搬送機構や、サーマルヘッドによってロール紙にドットを形成して画像を印刷する印刷機構、ロール紙を所定の位置で切断する切断機構等のロール紙への印刷に関する各種機構を備える。印刷部3Cは、メイン基板制御部30Aの制御で、搬送機構によりロール紙を搬送し、印刷機構によりロール紙に発行する印刷物に係る画像を印刷し、切断機構により所定の位置でロール紙を切断して、印刷物を発行する。本実施形態における印刷装置3は、POS端末4から受信する印刷データIDに応じて、会計でなされた決済に関する決済情報が印刷されたレシートR、勤怠シート、及び、レポートの3種の印刷物が発行可能である。なお、勤怠シートとは、店舗Tで勤務する勤務者の勤怠に関する情報が印刷された印刷物である。また、レポートとは、店舗Tの所定の期間の売上を示す情報が印刷された印刷物である。
管理装置5は、店舗システム2が適用された店舗Tを運営する主体が管理する装置である。管理装置5は、デスクトップ型の装置でもよいし、タブレット型の装置でよいし、ラップトップ型の装置でもよい。管理装置5は、店舗Tの従業員や、店舗Tを運営する会社の従業員等の操作に権限を有する者により操作される。本実施形態では、図1に示すように管理装置5が1の店舗Tに1台設けられる場合を例示する。管理装置5は、制御サーバー7と通信して、制御サーバー7から所定のサービスの提供を受け、サービスに対応した動作を行う。例えば、管理装置5は、制御サーバー7から所定のサービスの提供を受け、ある店舗Tの商品購入状況や、ある店舗Tの売上状況や、ある店舗Tの従業員の勤務状況等を管理する。
管理装置5は、管理装置制御部50と、管理装置通信部51と、管理装置表示部52と、管理装置入力部53とを備える。
管理装置制御部50は、CPUやMPU等のプログラムを実行するプロセッサーである管理装置プロセッサー500、及び、管理装置記憶部510を備え、管理装置5の各部を制御する。管理装置制御部50は、管理装置プロセッサー500が、管理装置記憶部510に記憶された制御プログラム510Aを読み出して処理を実行するように、ハードウェア、及びソフトウェアの協働により各種処理を実行する。管理装置5には、ブラウザーが事前にインストールされる。管理装置プロセッサー500が、ブラウザー、その他の付随するプログラムを管理装置記憶部510から読み出して実行することにより、管理装置制御部50は、ブラウザー実行部5000として機能する。ブラウザー実行部5000については、後述する。
管理装置記憶部510は、管理装置プロセッサー500が実行するプログラムや、管理装置プロセッサー500により処理されるデータを記憶する記憶領域を有する。管理装置記憶部510は、管理装置プロセッサー500が実行する制御プログラム510A、その他の各種データを記憶する。管理装置記憶部510は、プログラムやデータを不揮発的に記憶する不揮発性記憶領域を有する。また、管理装置記憶部510は、揮発性記憶領域を備え、管理装置プロセッサー500が実行するプログラムや処理対象のデータを一時的に記憶するワークエリアを構成してもよい。
管理装置通信部51は、所定の通信規格に従ったネットワークカード等の無線通信する通信ハードウェアを備え、管理装置制御部50の制御により、グローバルネットワークGNと接続する機器と所定の通信規格に従って通信する。グローバルネットワークGNと接続する機器には、制御サーバー7とが含まれる。管理装置通信部51が通信に使用する通信規格は、HTTPや、WebSocket等が例として挙げられる。
管理装置表示部52は、液晶表示パネル等の表示パネルを備え、管理装置制御部50の制御に従って、各種情報を表示する。
管理装置入力部53は、管理装置5に設けられた操作スイッチや、管理装置5と接続したキーボード、タッチパネル等の入力手段を備え、管理装置5を操作するユーザーの入力手段に対する操作を検出し、管理装置制御部50に出力する。管理装置制御部50は、管理装置入力部53からの入力に基づいて、入力手段に対する操作に対応する処理を実行する。
制御サーバー7は、サーバー制御部70と、サーバーネットワーク通信部71と、サーバー表示部72と、サーバー入力部73とを備える。
サーバー制御部70は、CPUやMPU等のプログラムを実行するプロセッサーであるサーバープロセッサー700、及び、サーバー記憶部710を備え、制御サーバー7の各部を制御する。サーバー制御部70は、サーバープロセッサー700が、サーバー記憶部710に記憶された制御プログラム710Aを読み出して処理を実行するように、ハードウェア、及びソフトウェアの協働により各種処理を実行する。
以下の説明では、サーバープロセッサー700が制御プログラム710Aを実行することにより、サーバー制御部70の各種の機能を実現する構成例を説明する。
サーバー記憶部710は、サーバープロセッサー700が実行するプログラムや、サーバープロセッサー700により処理されるデータを記憶する記憶領域を有する。サーバー記憶部710は、サーバープロセッサー700が実行する制御プログラム710A、分析プログラム群管理データベース710B、分析データ管理データベース710C、その他の各種データを記憶する。分析プログラム群管理データベース710B、及び分析データ管理データベース710Cの詳細については、後述する。サーバー記憶部710は、プログラムやデータを不揮発的に記憶する不揮発性記憶領域を有する。また、サーバー記憶部710は、揮発性記憶領域を備え、サーバープロセッサー700が実行するプログラムや処理対象のデータを一時的に記憶するワークエリアを構成してもよい。
サーバーネットワーク通信部71は、所定の通信規格に従ったネットワークカード等の無線通信する通信ハードウェアを備え、サーバー制御部70の制御により、グローバルネットワークGNと接続する機器と所定の通信規格に従って通信する。ここでいうグローバルネットワークGNと接続する機器には、印刷装置3、及び管理装置5が含まれる。サーバーネットワーク通信部71が通信に使用する通信規格は、HTTPや、WebSocket等が例として挙げられる。
サーバー表示部72は、表示パネルを備え、サーバー制御部70の制御で、表示パネルに各種情報を表示する。
サーバー入力部73は、キーボード、マウス、その他の入力手段を備え、入力手段に対するユーザーの操作を検出し、サーバー制御部70に出力する。サーバー制御部70は、サーバー入力部73からの入力に基づいて、入力手段に対するユーザーの操作に対応する処理を実行する。
次に、レジカウンターLで顧客の会計が行われた場合の、POS端末4、印刷装置3、及び制御サーバー7の基本的な動作について説明する。
図3は、レジカウンターLで会計が行われた場合のPOS端末4、印刷装置3、及び制御サーバー7の動作を示すフローチャートである。図3では、フローチャートFAがPOS端末4の動作を示し、フローチャートFBが印刷装置3の動作を示し、フローチャートFCが制御サーバー7の動作を示す。
図3のフローチャートFAに示すように、POS端末4のアプリケーション実行部4000は、顧客の会計に応じて会計処理を実行し、会計処理に基づいて決済情報印刷データKIDを生成する(ステップSA1)。決済情報印刷データKIDとは、会計でなされた決済に関する決済情報を印刷したレシートRの発行を指示する印刷データIDである。決済情報印刷データKIDは、印刷装置3のコマンド体系に従った複数の制御コマンドを含んで構成される。なお、印刷データIDは、制御コマンド等の印刷に係る情報を含むため印刷情報に相当する。
ステップSA1の処理について詳述すると、アプリケーション実行部4000は、タッチパネル42に、会計に対応する入力が可能なユーザーインターフェースを表示させる。アプリケーション実行部4000は、タッチパネル42に対するレジ担当者の入力や、顧客の会計に伴う印刷装置3からの入力に応じて、会計でなされた決済に関する決済情報を生成する。決済情報の具体的な内容については、後に例を挙げて説明する。次いで、アプリケーション実行部4000は、生成した決済情報に基づいて、決済情報印刷データKIDを生成する。
図4は、POS端末4が生成した決済情報印刷データKIDの一例を示す図である。
図4に示すように、決済情報印刷データKIDは、グラフィック画像印刷指示コマンドCM1と、文字列印刷関連コマンド群GMと、改行コマンドLFと、カットコマンドCM4とを含む。また、文字列印刷関連コマンド群GMは、文字列装飾コマンドCM2と、文字列印刷指示コマンドCM3とを含む。
なお、本実施形態では、文字コードが割り当てられた対象のことを「文字」と表現する。文字には、文字コードが割り当てられた記号や、文字コードが割り当てられた空白文字が含まれる。
グラフィック画像印刷指示コマンドCM1は、専用の命令コードと、ビットマップデータ等のイメージデータとを含み、イメージデータに基づくグラフィック画像の印刷を指示する制御コマンドである。イメージデータとは、ドットマトリックス状に配置されたドットについて、各ドットの色に関する情報を保持するデータである。グラフィック画像は、フォントデータに基づいて印刷される画像ではなく、POS端末4等のホストコンピューターとして機能する装置から受信したイメージデータに基づいて印刷される画像である。後述するロゴ情報J1は、グラフィック画像に相当する。
文字列印刷関連コマンド群GMに含まれる文字列印刷指示コマンドCM3は、1行分の文字列の印刷を指示する制御コマンドである。文字列印刷指示コマンドCM3は、専用の命令コードと、印刷を指示する文字列の情報と、を含む。印刷を指示する文字列の情報とは、文字列を構成する1又は複数の文字の文字コードの組み合わせである。文字コードは、例えば1バイトのいわゆるアスキーコードなどで示される。文字列印刷関連コマンド群GMに含まれる文字列装飾コマンドCM2は、文字列印刷指示コマンドCM3によって印刷が指示された文字列に施す装飾を指定する制御コマンドである。文字列に施す装飾としては、例えば、右寄せや、中央寄せ、左寄せ、太字化、アンダーラインの付加、強調点の付加、白黒の反転、回転、拡大、縮小等が例として挙げられる。
印刷装置3のメイン基板記憶部310Aは、印刷可能な文字のそれぞれのフォントデータを記憶する。印刷装置3のメイン基板制御部30Aは、1の文字列印刷関連コマンド群GMに基づいて文字列を印刷する場合、以下の処理を実行する。
まず、メイン基板制御部30Aは、所定の手段で、当該1の文字列印刷関連コマンド群GMに含まれる文字列印刷指示コマンドCM3に含まれる文字コードのそれぞれを対応するフォントデータに変換する。次いで、メイン基板制御部30Aは、フォントデータのそれぞれを、当該1の文字列印刷関連コマンド群GMに含まれる文字列装飾コマンドCM2が指定する装飾を施したフォントデータにし、改行コマンドLFに基づき、所定の記憶領域に構成された画像バッファーに行単位の印刷順で展開する。次いで、メイン基板制御部30Aは、画像バッファーに展開したフォントデータのそれぞれを読み出して、印刷部3Cを制御し、1行分の文字列を印刷する。
改行コマンドLFは、改行を指示するコマンドである。カットコマンドCM4は、ロール紙の切断を指示するコマンドである。
図3のフローチャートFAに示すように、ステップSA1で決済情報印刷データKIDを生成した後、アプリケーション実行部4000は、POS端末通信部41を制御して、生成した決済情報印刷データKIDを、印刷装置3に送信する(ステップSA2)。
図3のフローチャートFBに示すように、印刷装置3のサブ基板制御部30Bは、印刷装置通信部32Bを制御して、決済情報印刷データKIDを受信する(ステップSB1)。サブ基板制御部30Bは、受信した決済情報印刷データKIDを、サブ基板通信部33Bを介してメイン基板制御部30Aに出力する。次いで、メイン基板制御部30Aは、ステップSB1でサブ基板制御部30Bが受信した決済情報印刷データKIDに基づいて、印刷部3Cを制御して、レシートRを発行する(ステップSB2)。発行されたレシートRは、顧客に引き渡される。
決済情報印刷データKIDに基づいて印刷装置3により発行されるレシートRの一例を図5に示す。
図5で例示するレシートRには、先頭に、店舗Tの名称を図案化したロゴ情報J1が印刷される。ロゴ情報J1は、上述したグラフィック画像印刷指示コマンドCM1に基づいて印刷される。
図5に示すレシートRにおいて、ロゴ情報J1の下方は、店舗Tの住所を文字列で表す店舗住所情報J2が一行で印刷される。店舗住所情報J2は、中央寄せに係る装飾を指定する文字列装飾コマンドCM2と、店舗の住所を表す文字列の印刷を指示する文字列印刷指示コマンドCM3とを含む文字列印刷関連コマンド群GMに基づいて印刷される。
図5に示すレシートRにおいて、店舗住所情報J2の一行下には、店舗Tの電話番号を文字列で表す店舗電話番号情報J3が一行で印刷される。店舗電話番号情報J3は、中央寄せに係る装飾を指定する文字列装飾コマンドCM2と、店舗Tの電話番号を表す文字列の印刷を指示する文字列印刷指示コマンドCM3とを含む文字列印刷関連コマンド群GMに基づいて印刷される。
図5に示すレシートRにおいて、店舗電話番号情報J3の一行下には、レジカウンター関連情報J4が印刷される。レジカウンター関連情報J4は、レジ担当者情報J41と、レジカウンター情報J42とを有する。
レジ担当者情報J41は、レジ担当者の名前を文字列で表す担当者名情報J412を有する。担当者名情報J412は、レジ担当者の氏名を示す情報であるため、個人情報に相当する。図5に示すレシートRにおいて担当者名情報J412は、「ABCD」の文字列からなる情報である。また、レジ担当者情報J41は、担当者名情報J412と同一行において担当者名情報J412の左方に印刷され、担当者名情報J412がレシートRを発行したレジ担当者であることを明示する情報である担当者明示情報J411を有する。図5に示すレシートRにおいて担当者明示情報J411は、「Server:」の文字列からなる情報である。
レジカウンター情報J42は、レジカウンターLを識別する識別番号を文字列で表すレジカウンター番号情報J422を有する。図5に示すレシートRにおいてレジカウンター番号情報J422は、「2」の文字からなる情報である。また、レジカウンター情報J42は、レジカウンター番号情報J422と同一行においてレジカウンター番号情報J422の左方に印刷され、レジカウンター番号情報J422がレジカウンターLを識別する識別番号であることを明示する情報であるレジカウンター番号明示情報J421を有する。図5に示すレシートRにおいてレジカウンター番号明示情報J421は、「Station:」の文字列からなる情報である。
レジカウンター情報J42は、左寄せに係る装飾を指定する文字列装飾コマンドCM2と、以下の文字列印刷指示コマンドCM3とを含む文字列印刷関連コマンド群GMに基づいて印刷される。文字列印刷指示コマンドCM3は、レジ担当者情報J41を表す文字列と、1個又は複数個の空白文字と、レジカウンター情報J42を表す文字列とが連続する文字列の印刷を指示する制御コマンドである。レジ担当者情報J41を表す文字列と、レジカウンター情報J42を表す文字列との間に挿入される空白文字の個数は、レジカウンター情報J42のレジカウンター番号情報J422の位置が、「行」の末尾に位置するように、調整される。
図5に示すレシートRにおいて、レジカウンター関連情報J4の一行下には、エリア分割情報BK1が印刷される。エリア分割情報BK1は、「-」の文字が一行内で、所定の個数、連続して構成された文字列である。レシートRは、エリア分割情報BK1によって印刷領域が区切られ、エリア分割情報BK1よりも上方がエリア分けされる。以下、レシートRにおいて、エリア分割情報BK1よりも上方のエリアを「エリアAA1」とする。図5に示すエリアAA1には、ロゴ情報J1、店舗住所情報J2、店舗電話番号情報J3、及び、レジカウンター関連情報J4が含まれる。
図5に示すレシートRにおいて、エリア分割情報BK1の一行下には、商品情報J5が印刷される。商品情報J5は、顧客が購入した商品に関する情報である。商品情報J5は、顧客が購入した商品の種類ごとに、レシートRに印刷される。従って、例えば、顧客が購入した商品の種類が3つである場合は、3つの種類の商品のそれぞれに対応する3つの商品情報J5が印刷される。レシートRに複数の商品情報J5が印刷される場合、複数の商品情報J5は、異なる行に、1行ずつ連続して印刷される。
商品情報J5は、購入数量情報J51と、商品名情報J52と、単価情報J53とを有する。購入数量情報J51、商品名情報J52、及び、単価情報J53は、同一行に印刷される。購入数量情報J51は、対応する商品の購入数量を文字列で表す情報である。商品名情報J52は、対応する商品の名称を文字列で表す情報である。単価情報J53は、対応する商品の単価を文字列で表す情報である。
商品情報J5は、左寄せに係る装飾を指定する文字列装飾コマンドCM2と、以下の文字列印刷指示コマンドCM3とを含む文字列印刷関連コマンド群GMに基づいて印刷される。文字列印刷指示コマンドCM3は、購入数量情報J51を表す文字列と、1つの空白文字と、商品名情報J52を表す文字列と、1個又は複数個の空白文字と、単価情報J53を表す文字列とが連続する文字列の印刷を指示する制御コマンドである。商品名情報J52を表す文字列と、単価情報J53を表す文字列との間に挿入される空白文字の個数は、単価情報J53の位置が、「行」の末尾に位置するように、調整される。
レシートRにおいて、最下部に印刷される商品情報J5の一行下には、エリア分割情報BK2が印刷される。エリア分割情報BK2は、「-」の文字が一行内で、所定の個数、連続して構成された文字列である。レシートRは、エリア分割情報BK1と、エリア分割情報BK2とによって印刷領域が区切られ、これら情報で囲まれた領域がエリア分けされる。以下、レシートRにおいて、エリア分割情報BK1とエリア分割情報BK2とで囲まれたエリアを「エリアAA2」とする。エリアAA2には、商品情報J5が1又は複数含まれる。
図5に示すレシートRにおいて、エリア分割情報BK2の一行下には、小計金額関連情報J6が印刷される。小計金額関連情報J6は、小計金額を文字列で表す小計金額情報J62を有する。また、小計金額関連情報J6は、小計金額情報J62の同一行において、小計金額情報J62の左方に印刷され、小計金額情報J62が小計金額を示す情報であることを明示する情報を文字列によって表す小計金額明示情報J61を有する。図5に示すように、レシートRに係る小計金額明示情報J61は、「Subtotal」の文字列からなる情報である。
小計金額関連情報J6は、左寄せに係る装飾を指定する文字列装飾コマンドCM2と、以下の文字列印刷指示コマンドCM3とを含む文字列印刷関連コマンド群GMに基づいて印刷される。文字列印刷指示コマンドCM3は、小計金額明示情報J61を表す文字列と、1個又は複数個の空白文字と、小計金額情報J62を表す文字列とが連続する文字列の印刷を指示する制御コマンドである。小計金額明示情報J61を表す文字列と、小計金額情報J62を表す文字列との間に挿入される空白文字の個数は、小計金額情報J62の位置が、「行」の末尾に位置するように、調整される。
レシートRにおいて、小計金額関連情報J6の一行下には、税関連情報J7が印刷される。税関連情報J7は、税額を文字列で表す税額情報J72を有する。また、税関連情報J7は、税額情報J72の同一行において、税額情報J72の左方に印刷され、税額情報J72が税額を示す情報であることを明示する情報を文字列によって表す税明示情報J71を有する。図5に示すように、レシートRに係る税明示情報J71は、「Tax」の文字列からなる情報である。
税関連情報J7は、小計金額関連情報J6と同様の文字列装飾コマンドCM2、及び文字列印刷関連コマンド群GMに基づいて印刷される。
図5に示すレシートRにおいて、税関連情報J7の一行下には、エリア分割情報BK3が印刷される。エリア分割情報BK3は、「=」の文字が右寄り且つ一行内で、所定の個数、連続して構成された文字列である。レシートRは、エリア分割情報BK2と、エリア分割情報BK3とによって印刷領域が区切られ、これら情報で囲まれた領域がエリア分けされる。以下、レシートRにおいて、エリア分割情報BK2とエリア分割情報BK3とで囲まれたエリアを「エリアAA3」とする。エリアAA3には、小計金額関連情報J6、及び税関連情報J7が含まれる。
図5に示すレシートRにおいて、エリア分割情報BK3の一行下には、合計金額関連情報J8が印刷される。合計金額関連情報J8は、合計金額を文字列で表す合計金額情報J82を有する。また、合計金額関連情報J8は、合計金額情報J82の同一行において、合計金額情報J82の左方に印刷され、合計金額情報J82が合計金額を示す情報であることを明示する情報を文字列によって表す合計金額明示情報J81を有する。図5に示すように、レシートRに係る合計金額明示情報J81は、「TOTAL」の文字列からなる情報である。
合計金額関連情報J8は、小計金額関連情報J6と同様の文字列装飾コマンドCM2、及び文字列印刷関連コマンド群GMに基づいて印刷される。
図5に示すレシートRにおいて、合計金額関連情報J8の一行下には、支払関連情報J9が印刷される。支払関連情報J9は、会計における顧客の支払方法を文字列で表す支払方法情報J91を有する。図5において支払方法情報J91は、「OPQ Tendered」の文字列からなる情報である。支払関連情報J9は、支払方法情報J91と同一行において、支払方法情報J91の右方に印刷され、支払方法情報J91が示す支払方法で支払った金額を文字列によって表す支払金額情報J92を有する。図5において支払金額情報J92は、「76.13」の文字列からなる情報である。
支払関連情報J9は、小計金額関連情報J6と同様の文字列装飾コマンドCM2、及び文字列印刷関連コマンド群GMに基づいて印刷される。
図5に示すレシートRにおいて、支払関連情報J9の一行下には、カード関連情報J10が印刷される。カード関連情報J10は、会計における顧客の支払いがクレジットカードやポイントカード等のカードによる支払いである場合に印刷される。カード関連情報J10は、カード番号を文字列で表すカード番号情報J102をする。カード番号情報J102は、顧客ごとに割り当てられた番号を示す情報であるため、個人情報に相当する。図5においてカード番号情報J102は、「XXXX-XXXX-XXXX-1234」の文字列からなる情報である。カード関連情報J10は、カード番号情報J102と同一行において、カード番号情報J102の左方に印刷され、カード番号情報J102がカード番号であることを明示する情報を文字列によって表すカード番号明示情報J101を有する。図5に示すレシートRにおいて、カード番号明示情報J101は、「Card No」の文字列からなる情報である。
カード関連情報J10は、小計金額関連情報J6と同様の文字列装飾コマンドCM2、及び文字列印刷関連コマンド群GMに基づいて印刷される。
図5に示すレシートRにおいて、カード関連情報J10の一行下には、エリア分割情報BK4が印刷される。エリア分割情報BK4は、「=」の文字が右寄り且つ一行内で、所定の個数、連続して構成された文字列である。レシートRは、エリア分割情報BK3と、エリア分割情報BK4とによって印刷領域が区切られ、これら情報で囲まれた領域がエリア分けされる。以下、レシートRにおいて、エリア分割情報BK3とエリア分割情報BK4とで囲まれたエリアを「エリアAA4」とする。エリアAA4には、合計金額関連情報J8、支払関連情報J9、及び、カード関連情報J10が含まれる。
図5に示すレシートRにおいて、エリア分割情報BK4の一行下には、レシート識別関連情報J11が印刷される。レシート識別関連情報J11は、レシートを識別する識別情報を文字列で表すレシート識別情報J112を有する。レシート識別情報J112の値は、レシートRごとに異なる。また、レシート識別関連情報J11は、レシート識別情報J112の同一行において、レシート識別情報J112の左方に印刷され、レシート識別情報J112がレシートを識別する識別情報であることを明示する情報を文字列で表すレシート識別明示情報J111を有する。図5に示すように、レシートRに係るレシート識別明示情報J111は、「Check♯:」の文字列からなる情報である。レシート識別関連情報J11は、中央寄せに係る装飾を指定する文字列装飾コマンドCM2と、以下の文字列印刷指示コマンドCM3とを含む文字列印刷関連コマンド群GMに基づいて印刷される。文字列印刷指示コマンドCM3は、レシート識別明示情報J111を表す文字列と、1つの空白文字と、レシート識別情報J112を表す文字列とが連続する文字列の印刷を指示する制御コマンドである。
図5に示すレシートRにおいて、レシート識別関連情報J11の一行下には、レシートRが発行された日時を文字列で表す発行日時情報J12が印刷される。発行日時情報J12は、印刷装置3がレシートRを発行した日にちを文字列で表す日にち情報J121と、印刷装置3がレシートRを発行した時間を文字列で表す時間情報J122とを有する。発行日時情報J12は、中央寄せに係る装飾を指定する文字列装飾コマンドCM2と、レシートRが発行された日時を表す文字列の印刷を指示する文字列印刷指示コマンドCM3とを含む文字列印刷関連コマンド群GMに基づいて印刷される。ここでの文字列印刷指示コマンドCM3は、日にち情報J121を表す文字列と、1つの空白文字と、時間情報J122を表す文字列とが連続する文字列の印刷を指示する制御コマンドである。
図5に示すレシートRにおいて、発行日時情報J12の一行下には、付加情報J13が印刷される。付加情報J13は、一行内で、レシートRを受け取る顧客に対する感謝を示す文字列からなる情報である。図5に示すレシートRにおいて付加情報J13は、「THANK YOU!」の文字列からなる情報である。付加情報J13は、中央寄せに係る装飾を指定する文字列装飾コマンドCM2と、付加情報J13を表す文字列の印刷を指示する文字列印刷指示コマンドCM3とを含む文字列印刷関連コマンド群GMに基づいて印刷される。
以下、レシートRにおいて、エリア分割情報BK3とエリア分割情報BK4とで囲まれたエリアを「エリアAA4」とする。また、以下、レシートRにおいて、エリア分割情報BK4よりも下方のエリアを「エリアAA5」とする。エリアAA5には、レシート識別関連情報J11、発行日時情報J12、及び、付加情報J13が含まれる。
このように、図5に示すレシートRでは、POS端末4が生成した決済情報印刷データKIDに基づき、以下のレイアウトで各情報が印刷装置3により印刷される。すなわち、エリアAA1には、ロゴ情報J1、店舗住所情報J2、店舗電話番号情報J3、及び、レジカウンター関連情報J4がこの順で印刷される。エリアAA2には、商品情報J5が1又は複数印刷される。エリアAA3には、小計金額関連情報J6、及び、税関連情報J7がこの順番で印刷される。エリアAA4には、合計金額関連情報J8、支払関連情報J9、及び、カード関連情報J10がこの順番で印刷される。エリアAA5には、レシート識別関連情報J11、発行日時情報J12、及び、付加情報J13がこの順番で印刷される。これら情報は、決済情報である。
図3のフローチャートFBの説明に戻り、ステップSB2でレシートRを発行した後、サブ基板制御部30Bは、決済情報印刷データKIDに基づいて、印刷テキストデータITDを生成する(ステップSB3)。印刷テキストデータITDは、テキストデータに相当する。以下、ステップSB3の処理について詳述する。印刷テキストデータITDは、印刷される情報がテキストとして記述されたデータであり、印刷に係る情報を含むため印刷情報に相当する。
ステップSB3において、サブ基板制御部30Bは、決済情報印刷データKIDから、文字列の印刷に関する制御コマンドである文字列印刷指示コマンドCM3、及び、改行コマンドLFを抽出する。次いで、サブ基板制御部30Bは、抽出した制御コマンドに基づいて、レシートRに文字として印刷される決済情報がテキストとして記述された印刷テキストデータITDを生成する。ここで、サブ基板制御部30Bは、印刷テキストデータITDに、印刷で行われる改行が反映された状態で決済情報を記述する。また、サブ基板制御部30Bは、印刷テキストデータITDに、文字列装飾コマンドCM2で指定された装飾を反映しない状態で決済情報を記述する。従って、文字列装飾コマンドCM2によって、文字列に施す装飾として、中央寄せ、右寄せが指示された場合でも、印刷テキストデータITDへのテキストの記述に際し、これら装飾は反映されない。
図6は、図5で例示したレシートRに係る印刷データIDに基づいて生成される印刷テキストデータITDの内容を示す図である。図6と、図5との比較で明らかなとおり、印刷テキストデータITDには、レシートRに文字として印刷される決済情報が、印刷における順番、及び、印刷における改行を反映した状態でテキストとして記述される。
なお、ロゴ情報J1は、グラフィック画像であるため、印刷テキストデータITDには、記述されない。すなわち、文字コードに対応するフォントデータに基づいて印刷される文字以外の情報は、印刷テキストデータITDには記述されない。
図3のフローチャートFBに示すように、ステップSB3で印刷テキストデータITDを生成した後、サブ基板制御部30Bは、シリアル番号J14、店舗識別情報J15、及び、ステップSB3で生成した印刷テキストデータITDを、印刷装置ネットワーク通信部31Bを介して制御サーバー7に送信する(ステップSB4)。
シリアル番号J14は、印刷装置3の製造段階で、印刷装置3に一意に割り当てられる識別情報であり、予めメイン基板記憶部310Aの所定の記憶領域に記憶される。ステップSB4において、サブ基板制御部30Bは、サブ基板通信部33Bを介して、メイン基板記憶部310Aの所定の記憶領域に記憶されたシリアル番号J14を取得する。店舗識別情報J15は、印刷装置3が設けられた店舗Tを識別する識別情報であり、予めメイン基板記憶部310Aの所定の記憶領域に記憶される。ステップSB4において、サブ基板制御部30Bは、サブ基板通信部33Bを介してメイン基板記憶部310Aの所定の記憶領域に記憶された店舗識別情報J15を取得する。
なお、本実施形態では、印刷装置3が印刷データIDから印刷テキストデータITDを生成する構成を例示しているが、POS端末4が印刷テキストデータITDを生成する構成でもよい。この構成、印刷装置3は、ステップSB3の処理をスキップし、POS端末4から受信した印刷テキストデータITDを、シリアル番号J14、及び、店舗識別情報J15と共に制御サーバー7に送信する。また、制御サーバー7が、印刷データIDを印刷装置3から取得し印刷テキストデータITDを生成する構成でもよい。
図3のフローチャートFCに示すように、制御サーバー7のサーバー制御部70は、サーバーネットワーク通信部71を制御して、印刷装置3が送信したシリアル番号J14、店舗識別情報J15、及び、印刷テキストデータITDを受信する(ステップSC1)。
次いで、サーバー制御部70は、分析プログラム群管理データベース710Bを参照し、ステップSC1で受信したシリアル番号J14の値と同一の値のシリアル番号J14が対応付けられた分析プログラム群BPGを取得する(ステップSC2)。
図7は、分析プログラム群管理データベース710Bの1件のレコードが有する情報を模式的に示す図である。
図7に示すように、分析プログラム群管理データベース710Bの1件のレコードは、シリアル番号J14と、分析プログラム群BPGとを有する。
図7では、分析プログラム群BPGは、第1分析プログラムBP1~第10分析プログラムBP10の10個の分析プログラムBPを有する。分析プログラムBPのそれぞれについては後述する。
図3のフローチャートFCの説明に戻り、サーバー制御部70は、取得した分析プログラム群BPGに基づいてテキストデータ分析処理を実行する(ステップSC3)。テキストデータ分析処理は、制御サーバー7にインストールされた制御プログラム710A、及び、制御プログラム710Aに付随するプログラムの機能により実行される。
テキストデータ分析処理は、印刷テキストデータITDから、決済情報に含まれる項目に対応する項目値を表すテキストを印刷テキストデータITDから取得する処理である。以下では、印刷テキストデータITDから項目値を表すテキストを取得することを、単に、印刷テキストデータITDから項目値を取得すると表現する。テキストデータ分析処理は、印刷テキストデータITDから項目値を抽出し、必要に応じて、抽出した項目値の表記形式をユーザーが活用可能な表記形式に変換することによって、印刷テキストデータITDから項目値を取得する。なお、項目値によっては、表記形式の変換が行われない項目値と、表記形式の変換が行われる項目値とがある。そのため、テキストデータ分析処理では、項目によって、最終的に取得される項目値の表記形式が、印刷テキストデータITDから抽出した時点の表記形式である場合と、変換された表記形式である場合とがある。
本実施形態では、決済情報に含まれる項目として、店舗住所情報項目、店舗電話番号情報項目、レジカウンター番号情報項目、商品情報項目、小計金額情報項目、税情報項目、合計金額情報項目、支払方法情報項目、レシート識別情報項目、及び、発行日時情報項目の10個の項目がある。これら項目については、後述する。
上述したように、本実施形態の分析プログラム群BPGは、複数の分析プログラムBPを有している。1の分析プログラムBPは、所定のスクリプト言語によって記述されたプログラムであり、記述された処理フローが示す分析ルールに沿って、1の項目について、印刷テキストデータITDから項目値を取得する機能を有するプログラムである。
分析プログラム群BPGは、1の印刷テキストデータITDから、分析プログラムBPの数に対応する数分の項目について、項目値を取得する。図7では、分析プログラム群BPGは、第1分析プログラムBP1~第10分析プログラムBP10から構成される。つまり、図7の場合では、分析プログラム群BPGは、上記の10の項目のそれぞれについて、項目値の取得を行う機能を有する。
本実施形態では、分析プログラム群BPGは、店舗住所情報項目に対して、項目値を取得する機能を有する第1分析プログラムBP1を有する。
店舗住所情報項目は、項目値として、レシートRが発行された店舗Tの住所を示す店舗住所情報J2が対応付く項目である。
また、分析プログラム群BPGは、店舗電話番号情報項目に対して、項目値を取得する機能を有する第2分析プログラムBP2を有する。
電話番号情報項目には、項目値として、レシートRが発行された店舗Tの電話番号を示す店舗電話番号情報J3が対応付く項目である。
また、分析プログラム群BPGは、レジカウンター番号情報項目に対して、項目値を取得する機能を有する第3分析プログラムBP3を有する。
レジカウンター番号情報項目には、項目値として、レジカウンター番号情報J422が対応付く項目である。
また、分析プログラム群BPGは、商品情報項目に対して、項目値を取得する機能を有する第4分析プログラムBP4を有する。
商品情報項目には、商品名情報項目と、購入数量情報項目と、単価情報項目とが含まれる。
商品名情報項目は、項目値として、商品名情報J52が対応付く項目である。
購入数量情報項目は、項目値として、購入数量情報J51が対応付く項目である。
単価情報項目は、項目値として、単価情報J53が対応付く項目である。
また、分析プログラム群BPGは、小計金額情報項目に対して、項目値を取得する機能を有する第5分析プログラムBP5を有する。
小計金額情報項目は、項目値として、小計金額情報J62が対応付く項目である。
また、分析プログラム群BPGは、税情報項目に対して、項目値を取得する機能を有する第6分析プログラムBP6を有する。
税情報項目には、項目値として、税額情報J72が対応付く項目である。
また、分析プログラム群BPGは、合計金額情報項目に対して、項目値を取得する機能を有する第7分析プログラムBP7を有する。
合計金額情報項目は、項目値として、合計金額情報J82が対応付く項目である。
また、分析プログラム群BPGは、支払関連情報項目に対して、項目値を取得する機能を有する第8分析プログラムBP8を有する。
支払関連情報項目には、支払方法情報項目と、支払金額情報項目とが含まれる。
支払方法情報項目は、項目値として、支払方法情報J91が対応付く項目である。支払金額情報項目は、項目値として、支払金額情報J92が対応付く項目である。
また、分析プログラム群BPGは、レシート識別情報項目に対して、項目値を取得する機能を有する第9分析プログラムBP9を有する。
レシート識別情報項目は、項目値として、レシート識別情報J112が対応付く項目である。
また、分析プログラム群BPGは、発行日時情報項目に対して、項目値を取得する機能を有する第10分析プログラムBP10を有する。
発行日時情報項目は、項目値として、発行日時情報J12が対応付く項目である。
なお、上述した項目値の中には、実際の数値として表現される情報でなく文字列として表現される情報が含まれるが、本実施形態においては項目値として扱う。
ここで、第7分析プログラムBP7を例に挙げて分析プログラムBPの分析ルールを具体的に説明する。
例えば、第7分析プログラムBP7の分析ルールは、印刷テキストデータITDのエリアAA4に含まれる文字列「TOTAL」をキーワード検索し、文字列「TOTAL」を有する行において、空白文字を除き、文字列「TOTAL」の右側に位置する文字列を合計金額情報項目の項目値として抽出し、抽出した項目値の表記形式を、桁区切りを示す記号を取り除いた表記形式に変換するというルールである。図6に示す印刷テキストデータITDにこの第7分析プログラムBP7を適用すると、テキストデータ分析処理では、「76.13」の文字列で表された合計金額情報J82が印刷テキストデータITDから取得される。
本実施形態では、分析プログラムBPに対して、第1~第10と識別子を付しているが、この識別子は、項目値を取得する対象の項目が異なることを示している。そのため、例えば、ある分析プログラム群BPGが有する第1分析プログラムBP1と、当該ある分析プログラム群BPGと異なる分析プログラム群BPGが有する第1分析プログラムBP1とは、項目値を取得するための分析ルールが同じであるとは限らない。
なお、分析プログラム群BPGが分析する項目は、上述したものに限定されない。分析プログラム群BPGが分析する項目は、上述した項目の他に、例えば、払い戻しの有無を示す情報が項目値として対応付く払戻有無情報項目や、支払方法を示す情報が項目値として対応付く支払方法情報項目等の種々の項目を含んでよい。この場合、分析プログラム群BPGは、対応する項目の分析プログラムBPを含んで構成される。また、分析プログラム群BPGが含む分析プログラムBPの数は、必ずしも10つに限定されず、分析プログラム群BPGごとに異なってもよい。また、分析プログラム群BPGが含む分析プログラムBPの種類は、分析プログラム群BPGごとに異なってもよい。
また、図7に示す分析プログラム群BPGは、決済情報印刷データKIDに基づく印刷テキストデータITDに対して項目値を取得する分析プログラムBPを複数有する。しかしながら、分析プログラム群BPGが項目値を取得する印刷テキストデータITDは、勤怠シートの発行を指示する印刷データIDに基づく印刷テキストデータITDでもよいし、レポートの発行を指示する印刷データIDに基づく印刷テキストデータITDでもよい。この場合、分析プログラム群BPGは、印刷テキストデータITDの種類に応じた項目値を取得する分析プログラムBPを1又は複数有する。
図3のフローチャートFCの説明に戻り、サーバー制御部70は、ステップSC3のテキストデータ分析処理の処理結果に基づいて分析データBDを生成する(ステップSC4)。分析データBDは、上述した項目のそれぞれと、取得した項目値とが対応付けて記述されたJSON形式のデータである。また、分析データBDは、項目値を印刷テキストデータITDから取得できなかったことを示す情報が必要に応じて項目ごとに記述される。なお、項目値を印刷テキストデータITDから取得できなかったことを示す情報としては、null値が一例として挙げられる。
サーバー制御部70は、分析データBDを生成すると、生成した分析データBDに基づいて、分析データ管理データベース710Cに登録するレコードを生成する。そして、サーバー制御部70は、生成したレコードを分析データ管理データベース710Cに登録する(ステップSC5)。
図8は、分析データ管理データベース710Cの1件のレコードが格納する情報を模式的に示す図である。
図8に示すように、分析データ管理データベース710Cの1件のレコードは、統括識別情報J16、シリアル番号J14、店舗識別情報J15、発行日時情報J12、印刷テキストデータITD、及び、分析データBDを格納する。
分析データ管理データベース710Cの1件のレコードは、所定の方法でサーバー制御部70により生成された統括識別情報J16を格納する。統括識別情報J16は、分析データBDを一意に識別する識別情報である。
分析データ管理データベース710Cの1件のレコードは、ステップSC1で制御サーバー7が受信したシリアル番号J14、店舗識別情報J15、及び印刷テキストデータITDを格納する。
分析データ管理データベース710Cの1件のレコードは、テキストデータ分析処理で項目値として取得された発行日時情報J12を格納する。
制御サーバー7には、複数のWebAPI(Application Programming Interface)が登録される。そして、制御サーバー7は、外部の装置のブラウザーからの要求に応じて、分析データ管理データベース710Cに基づいて、登録されたWebAPIにより処理を行って、ユーザーが必要とする情報を提供することができる。ここでいうユーザーとは、例えば、店舗Tを経営するオーナーや、店舗Tを管理する管理会社またはその管理会社の従業員、店舗Tの責任者等の管理装置5の操作権限を有する者である。
例えば、管理装置5のユーザーは、管理装置5のブラウザーを立ち上げ、制御サーバー7から項目値を取得するためのユーザーインターフェースの表示に係る制御サーバー7の所定のURLへのアクセスを指示する。URLは、所定の方法で、ユーザーに事前に通知されている。管理装置5のブラウザー実行部5000は、ユーザーの指示に応じて、制御サーバー7の所定のURLにアクセスする。そして、制御サーバー7のサーバー制御部70は、所定のURLへのアクセスに応じて、上記のユーザーインターフェースを表示させるHTMLファイルを管理装置5に送信する。管理装置5は、受信したHTMLファイルに基づいて上記のユーザーインターフェースを管理装置表示部52により表示する。ここで、管理装置5が表示するユーザーインターフェースにおいて、合計金額情報J82が指定されたとする。すると、ブラウザー実行部5000は、HTTPリクエストとして、制御サーバー7に特定のレシートRに係る合計金額情報J82を要求する。制御サーバー7のサーバー制御部70は、分析データ管理データベース710Cの分析データBDを用いて、特定のレシートRに係る合計金額情報J82をHTTPレスポンスとして管理装置5に送信する。これにより、管理装置5のユーザーは、特定のレシートRに印刷された合計金額情報J82を活用することができる。
前述した通り、本実施形態の印刷装置3は、POS端末4から受信する印刷データIDに応じて、レシートR、勤怠シート、及びレポートの3種の印刷物を発行可能である。したがって、本実施形態では、POS端末4が印刷装置3に送信する印刷データIDには、決済情報印刷データKID以外に、勤怠シートの印刷を指示する印刷データID、及び、レポートの印刷を指示する印刷データIDがある。以下の説明において、勤怠シートの印刷を指示する印刷データIDを、勤怠シート印刷データという。また、レポートの印刷を指示する印刷データIDを、レポート印刷データという。
制御サーバー7は、印刷装置3から印刷テキストデータITDを取得すれば、分析プログラム群BPGを利用してテキストデータ分析処理を行う。そのため、制御サーバー7は、決済情報印刷データKIDに基づく印刷テキストデータITDの他、勤怠シート印刷データ、及びレポート印刷データに基づく印刷テキストデータITDからも、項目値を取得可能である。
しかしながら、店舗Tを経営するオーナーや、店舗Tを管理する管理会社等の管理装置5の操作権限を有する者は、全ての種類の印刷物に印刷された情報を活用することを望むとは限らない。例えば、レシートRごとに商品情報J5を取得したいとする管理装置5の操作権限を有する者は、勤怠に関する情報を取得したいと望むとは限らない。この場合、印刷装置3が印刷物の種類に依ることなく印刷テキストデータITDを制御サーバー7に送信する構成であると、不必要に、勤怠シート印刷データに基づく印刷テキストデータITDを制御サーバー7に送信することになってしまう。これにより、制御サーバー7は、不必要にテキストデータ分析処理を実行してしまう可能性があり、制御サーバー7の処理効率が低下する。
また、印刷装置3から制御サーバー7に印刷テキストデータITDを送信する際、すなわち、1の店舗システム2の外部に印刷テキストデータITDを送信する際、印刷テキストデータITDに含まれることが望まれない情報が有り得る。この情報としては、図5において担当者名情報J412やカード番号情報J102等の個人に係る個人情報が一例として挙げられる。
以上の事情を鑑みて、本実施形態の印刷装置3は、以下の動作を実行する。
図9は、印刷装置3の動作を示すフローチャートである。
図9を用いた印刷装置3の動作の説明では、決済情報印刷データKIDに基づく印刷テキストデータITDを制御サーバー7に送信する場合の動作を例に挙げる。
印刷装置3のサブ基板3Bのサブ基板制御部30Bは、印刷装置通信部32Bを介して、POS端末4から印刷データIDを受信したか否かを判別する(ステップSD1)。
サブ基板制御部30Bは、POS端末4から印刷データIDを受信していないと判別した場合(ステップSD1:NO)、処理をステップSD1に戻して、再度、POS端末4から印刷データIDを受信したか否かを判別する。
一方、サブ基板制御部30Bは、POS端末4から印刷データIDを受信したと判別した場合(ステップSD1:YES)、受信した印刷データIDを、サブ基板通信部33Bを介してメイン基板制御部30Aに送信する(ステップSD2)。
メイン基板制御部30Aは、サブ基板制御部30Bから受信した印刷データIDに基づいて、印刷部3Cにより印刷物を発行する(ステップSD3)。
POS端末4から受信した印刷データIDが決済情報印刷データKIDである場合、メイン基板制御部30Aは、ステップSD3において、印刷部3CによりレシートRを発行する。
また、POS端末4から受信した印刷データIDが勤怠印刷データである場合、メイン基板制御部30Aは、ステップSD3において、印刷部3Cにより勤怠シートを発行する。
また、POS端末4から受信した印刷データIDがレポート印刷データである場合、メイン基板制御部30Aは、ステップSD3において、印刷部3Cによりレポートを発行する。
次いで、サブ基板制御部30Bは、POS端末4から受信した印刷データIDに基づいて印刷テキストデータITDを生成する(ステップSD4)。
次いで、サブ基板制御部30Bは、生成した印刷テキストデータITDのフォーマットが、サブ基板記憶部310Bが記憶する送信判別用フォーマット情報330Bが示す送信判別用フォーマットに適応するか否かを判別する(ステップSD5)。送信判別用フォーマットは、第1フォーマットに相当する。
なお、本実施形態においてフォーマットとは、データにおける情報の記述形式や、記述された情報自体の表記形式等の形式を示す。
送信判別用フォーマットは、ある特定種類の印刷物の印刷に係る印刷テキストデータITDを制御サーバー7に送信するために判別用として用いられる印刷テキストデータITDのフォーマットである。送信判別用フォーマット情報330Bは、送信判別用フォーマットを示す情報である。
1の送信判別用フォーマットは、1種の印刷物の印刷に係る印刷テキストデータITDのフォーマットを示している。以下に、送信判別用フォーマットの例を挙げる。一般に、付加情報J13は、レシートRに印刷されて、勤怠シート、及びレポートには印刷されない。そのため、決済情報印刷データKIDに基づく印刷テキストデータITDのフォーマットは、他の印刷データIDに基づく印刷テキストデータITDと比較して、付加情報J13を有するフォーマットである。そのため、送信判別用フォーマットが、レシートRの印刷に係る印刷テキストデータITDを制御サーバー7に送信するために判別用として用いられる送信判別用フォーマットである場合、送信判別用フォーマットは、例えば、「付加情報J13を有する」という印刷テキストデータITDのフォーマットを示す。
なお、送信判別用フォーマットの具体例は、あくまで一例である。したがって、送信判別用フォーマットは、ある特定種類の印刷物特有の印刷テキストデータITDのフォーマットを示すものであればよい。
ステップSD5では、サブ基板制御部30Bは、ステップSD4で生成した印刷テキストデータITDを分析し、分析結果に基づいて送信判別用フォーマットに適応するか否かを判別する。
例えば、サブ基板制御部30Bは、所定の分析プログラムを利用して、ステップSD4で生成した印刷テキストデータITDから「THANK YOU!」の文字列で表された付加情報J13を文字列検索する。サブ基板制御部30Bは、付加情報J13を検索できた場合、ステップSD4で生成した印刷テキストデータITDのフォーマットが付加情報J13を有するフォーマットであると判定する。次いで、サブ基板制御部30Bは、送信判別用フォーマットが「付加情報J13を有する」というフォーマットを示す場合、ステップSD5において肯定判別する。一方で、サブ基板制御部30Bは、付加情報J13を検索できない場合、ステップSD4で生成した印刷テキストデータITDのフォーマットが付加情報J13を有さないフォーマットであると判定する。次いで、サブ基板制御部30Bは、送信判別用フォーマットが「付加情報J13を有する」というフォーマットを示す場合、ステップSD5において否定判別する。
なお、ステップSD5で印刷テキストデータITDを分析するための分析プログラムは、予め適切な分析を行うものがサブ基板記憶部310Bに記憶される。
サブ基板制御部30Bは、ステップSD4で生成した印刷テキストデータITDのフォーマットが、送信判別用フォーマットに適応しないと判別した場合(ステップSD5:NO)、ステップSD4で生成した印刷テキストデータITDを制御サーバー7に送信しない(ステップSD6)。
一方で、サブ基板制御部30Bは、ステップSD4で生成した印刷テキストデータITDのフォーマットが、送信判別用フォーマットに適応すると判別した場合(ステップSD5:YES)、ステップSD7の処理を実行する。すなわち、サブ基板制御部30Bは、印刷テキストデータITDが含む情報のうち、サブ基板記憶部310Bが記憶する情報特定用フォーマット情報340Bが示す情報特定用フォーマットに適応する情報があるか否かを判別する(ステップSD7)。情報特定用フォーマットは、第2フォーマットに相当する。
情報特定用フォーマットは、印刷テキストデータITDを制御サーバー7に送信する際に、印刷テキストデータITDに含まれる情報のうちマスクする情報を特定するためのフォーマットである。
本実施形態では、情報特定用フォーマットは、印刷テキストデータITDに含まれる情報のうち、個人情報を特定するためのフォーマットであり、個人情報に対応する文字列に関するフォーマットと、個人情報の印刷のレイアウトに関するフォーマットとがある。以下に例を挙げて、これら情報特定用フォーマットのそれぞれについて詳述する。
[文字列に関するフォーマット]
例えば、情報特定用フォーマットは、文字列に関するフォーマットとして、「「XXXX-XXXX-XXXX-」の文字列を有し、末尾から4つの文字列が数字である、空白文字を含まない一連の文字列」というフォーマットを示す。
また、例えば、情報特定用フォーマットは、文字列に関するフォーマットとして、「「Server:」の文字列に続く文字列であって、少なくとも複数のアルファベットの文字で構成され空白文字を含まない文字列」というフォーマットを示す。
[レイアウトに関するフォーマット]
例えば、情報特定用フォーマットは、レイアウトに関するフォーマットとして、「エリアAA4の最も下方に一行で印刷される文字列のうち、空白文字を基準に右側の印刷される空白文字を含まない一連の文字列」というフォーマットを示す。
また、例えば、情報特定用フォーマットは、レイアウトに関するフォーマットとして、「エリアAA1において最も下方に一行行で印刷される文字列のうち、空白文字を基準に左側の文字列のうち、文字列「:」を基準に右側の空白文字を除く文字列」というフォーマットを示す。
ステップSD7において、サブ基板制御部30Bは、印刷テキストデータITDが含む情報のうち、情報特定用フォーマットに適応する情報があると判別した場合(ステップSD7:YES)、情報特定用フォーマットに適応する情報をマスクするマスク処理を行う。(ステップSD8)。マスクの態様は、情報特定用フォーマットに適応する情報を、他の情報に変換する態様でもよいし、情報特定用フォーマットに適応する情報を削除する態様でもよい。
図10は、情報特定用フォーマットに適応する情報を、他の情報に変換した場合の印刷テキストデータITDの一例を示す図である。
図10に示す印刷テキストデータITDは、図6の印刷テキストデータITDが有する情報のうち情報特定用フォーマットに適応する情報をマスクした印刷テキストデータITDである。
図6の印刷テキストデータITDにおいて、個人情報は、「Server:」の文字列に続く「ABCD」の文字列で表される担当者名情報J412と、「XXXX-XXXX-XXXX-1234」の文字列で表されるカード番号情報J102とである。したがって、図10と図6を比較して明らかな通り、図10の印刷テキストデータITDでは、「Server:」の文字列に続く「ABCD」の文字列で表される担当者名情報J412が、「XXXX」の文字列で表される情報に変換されている。また、図10と図6を比較して明らかな通り、「XXXX-XXXX-XXXX-1234」の文字列で表されるカード番号情報J102が、「XXXX-XXXX-XXXX-XXXX」の文字列で表される情報に変換されている。
このように、図10に示す印刷テキストデータITDは、図6と比較して明らかな通り、個人情報を含まない印刷テキストデータITDとなるように、個人情報がマスクされている。
図11は、情報特定用フォーマットに適応する情報を削除した場合の印刷テキストデータITDの一例を示す図である。
図11に示す印刷テキストデータITDは、図10に示す印刷テキストデータITDと同様、図6の印刷テキストデータITDが含む情報のうち、情報特定用フォーマットに適応する情報をマスクした印刷テキストデータITDである。
図11と図6を比較して明らかな通り、「Server:」の文字列に続く「ABCD」の文字列で表される担当者名情報J412が、削除されている。また、図11と図6を比較して明らかな通り、「XXXX-XXXX-XXXX-1234」の文字列で表されるカード番号情報J102が、削除されている。なお、削除とは、文字を空白文字に変換すること同様である。
このように、図11に示す印刷テキストデータITDは、図6に示す印刷テキストデータITDと比較して明らかな通り、個人情報を含まない印刷テキストデータITDとなるように、個人情報がマスクされている。
図9を参照し、サブ基板制御部30Bは、ステップSD8でマスク処理を実行すると、マスク処理を施した印刷テキストデータITDを、シリアル番号J14、及び店舗識別情報J15と共に送信する(ステップSD9)。
ステップSD7の説明に戻り、サブ基板制御部30Bは、印刷テキストデータITDが含む情報のうち、情報特定用フォーマットに適応する情報がないと判別した場合(ステップSD7:NO)、マスク処理を行うことなく、印刷テキストデータITDを、シリアル番号J14、及び、店舗識別情報J15と共に送信する(ステップSD9)。
以上のように、印刷装置3のサブ基板3Bのサブ基板制御部30Bは、印刷テキストデータITDのフォーマットが、送信判別用フォーマットに適応するか否かを判別する。サブ基板制御部30Bは、印刷テキストデータITDのフォーマットが、送信判別用フォーマットに適応すると判別した場合、印刷テキストデータITDに含まれる情報のうち情報特定用フォーマットに適応する情報を、他の情報に変換、或いは削除して、マスク処理を行った印刷テキストデータITDを制御サーバー7に送信する。これにより、サブ基板制御部30Bは、送信判別用フォーマットに適応する印刷テキストデータITDのみ制御サーバー7に送信でき、不必要に、種々の印刷物の印刷に係る印刷テキストデータITDが制御サーバー7に送信されることを防止できる。また、サブ基板制御部30Bは、情報特定用フォーマットに適応する情報が含まれていない適切な印刷テキストデータITDを制御サーバー7に送信できる。したがって、サブ基板制御部30Bは、制御サーバー7への印刷テキストデータITDの送信において、不必要に印刷テキストデータITDを送信すること防止するとともに、適切な印刷テキストデータITDを送信できる。そして、サブ基板制御部30Bは、制御サーバー7が不必要にテキストデータ分析処理を実行することを防止でき、制御サーバー7の処理効率が低下することを防止できる。
上述したように、送信判別用フォーマットは、印刷装置3が印刷する印刷物のうち特定種類の印刷物の印刷に係る印刷テキストデータITDのフォーマットである。したがって、サブ基板制御部30Bは、印刷装置3が印刷可能な印刷物のうち、特定種類の印刷物の印刷に係る印刷テキストデータITDのみ制御サーバー7に送信できる。これにより、サブ基板制御部30Bは、印刷装置3が印刷可能な全種の印刷物について印刷テキストデータITDが制御サーバー7に送信されること防止できるため、不必要に印刷テキストデータITDが制御サーバー7に送信されることを防止できる。図9を用いた説明では、決済情報印刷データKIDに基づく印刷テキストデータITDのみ送信する構成である。これにより、サブ基板制御部30Bは、レシートR以外の印刷物の印刷に係る印刷テキストデータITDを制御サーバー7に送信することを防止できる。そのため、サブ基板制御部30Bは、レシートRのテキストデータ分析処理に対して不要な印刷テキストデータITDを制御サーバー7に不必要に送信してしまうことを防止できる。
また、上述したように、情報特定用フォーマットは、個人情報に対応する文字列に関するフォーマットと、個人情報の印刷のレイアウトに関するフォーマットとがある。これにより、サブ基板制御部30Bは、個人情報が含まれていない印刷テキストデータITDを制御サーバー7に送信できる。したがって、個人情報を店舗システム2の外部へ送信することが望まれない場合でも、サブ基板制御部30Bは、適切な印刷テキストデータITDを制御サーバー7に送信できる。また、個人情報を店舗システム2の外部へ送信することが望まれない場合でも、制御サーバー7は、印刷装置3からの受信する印刷テキストデータITDに基づいて、テキストデータ分析処理を行うことができる。
図9を用いた説明では、決済情報印刷データKIDに基づく印刷テキストデータITDを制御サーバー7に送信する際、付加情報J13をキーとして、送信判別用フォーマットに適応するか否かを判別する構成を例示した。しかしながら、店舗システム2におけるPOS端末4の変更や、決済情報印刷データKIDの変更等によって、キーとしていた付加情報J13が変更されると、サブ基板制御部30Bは、決済情報印刷データKIDに基づく印刷テキストデータITDを制御サーバー7に送信できなくなる。また、管理装置5のユーザーによっては、決済情報印刷データKID以外の印刷データIDに基づく印刷テキストデータITDを制御サーバー7に送信したいと望む場合が有り得る。また、店舗システム2におけるPOS端末4の変更や、決済情報印刷データKIDの変更等によって、個人情報の文字列のフォーマットや個人情報の印刷のレイアウトが変更される場合がある。この場合、サブ基板制御部30Bは、個人情報が情報特定用フォーマットに適応するか否かを正確に判別できず、個人情報を含んだ印刷テキストデータITDを制御サーバー7に送信する虞がある。また、管理装置5のユーザーによっては、印刷テキストデータITDを制御サーバー7に送信する際、例えば個人情報以外の情報を印刷テキストデータITDに含みたくないと望む場合が有り得る。個人情報以外の情報としては、例えば店舗電話番号情報J3である。
そこで、情報処理システム1は、上述した送信判別用フォーマット、及び、情報特定用フォーマットを印刷装置3ごとに、管理装置5によって変更可能に構成される。
図12は、管理装置5、制御サーバー7、及び、印刷装置3の動作を示すフローチャートである。図12において、フローチャートFEは管理装置5の動作を示し、フローチャートFFは制御サーバー7の動作を示し、フローチャートFGは印刷装置3の動作を示す。
管理装置5のユーザーは、管理装置5のブラウザーを立ち上げ、送信判別用フォーマット、及び情報特定用フォーマットを設定するための設定用ユーザーインターフェースの表示に関わる制御サーバー7の所定のURLへのアクセスを指示する(ステップSX1)。なお、このURLは、所定の方法で、ユーザーに事前に通知されている。
管理装置5の管理装置制御部50のブラウザー実行部5000は、管理装置5のユーザーの指示に応じて、設定用ユーザーインターフェースの表示に係る制御サーバー7の所定のURLにアクセスする(ステップSE1)。
フローチャートFFに示すように、制御サーバー7のサーバー制御部70は、ブラウザー実行部5000による所定のURLへのアクセスに応じて、設定用ユーザーインターフェースを表示するためにユーザーIDとユーザーIDに対応するパスワードとを入力するための第1入力ユーザーインターフェースを表示させるHTMLファイルを、サーバーネットワーク通信部71により管理装置5へ送信する(ステップSF1)。
ブラウザー実行部5000は、管理装置通信部51により第1入力ユーザーインターフェースを表示させるHTMLファイルを受信する(ステップSE2)。
次いで、ブラウザー実行部5000は、受信したHTMLファイルに基づいて第1入力ユーザーインターフェースを管理装置表示部52に表示させる(ステップSE3)。
第1入力ユーザーインターフェースは、ユーザーIDを入力する入力欄、ユーザーIDに対応するパスワードを入力する入力欄、及び、入力欄への入力を確定する確定ボタンを有する。
ユーザーIDとパスワードとが対応する入力欄に入力された確定ボタンが操作されると(ステップSX2)、ブラウザー実行部5000は、入力されたユーザーIDと、入力されたパスワードとを管理装置通信部51を介して制御サーバー7へ送信する(ステップSE4)。
制御サーバー7のサーバー制御部70は、サーバーネットワーク通信部71によってユーザーIDとパスワードとを受信し(ステップSF2)、受信したユーザーIDとパスワードとの組み合わせが予め登録されている組み合わせと合致するか否かを判別する(ステップSF3)。
サーバー制御部70は、合致すると判別した場合(ステップSF3:YES)、第2入力ユーザーインターフェースを表示させるHTMLファイルを、サーバーネットワーク通信部71を介して管理装置5に送信する(ステップSF4)。
ブラウザー実行部5000は、管理装置通信部51により第2入力ユーザーインターフェースを表示させるHTMLファイルを受信する(ステップSE5)。次いで、ブラウザー実行部5000は、受信したHTMLファイルに基づいて第2入力ユーザーインターフェースを管理装置表示部52に表示させる(ステップSE6)。
第2入力ユーザーインターフェースは、第1入力ユーザーインターフェースに入力したユーザーIDに紐づく店舗Tに設けられる数分、印刷装置3に関する印刷装置関連情報を選択可能に一覧表示するユーザーインターフェースである。印刷装置関連情報は、印刷装置3が設けられる店舗Tの名称や、印刷装置3のシリアル番号J14等が対応付く情報である。印刷装置関連情報は、適切に生成され、適切なユーザーIDに予め対応付けられている。
第2入力ユーザーインターフェースにおいて1の印刷装置関連情報が選択されると(ステップSX3)、ブラウザー実行部5000は、選択された印刷装置関連情報に含まれる印刷装置3のシリアル番号J14を制御サーバー7に送信する(ステップSE7)。
制御サーバー7のサーバー制御部70は、シリアル番号J14を受信すると(ステップSF5)、シリアル番号J14が示す印刷装置3に関する設定用ユーザーインターフェースを表示させるHTMLファイルを管理装置5に送信する(ステップSF6)。
ブラウザー実行部5000は、管理装置通信部51により設定ユーザーインターフェースを表示させるHTMLファイルを受信する(ステップSE8)。次いで、ブラウザー実行部5000は、受信したHTMLファイルに基づいて設定ユーザーインターフェースを管理装置表示部52に表示させる(ステップSE9)。
設定ユーザーインターフェースは、例えば、送信判別用フォーマットを設定するためのユーザーインターフェースと、情報特定用フォーマットを設定するためのユーザーインターフェースと、各ユーザーインターフェースに設定したフォーマットを確定する確定ボタンとを有する。
設定ユーザーインターフェースにおいて確定ボタンが操作されると(ステップSX4)、ブラウザー実行部5000は、設定ユーザーインターフェースで設定された送信判別用フォーマットを示す送信判別用フォーマット情報330B、及び、設定ユーザーインターフェースで設定された情報特定用フォーマットを示す情報特定用フォーマット情報340Bを、管理装置通信部51を介して制御サーバー7へ送信する(ステップSE10)。ステップSE10において、ブラウザー実行部5000は、この2つのフォーマット情報に、設定ユーザーインターフェースにおいて設定対象となっている印刷装置3のシリアル番号J14を付加して送信する。
制御サーバー7のサーバー制御部70は、サーバーネットワーク通信部71によって、送信判別用フォーマット情報330B、及び情報特定用フォーマット情報340Bを受信する(ステップSF7)。そして、サーバー制御部70は、受信した送信判別用フォーマット情報330B、及び情報特定用フォーマット情報340Bを、付加されたシリアル番号J14が示す印刷装置3に送信する(ステップSF8)。
フローチャートFGに示すように、印刷装置3のサブ基板3Bのサブ基板制御部30Bは、印刷装置ネットワーク通信部31Bにより、送信判別用フォーマット情報330B、及び、情報特定用フォーマット情報340Bを受信する(ステップSG1)。
次いで、サブ基板制御部30Bは、受信した送信判別用フォーマット情報330B、及び、情報特定用フォーマット情報340Bを、サブ基板記憶部310Bに記憶させる(ステップSG2)。ステップSG2において、既にサブ基板記憶部310Bが送信判別用フォーマット情報330B、及び、情報特定用フォーマット情報340Bを記憶している場合、サブ基板制御部30Bは、サブ基板記憶部310Bが記憶するフォーマット情報を、受信した送信判別用フォーマット情報330B、及び、情報特定用フォーマット情報340Bに更新する。
このように、印刷装置3のサブ基板制御部30Bは、制御サーバー7から送信判別用フォーマット情報330B、及び、情報特定用フォーマット情報340Bを受信し、受信した送信判別用フォーマット情報330B、及び、情報特定用フォーマット情報340Bをサブ基板記憶部310Bに記憶させる。これにより、印刷装置3は、管理装置5のユーザーによって設定された送信判別用フォーマット、及び情報特定用フォーマットに基づいて印刷テキストデータITDの送信に係る処理を実行できる。そのため、POS端末の変更や、印刷データIDの変更、制御サーバー7へ送信する印刷テキストデータITDの種類の変更、マスクを望む情報の変更等の各種変更が行われた場合でも、印刷装置3は、不必要な印刷テキストデータITDの送信を確実に防止できると共に、適切な印刷テキストデータITDを確実に送信できる。
以上、説明したように、印刷装置3は、POS端末4、及び制御サーバー7と通信可能である。印刷装置3は、送信判別用フォーマットを示す送信判別用フォーマット情報330B、及び情報特定用フォーマットを示す情報特定用フォーマット情報340Bを記憶するサブ基板記憶部310Bと、POS端末4から受信した印刷データIDに基づいて印刷を行う印刷部3Cと、を備える。また、印刷装置3は、POS端末4から受信した印刷データIDに基づく印刷テキストデータITDのフォーマットが、サブ基板記憶部310Bが記憶する送信判別用フォーマット情報330Bが示す送信判別用フォーマットに適応するか否かを判別し、印刷テキストデータITDのフォーマットが送信判別用フォーマットに適応すると判別した場合、印刷テキストデータITDに含まれる情報のうちサブ基板記憶部310Bが記憶する情報特定用フォーマット情報340Bが示す情報特定用フォーマットに適応する情報を、変換、或いは削除して、印刷テキストデータITDを制御サーバー7に送信するサブ基板制御部30Bを備える。
この構成によれば、サブ基板制御部30Bは、送信判別用フォーマットに適応する印刷テキストデータITDのみ制御サーバー7に送信でき、不必要に、種々の印刷物の印刷に係る印刷テキストデータITDが制御サーバー7に送信されることを防止できる。また、サブ基板制御部30Bは、情報特定用フォーマットに適応する情報が含まれていない適切な印刷テキストデータITDを制御サーバー7に送信できる。したがって、サブ基板制御部30Bは、制御サーバー7に印刷テキストデータITDを送信するに際し、不必要に印刷テキストデータITDを送信すること防止するとともに、適切な印刷テキストデータITDを送信できる。
送信判別用フォーマットは、印刷部3Cにより印刷可能な印刷物の種類のうち特定種類の印刷物の印刷に係る印刷テキストデータITDのフォーマットである。
この構成によれば、サブ基板制御部30Bは、印刷装置3が印刷可能な印刷物のうち、特定種類の印刷物の印刷に係る印刷テキストデータITDのみ制御サーバー7に送信できる。これにより、サブ基板制御部30Bは、印刷装置3が印刷可能な全種の印刷物について印刷テキストデータITDが制御サーバー7に送信されることを防止できる。したがって、サブ基板制御部30B、不必要に印刷テキストデータITDが制御サーバー7に送信されることを防止できる。
送信判別用フォーマットは、決済に関する決済情報が印刷された印刷物の印刷に係る印刷テキストデータITDのフォーマットである。
この構成によれば、サブ基板制御部30Bは、レシートR以外の印刷物の印刷に係る印刷テキストデータITDを制御サーバー7に送信することを防止できる。そのため、サブ基板制御部30Bは、レシートRのテキストデータ分析処理に対して不要な印刷テキストデータITDを制御サーバー7に送信してしまうことを防止できる。
情報特定用フォーマットは、印刷テキストデータITDに含まれる情報のうち個人情報に対応する文字列に関するフォーマットである。また、情報特定用フォーマットは、印刷テキストデータITDに含まれる情報のうち個人情報の印刷のレイアウトに関するフォーマットである。
この構成によれば、サブ基板制御部30Bは、個人情報が含まれていない印刷テキストデータITDを制御サーバー7に送信できる。したがって、個人情報を店舗システム2の外部へ送信することが望まれない場合でも、サブ基板制御部30Bは、適切な印刷テキストデータITDを制御サーバー7に送信できる。
サブ基板制御部30Bは、印刷テキストデータを分析し、分析結果に基づいて送信判別用フォーマット、及び情報特定用フォーマットに適応するか否かを判別する。
テキストデータは、情報がテキストとして記述されたデータである。そのため、送信判別用フォーマット、及び情報特定用フォーマットに適応するか否かの判別において、サブ基板制御部30Bは、文字列に基づく分析以外のデータ分析を伴わなくても、判別できる。したがって、サブ基板制御部30Bは、判別における処理負荷が増大することを防止できるとともに、文字列に基づいて容易にフォーマットの適応の有無を判別できる。
サブ基板制御部30Bは、制御サーバー7から送信判別用フォーマット情報330B、及び情報特定用フォーマット情報340Bを受信し、受信した送信判別用フォーマット情報330B、及び情報特定用フォーマット情報340Bをサブ基板記憶部310Bに記憶させる。
この構成によれば、印刷装置3は、管理装置5のユーザーによって設定された送信判別用フォーマット、及び情報特定用フォーマットに基づいて印刷テキストデータITDの送信に係る処理を実行できる。そのため、POS端末4の変更や、印刷データIDの変更、制御サーバー7に送信する印刷テキストデータITDの変更、マスクする情報の変更等の種々の変更があった場合でも、印刷装置3は、不必要な印刷テキストデータITDの送信を確実に防止できると共に、適切な印刷テキストデータITDを確実に送信できる。
なお、上述した実施形態は、あくまでも本発明の一態様を示すものであり、本発明の範囲内で任意に変形および応用が可能である。
例えば、上述した実施形態では、印刷テキストデータITDの生成や、マスク処理、及び送信等の印刷テキストデータITDに係る処理をサブ基板制御部30Bが実行する場合を例示した。しかしながら、このサブ基板制御部30Bの動作を、メイン基板制御部30Aが実行する構成でもよい。この構成の場合、メイン基板制御部30Aが、制御部に相当する。また、この構成の場合、送信判別用フォーマット情報330B、及び情報特定用フォーマット情報340Bをメイン基板記憶部310Aが記憶してよい。この構成の場合、メイン基板記憶部310Aが記憶部に相当する。また、この構成の場合、メイン基板制御部30Aが、印刷装置通信部32B、及び印刷装置ネットワーク通信部31Bを制御する構成でよい。また、メイン基板3Aとサブ基板3Bとは、1の基板で構成されてもよい。
また、例えば、POS端末制御部40、メイン基板制御部30A、サブ基板制御部30B、管理装置制御部50、サーバー制御部70の機能は、複数のプロセッサー、又は、半導体チップにより実現してもよい。
また、例えば、上述した印刷装置3の動作が示す印刷装置3の制御方法が、印刷装置3が備えるコンピューター、又は、印刷装置3に接続される外部装置を用いて実現される場合、本発明を、この制御方法を実現するためにコンピューターが実行するプログラム、このプログラムをコンピューターで読み取り可能に記録した記録媒体、或いは、このプログラムを伝送する伝送媒体の態様で構成することも可能である。
また、例えば、図9、及び図12の処理単位は、POS端末4、印刷装置3、管理装置5、及び、制御サーバー7の処理を理解容易にするために、主な処理内容に応じて分割したものであり、処理単位の分割の仕方や名称によって、本発明が限定されることはない。処理内容に応じて、されに多くの処理単位に分割してもよい。また、1つの処理単位がさらに多くの処理を含むように分割してもよい。また、その処理の順番は、本発明の趣旨に支障のない範囲で適宜に入れ替えてもよい。
また、図2に示した各機能部は機能的構成を示すものであって、具体的な実装形態は特に限定されない。つまり、必ずしも各機能部に個別に対応するハードウェアが実装される必要はなく、一つのプロセッサーがプログラムを実行することで複数の機能部の機能を実現する構成とすることも勿論可能である。また、上述した実施形態においてソフトウェアで実現される機能の一部をハードウェアとしてもよく、或いは、ハードウェアで実現される機能の一部をソフトウェアで実現してもよい。その他、POS端末4、印刷装置3、管理装置5、及び制御サーバー7の他の各部の具体的な細部構成についても、本発明の趣旨を逸脱しない範囲で任意に変更可能である。