以下、添付図面を参照して、本発明を好適な実施形態に従って詳細に説明する。
図1は、本発明の実施の形態に係る情報処理システムの一例を示す図である。
図1に示すように、携帯端末100、携帯端末200、サーバ300、サーバ400は、それぞれ、ネットワーク500を介して相互に通信可能に接続されている。
携帯端末100、携帯端末200は、携帯可能な可搬型のハンディターミナルなどの端末である。携帯端末100、携帯端末200は、POSの端末として機能する。
携帯端末100、携帯端末200は、商品を販売する際に印刷するレシートを印刷するための情報を印刷部に出力する情報処理装置の本発明の適用例である。
サーバ300は、POSの販売管理サーバとしての機能を備えたサーバである。
サーバ400は、クレジットカードによる決済処理を行うクレジットカード会社の決済サーバである。
図2は、本発明の実施の形態に係る携帯端末100、携帯端末200のハードウェア構成を概略的に示すブロック図である。
携帯端末100と携帯端末200のハードウェア構成は同一であるため、ここでは、携帯端末100のハードウェア構成について説明する。
図2は、ハンディターミナル(携帯端末)100を制御するコントローラユニット116のハードウェア構成の一例を示すブロック図である。
携帯端末100は、携帯可能な情報処理装置(システム)であって、ここでは、ハンディターミナルを例として説明する。
116は、コントローラユニットで後述する、入力部111、表示部112、外部メモリ113、プリンタ部114、クレジットカードリーダ115、バーコードリーダ118、外部のネットワークに接続された外部装置と接続することで、各種データやデバイス情報の入出力を行う。
図2において、101はCPUで、システムバス104に接続される各デバイスやコントローラを統括的に制御する。
また、ROM102あるいは外部メモリ113には、CPU101の制御プログラムであるBIOS(Basic Input / Output System)やオペレーティングシステムプログラム(以下、OS)や、携帯端末が実行する機能を実現するために必要な後述する各種プログラム等が記憶されている。
外部メモリ113は、本発明の商品のバーコード情報と当該バーコード情報に対応した商品名を含む商品マスタを記憶する記憶手段の適用例である。
103はRAMで、CPU101の主メモリ、ワークエリア等として機能する。
CPU101は、処理の実行に際して必要なプログラム等をROM102あるいは外部メモリ113からRAM103にロードして、該ロードしたプログラムを実行することで各種動作を実現するものである。
また、105は入力コントローラで、入力部111からの入力を制御する。なお、入力コントローラ105は、表示部112がタッチパネルの場合は、タッチパネルから入力を制御することもできる。本実施例では、表示部112がタッチパネルの場合として説明する。
106はビデオコントローラで、例えば、液晶ディスプレイや有機ELディスプレイ等の表示部112への表示を制御する。
107はメモリコントローラで、ブートプログラム,各種のアプリケーション,フォントデータ,ユーザファイル,編集ファイル,各種データ等を記憶する外部メモリ(ハードディスク(HD))や、フレキシブルディスク(FD)、或いはPCMCIAカードスロットにアダプタを介して接続されるコンパクトフラッシュ(登録商標)メモリ等の外部メモリ113へのアクセスを制御する。
108はプリンタインタフェース(プリンタI/F)コントローラで、プリンタ部114とコントローラユニット116を接続し、画像データの同期系/非同期系の変換を行う。
プリンタ部114は、CPU101から印刷指示された印刷データを給紙部(印刷用紙収納部)にセットされた用紙に印刷する装置(画像処理装置)である。本実施例では、プリンタ部114を備えた携帯端末100として説明するが、プリンタ部114を携帯端末100とは別の筐体のプリンタとして構わない。すなわち、携帯端末100とプリンタ部114とが相互に通信可能であればよく、プリンタ部114を別の筐体の携帯可能なプリンタとした場合であっても構わない。
プリンタ部114のプリント方式は、いわゆるサーマルプリンタ方式や微少ノズルアレイからインクを吐出して用紙上に直接画像を印字するインクジェット方式等があるが、どの方式でも構わない。プリント動作の起動は、CPU101からの指示によって開始する。
なお、プリンタ部114が備える給紙部には、印刷可能な用紙が備え付けられており、CPU101からの印刷指示がなされるとプリンタ部114を駆動して印刷処理を実行する。
109は、クレジットカードコントローラであり、クレジットカードリーダ115の制御を行う。クレジットカードリーダ115は、クレジットカードの磁気記憶部に記憶されたデータを読み取ることができる。
117は、バーコードコントローラであり、バーコードリーダ118の制御を行う。バーコードリーダ118は、商品等に付されたバーコードを読み取り、読み取り結果としてバーコード情報(バーコードから得られる値)を取得することができる。バーコードリーダ118は、商品のバーコード情報を読み取る読取手段の本発明の適用例である。
110は通信インタフェース(通信I/F)コントローラで、ネットワークを介して外部機器と接続し通信するものであり、ネットワークでの通信制御処理を実行する。例えば、TCP/IPを用いた通信や、無線通信(赤外線通信)等が可能である。
なお、CPU101は、例えばRAM103内の表示情報用領域へアウトラインフォントの展開(ラスタライズ)処理を実行することにより、表示部112上での表示を可能としている。
また、CPU101は、表示部112がタッチパネルの場合、表示画面をユーザがタッチすることにより、画面にタッチした位置に対応する指示を受け付けることを可能としている。
本発明を実現するための後述する各種プログラムは、外部メモリ113に記録されており、必要に応じてRAM103にロードされることによりCPU101によって実行されるものである。さらに、上記プログラムの実行時に用いられる定義ファイル及び各種情報テーブル等も、外部メモリ113に格納されている。
また、サーバ300、サーバ400のハードウェア構成は、図2に示すハードウェア構成から、クレジットカードコントローラ109、クレジットカードリーダ115、バーコードコントローラ117、バーコードリーダ118を省いた構成であり、他の構成は、図2に示すハードウェア構成と同一であるため、ここでは、説明を省略する。
次に、図3を用いて、サーバ300がコントロールマスタをサーバ300の外部メモリに登録する処理について、説明する。
図3は、コントロールマスタをサーバ300の外部メモリに登録する処理の一例を示すフローチャートである。
図3に示す各ステップの処理は、サーバ300のCPUがプログラムを読み出して実行することにより実現される。
まず、サーバ300は、図9に示すコントロールマスタ設定画面をサーバ300の表示部に表示する(ステップS301)。
図9は、コントロールマスタ設定画面の一例を示す図である。
そして、サーバ300は、ユーザにより、『お客様用レシート』(顧客用レシート)を印刷するかしないかの選択を、ラジオボタン901を介して受け付ける。
ここで、『お客様用レシート』とは、お客様に渡すレシートのことを示している。
また、サーバ300は、ユーザにより、『店舗控え用レシート』を印刷するかしないかの選択を、ラジオボタン902を介して受け付ける。
また、サーバ300は、ユーザによる入力欄903への設定上限金額の入力を受け付ける(ステップS302)。
そして、サーバ300は、ユーザにより登録ボタン904が押下されたと判定されると、図9で選択、入力されたデータを外部メモリに、コントロールマスタ(図11)として設定登録する(ステップS303)。
このように、コントロールマスタ設定画面(図9)を介して、基本設定として、『お客様用レシート』(顧客用レシート)を印刷するかしないか、『店舗控え用レシート』を印刷するかしないかを設定することができる。
図9では、『お客様用レシート』(顧客用レシート)を印刷しない設定、及び、『店舗控え用レシート』を印刷する設定になっているが、コントロールマスタ設定画面(図9)を介して、『お客様用レシート』(顧客用レシート)を印刷する設定、及び、『店舗控え用レシート』を印刷しない設定を行うことや、『お客様用レシート』(顧客用レシート)を印刷しない設定、及び、『店舗控え用レシート』を印刷しない設定を行うことができる。また、同様に、コントロールマスタ設定画面(図9)を介して、『お客様用レシート』(顧客用レシート)を印刷する設定、及び、『店舗控え用レシート』を印刷する設定を行うこともできる。
図11は、コントロールマスタの一例を示す図であり、図9のコントロールマスタ設定画面を介して入力された値が登録されたマスタテーブルである。
図3に示す処理が実行し終わった後に、サーバ300と携帯端末100は、図4に示す処理を実行する。
図4は、サーバ300の外部メモリに記憶されている各マスタのデータを携帯端末が取得して登録し決済処理を行う一連の制御処理の一例を示すフローチャートである。
図4に示すステップS403、ステップS404の処理は、サーバ300のCPUがプログラムを読み出して実行することにより実現される。
図4に示すステップS401、ステップS402、ステップS405〜S409の処理は、携帯端末100のCPUがプログラムを読み出して実行することにより実現される。
まず、携帯端末100は、サーバ300の外部メモリに記憶されているコントロールマスタ(図11)、及び商品マスタ(図12)の送信要求を行う指示をユーザから受け付ける(ステップS401)。
そして、携帯端末100は、当該指示を受け付けると、サーバ300に対して、コントロールマスタ(図11)、及び商品マスタ(図12)の送信要求を送信する(ステップS402)。
サーバ300は、携帯端末100から、コントロールマスタ(図11)、及び商品マスタ(図12)の送信要求を受信すると(ステップS403)、外部メモリに記憶されているコントロールマスタ(図11)、及び商品マスタ(図12)を取得して、携帯端末100に送信する(ステップS404)。
そして、携帯端末100は、サーバ300から、コントロールマスタ(図11)、及び商品マスタ(図12)を受信すると(ステップS405)、携帯端末100の外部メモリ113に、コントロールマスタ(図11)に記憶して設定登録する(ステップS406)。
また、携帯端末100は、ステップS405でサーバ300から受信した商品マスタ(図12)を外部メモリ113に記憶して設定登録する(ステップS407)。
そして、携帯端末100は、ステップS406で登録されたコントロールマスタ(図11)、及びステップS407で登録された商品マスタ(図12)を用いて、ステップS408の決済処理を実行する。
ステップS408に示す決済処理の詳細処理は、図5を用いて、後で説明する。
次に、携帯端末100は、ユーザから、終了指示を受け付けたか否かを判定し(ステップS409)、ユーザから、終了指示を受け付けたと判定された場合には(YES)、図4に示す処理を終了し、ユーザから、終了指示を受け付けていないと判定された場合には(NO)、処理をステップS408に戻して、次の決済(精算)処理を行う。
次に、図5を用いて、ステップS408の決済処理の詳細処理について説明する。
図5は、ステップS408の決済処理の詳細処理の一例を示すフローチャートである。
図5に示す各ステップの処理は、携帯端末100のCPUがプログラムを読み出して実行することにより実現される。
まず、携帯端末100は、店員などのユーザが、商品に付されたバーコードをバーコードリーダ118が読み取る読取処理を行う(ステップS501)。
そして、携帯端末100は、ステップS501でバーコードが読み取れたか否かを判定する(ステップS502)。
携帯端末100は、ステップS501でバーコードが読み取れたと判定された場合には(YES)、ステップS501でバーコードを読み取ることにより得られたバーコード情報(当該商品を一意に識別するための情報)をもとに、携帯端末100の外部メモリに記憶された商品マスタ(図12)を検索して、当該バーコード情報に一致するレコードを特定し、当該商品の商品名、及び金額(単価)を特定する(ステップS503)。
図12は、商品マスタの一例を示す図である。
図12に示す商品マスタには、『バーコード』、『商品名』、『金額(単価)』がそれぞれ対応付けられている。この『バーコード』には、商品に付されたバーコードを読み取ることにより得られるバーコード情報(当該商品を一意に識別するための情報)が記憶されている。
図12の例では、商品に付されたバーコードを読み取ることにより得られるバーコード情報として、『11111』が記憶されており、当該商品の商品名が商品Aであり、当該商品の金額(単価)が500円であることを示している。また、図12の例では、バーコード情報が『222222』の商品の商品名が商品Bであり、当該商品の金額(単価)が1000円であることを示している。
そして、携帯端末100は、ステップS503で、商品の商品名、及び金額(単価)を特定できたか否かを判定し(ステップS504)、商品の商品名、及び金額(単価)を特定できたと判定された場合には(YES)、商品の商品名、及び金額(単価)を表示すると共に、各金額の合計値を計算して、その合計金額を含む決済画面(図10Aの(A))を表示部に表示する(ステップS506)。そして、携帯端末100は、処理をステップS501に戻して、次の商品に付されたバーコードを読み取る。
このようにして、携帯端末100は、例えば、商品Aのバーコードを読み取った場合には、図10Aの(A)の決済画面を表示し、その後、次の商品Bのバーコードを読み取った場合には、図10Aの(B)の決済画面を表示する。そして、次に、携帯端末100は、商品マスタに未登録の商品に付されたバーコードを読み取った場合には、図10Aの(C)の決済画面を表示する。携帯端末100は、商品マスタに未登録の商品に付されたバーコードを読み取った場合について説明する。
携帯端末100は、商品マスタに未登録の商品に付されたバーコードを読み取った場合、ステップS503で、商品マスタに未登録の商品のため、商品の商品名、及び金額(単価)を特定できず、ステップS504で、商品の商品名、及び金額(単価)を特定できなかったと判定する(ステップS504:NO)。
そして、携帯端末100は、図10Aの(C)の決済画面に、読み取ったバーコード情報は表示するものの、商品マスタに商品名が未登録であるため、商品名の箇所には『未登録商品』と表示し、『金額(単価)』を入力するための入力欄1002、及び、『金額(合計)』を入力するための入力欄1003を表示する。
そして、携帯端末100は、入力欄1002に、当該未登録の商品の金額(単価)の入力をユーザにより受け付け、また、入力欄1003に、当該未登録の商品の金額(合計)の入力をユーザにより受け付ける(ステップS505)。
ステップS505は、本発明の受付手段の適用例であり、判定手段により、記憶手段に記憶された商品マスタに含まれていないと判定された商品名の商品の金額の入力を受け付ける。
図10Aに示す各決済画面の『金額(単価)』は、1個あたりの商品の金額を示し、『金額(合計)』は、1個あたりの商品の単価に個数を乗算して得られた値(商品単位の合計金額)を示している。
また、図10Aに示す各決済画面には、各商品の『金額(合計)』の合計金額も表示される。
携帯端末100は、ステップS505で、当該未登録の商品の金額の入力を受け付けると、処理をステップS506に移行する。
携帯端末100は、ステップS502で、バーコードが読み取れなかったと判定された場合には(NO)、処理をステップS507に移行して、図10Aに示す精算ボタン1001がユーザにより押下されたか否かを判定する(ステップS507)。そして、携帯端末100は、精算ボタン1001が押下されていないと判定された場合には(NO)、処理をステップS501に戻す。
携帯端末100は、ステップS507で精算ボタン1001が押下さたと判定された場合には(YES)、図10Bの(D)に示す支払い方法選択画面を表示する。
図10Bの(C)に示す決済画面は、図10Aの(C)に示す決済画面と同じ画面を表している。
図10Bの(D)は、支払い方法選択画面の一例を示す図である。
支払い方法選択画面には、現金で支払いを行う処理を行う現金ボタン10031と、クレジットカードで支払いを行う処理を行うクレジットカードボタン1004とが表示されている。
店員は、顧客(お客様)から、どちらの支払い方法で支払うかを確認して、どちらか一方のボタンを押下する。
携帯端末100は、ユーザにより、現金ボタン10031が押下されたか、クレジットカードボタン1004が押下されたかを判定し(ステップS508)、現金ボタン10031が押下されたと判定された場合には(ステップS508:現金)、図10Bの(E)に示す現金精算画面を表示し、顧客から受け取った金銭の受け取り金額が入力される入力欄1005へのユーザからの入力を受け付ける(ステップS509)。そして、携帯端末100は、受け取り金額が入力欄1005に入力され、計算ボタン1006が押下されると、図10Bの(C)の決済画面に表示されている合計金額(例えば1800円)を、入力欄1005に入力された受け取り金額(例えば、2000円)から引いた値を、お釣りとして算出して、現金精算画面に表示する(ステップS510)。そして、携帯端末100は、処理をステップS513に移行する。
一方、携帯端末100は、ステップS508でクレジットカードボタン1004が押下されたと判定された場合には(ステップS508:カード)、図10Bの(F)に示すクレジットカード精算画面を表示し、ユーザから、計算ボタン1007が押下されたと判定された場合には、クレジットカードリーダ115による、顧客から受け取ったクレジットカードの読み取り処理を行う(ステップS511)。
そして、携帯端末100は、クレジットカードの磁気記憶部に記憶されたデータを読み取ると、クレジットカードによる決済処理を行うサーバ400に、当該データと、図10Bの(C)に示す決済画面に表示されている合計金額の値(例えば、1800円)とを送信して、クレジットカードによる決済処理の要求を行う(ステップS512)。
そして、携帯端末100は、サーバ400による、クレジットカードによる決済処理が完了したことを示すデータを、サーバ400から受信すると、処理をステップS513に移行する。
携帯端末100は、ステップS513の時点で、売上げが完了したため、携帯端末100の外部メモリに、売上データを登録(記録)する。
例えば、図10Bの(C)に示す決済画面に表示された商品A(バーコード:11111)、商品B(バーコード:22222)、未登録商品(バーコード:33333)の商品の決済(精算)を行った場合には、図13に示す『ID:2の売上データ』が、携帯端末100の外部メモリに売上データとして登録(記録)される。
このとき、未登録商品(バーコード:33333)については、商品名が不明であるため、未登録商品(バーコード:33333)の商品名のカラムには、商品名は含まれていないが、金額(単価)、金額(合計)の項目には、入力欄1002、入力欄1003に入力された値が登録される。
また、同様に、例えば、他の異なる顧客に対して、商品Aと商品Bを販売し決済(精算)を行った場合には、図13に示す『ID:1の売上データ』が、携帯端末100の外部メモリに売上データとして登録(記録)される。
また、同様に、例えば、他の異なる顧客に対して、商品A、商品B、未登録商品(バーコード:44444)を販売し決済(精算)を行った場合には、図13に示す『ID:3の売上データ』が、携帯端末100の外部メモリに売上データとして登録(記録)される。このときは、入力欄1002、入力欄1003にそれぞれ、30000の値が入力されたため、その値が、金額(単価)、金額(合計)の項目に登録されている。
このように、携帯端末100は、携帯端末の外部メモリに、顧客ごと(レシートごと)の売上データを登録(記録)する。
図13は、顧客ごと(レシート(決済)ごと)の売上データの一例を示す図である。
そして、携帯端末100は、レシートを印刷するレシート出力処理を行い(ステップS514)、処理をステップ409に戻す。
ステップS514のレシート出力処理の詳細処理については、図6を用いて説明する。
図6は、ステップS514のレシート出力処理の詳細処理の一例を示すフローチャートである。
図6に示す各ステップの処理は、携帯端末100のCPUがプログラムを読み出して実行することにより実現される。
まず、携帯端末100は、お客様用レシート、又は店舗控え用レシートの何れかを処理対象に設定する(ステップS601)。
ここでは、任意の順番で、お客様用レシート、又は店舗控え用レシートの何れかを処理対象に設定しているが、処理対象にする優先順位をつけて、その順番に処理対象にすることもできる。例えば、お客様用レシートの優先順位を1にして、店舗控え用レシートの優先順位を2にして、お客様用レシートを、店舗控え用レシートよりも先に処理対象に設定し、お客様用レシートを対象にした処理が行われた後に、店舗控え用レシートを対象にした処理が行われるようにすることもできる。
携帯端末100は、現在処理対象にしているレシートの印刷を行うか否かの判定を行う印刷要否判定処理を行う(ステップS602)。
ステップS602の印刷要否判定処理の詳細処理については、図7を用いて、後で説明する。
そして、携帯端末100は、ステップS602で、現在処理対象にしているレシートの印刷を行うと判定されたか否かを判定し(ステップS603)、現在処理対象にしているレシートの印刷を行うと判定された場合には(YES)、処理をステップS604に移行する。一方、現在処理対象にしているレシートの印刷を行うと判定されなかった(現在処理対象にしているレシートの印刷を行わないと判定された)場合には(NO)、処理をステップS608に移行する。
携帯端末100は、現在処理対象にしているレシートの印刷を行うと判定された場合には(ステップS603:YES)、現在処理対象にしているレシートのレイアウトを決定する印刷レイアウト決定処理を行う(ステップS604)。
ステップS604の詳細処理については、図8を用いて、後で説明する。
そして、携帯端末100は、ステップS604で決定されたレイアウトが、未登録商品手書きレイアウト(図14の1402、1404)であるか、登録/未登録商品印字レイアウト(図14の1401、1403)であるかを判定する(ステップS605)。
図14は、未登録商品手書きレイアウトで印刷されたレシート、登録/未登録商品印字レイアウトで印刷されたレシートの一例を示す図である。
1401は、登録/未登録商品印字レイアウトで印刷されたレシートであって、決済処理された商品に未登録商品を含まない場合のレシートである。また、1401のレシートは、お客様用レシート、及び店舗控え用レシートとして印刷されたものである。
また、1402は、未登録商品手書きレイアウトで印刷されたレシートであって、決済処理された商品に未登録商品を含む場合のレシートである。また、1402のレシートは、店舗控え用レシートとして印刷されたものである。
また、1403は、登録/未登録商品印字レイアウトで印刷されたレシートであって、決済処理された商品に未登録商品を含む場合のレシートである。また、1403のレシートは、未登録商品が小額(S803でYESと判定される商品)の場合にお客様用レシートとして印刷されたものである。
また、1404は、未登録商品手書きレイアウトで印刷されたレシートであって、決済処理された商品に未登録商品を含む場合のレシートである。また、1404のレシートは、未登録商品が高額(S803でNOと判定される商品)の場合にお客様用レシートとして印刷されたものである。
携帯端末100は、ステップS604で決定されたレイアウトが、未登録商品手書きレイアウトであると判定された場合には(ステップS605:YES)、当該決定された未登録商品手書きレイアウトで、現在処理対象にしているレシートの印刷を行う(ステップS606)。
ここで、未登録商品手書きレイアウトとは、例えば、図14の1402、1404のレシートのように、未登録商品についての商品名については印字せずに、ユーザが商品名を記入する記入欄を印字されるレイアウトのことである。
例えば、現在処理対象にしているレシートが、お客様用レシートである場合には、図14のお客様用レシート1404に示すように、未登録商品についての商品名については、印字せずに、顧客等のユーザが商品名を記入する記入欄1410を印字する。また、この記入欄1410の右側には、入力欄1002、及び/又は1003で入力された金額の値1411が印字される。
また、同様に、現在処理対象にしているレシートが、店舗控え用レシートである場合には、図14の店舗控え用レシート1402に示すように、未登録商品についての商品名については、印字せずに、店員等のユーザが商品名を記入する記入欄1406を印字する。また、この記入欄1406の右側には、入力欄1002、及び/又は1003で入力された金額の値1407が印字される。
携帯端末100は、ステップS604で決定されたレイアウトが、登録/未登録商品印字レイアウトであると判定された場合には(ステップS605:NO)、当該決定された登録/未登録商品印字レイアウトで、現在処理対象にしているレシートの印刷を行う(ステップS607)。
ここで、登録/未登録商品印字レイアウトとは、例えば、図14の1401、1403のレシートのように、販売する商品に(レシートに記載される商品に)、未登録商品が含まないレシートのレイアウト(例えば、図14の1401のレシート)、又は、未登録商品についての商品名が『未登録商品』として印字されるレイアウト(例えば図14の1403のレシート)のことである。
1401のレシートには、販売する商品(レシートに記載される商品)が商品マスタに登録されている登録商品のみであり、未登録商品が含まれないため、商品名(商品A、商品B)と、その金額(合計)又は金額(単価)とが1405の領域に印字される。
また、1403のレシートには、販売する商品(レシートに記載される商品)に未登録商品が含まれているため、領域1408に、未登録商品の商品名として『未登録商品』が印字され、領域1409に、その未登録商品の金額(合計)又は金額(単価)が印字される。ここで印字される金額(合計)又は金額(単価)は、入力欄1002、及び/又は1003に入力された値である。
携帯端末100は、ステップS606、又はステップS607の何れかの処理を実行すると、処理をステップS608に移行して、お客様用レシート、及び店舗控え用レシートを処理対象にしてステップS602からステップS607までの処理を行ったか否かを判定する。
ステップS606は、本発明の出力手段の適用例であり、読取手段によりバーコード情報が読み取られた商品に係る店舗控え用レシートを印刷するべく当該店舗控え用レシートを印刷するための情報を印刷部(プリンタ部)に出力する。また、ステップS607も出力手段の適用例である。
すなわち、ステップS606において、携帯端末100は、ステップS604で決定された未登録商品手書きレイアウトで、現在処理対象にしているレシートを印刷するための印刷情報を印刷部(プリンタ部)に出力して、印刷部(プリンタ部)が当該印刷情報に従って、ステップS604で決定された未登録商品手書きレイアウトのレシートの印刷を行う。また、ステップS607において、携帯端末100は、ステップS604で決定された登録/未登録商品印字レイアウトで、現在処理対象にしているレシートの印刷を印刷するための印刷情報を印刷部(プリンタ部)に出力して、印刷部(プリンタ部)が当該印刷情報に従って、ステップS604で決定された登録/未登録商品印字レイアウトのレシートの印刷を行う。
携帯端末100は、お客様用レシート、及び店舗控え用レシートを処理対象にしてステップS602からステップS607までの処理を行ったと判定された場合には(ステップS608:YES)、処理をステップS409に戻す。一方、お客様用レシート、及び店舗控え用レシートを処理対象にしてステップS602からステップS607までの処理を行っていないと判定された場合には(ステップS608:NO)、処理をステップS601に戻して、まだ、処理対象に設定されていないレシートを処理対象にして、ステップS602の処理を実行する。
携帯端末100が、ステップS606、またはステップS607で印刷処理を行う印刷情報を生成する生成手段を備えている。ステップS606、またはステップS607では、ここで生成された印刷情報(印刷するための情報)を用いて印刷を行う。
ステップS606では、商品名の記入欄を有する店舗控え用レシートを印刷するための情報を生成する。
次に、図7を用いて、ステップS602の印刷要否判定処理の詳細処理について説明する。
図7は、ステップS602の印刷要否判定処理の詳細処理の一例を示すフローチャートである。
図7に示す各ステップの処理は、携帯端末100のCPUがプログラムを読み出して実行することにより実現される。
まず、携帯端末100は、ステップS406で登録したコントロールマスタ(図11)を、携帯端末100の外部メモリから取得する(ステップS701)。
そして、携帯端末100は、当該取得したコントロールマスタ(図11)が、現在処理対象のレシートを印刷する設定であるか否かを判定する(ステップS702)。
例えば、現在処理対象のレシートが、『お客様用レシート』の場合には、図11には、『印刷しない』と設定されているため、コントロールマスタ(図11)が、現在処理対象のレシートが印刷する設定ではないと判定する。また、例えば、現在処理対象のレシートが、『店舗控え用レシート』の場合には、図11には、『印刷する』と設定されているため、コントロールマスタ(図11)が、現在処理対象のレシートが印刷する設定であると判定する。
次に、携帯端末100は、現在処理対象のレシートを印刷する設定であると判定された場合には(ステップS702:YES)、現在処理対象のレシートの印刷を行う設定を行い(ステップS707)、処理をステップS603に移行する。
一方、携帯端末100は、現在処理対象のレシートを印刷しない設定であると判定された場合には(ステップS702:NO)、ステップS508で選択されたボタンが、現金ボタン10031であるか、クレジットカードボタン1004であるかの判定を行うことで、決済方法が、現金であるか、クレジットカードであるかを判定する(ステップS703)。
そして、携帯端末100は、決済方法が現金であると判定された場合には(ステップS703:現金)、処理をステップS704に移行し、一方、決済方法がクレジットカードであると判定された場合には(ステップS703:カード)、処理をステップS707に移行して、現在処理対象のレシートの印刷を行う設定を行う。
携帯端末100は、現在処理対象のレシートが、お客様用レシートであるか、店舗控え用レシートであるかを判定する(ステップS704)。
そして、携帯端末100は、現在処理対象のレシートが、お客様用レシートであると判定された場合には(ステップS704:お客様用レシート)、処理をステップS706に移行して、現在処理対象のお客様用レシートの印刷は行わない設定を行う(ステップS706)。
また、携帯端末100は、現在処理対象のレシートが、店舗控え用レシートであると判定された場合には(ステップS704:店舗控え用レシート)、処理をステップS705に移行して、本決済処理で販売する商品に未登録商品が含まれるか否かを判定する(ステップS705)。
ステップS705は、本発明の判定手段の適用例であり、読取手段により読み取られたバーコード情報、及び当該バーコード情報に対応した商品名が、商品マスタに含まれているか否かを判定する。
ステップS705での判定処理は、ステップS504でNOと判定されたか否かを判定することで、本決済処理で販売する商品に未登録商品が含まれるか否かを判定することができる。すなわち、ステップS504でNOと判定されている場合には、本決済処理で販売する商品に未登録商品が含まれると判定する。
そして、携帯端末100は、本決済処理で販売する商品に未登録商品が含まれると判定された場合には(ステップS705:YES)、ステップS707に移行して、現在処理対象の店舗控え用レシートを印刷する設定を行う。
一方、携帯端末100は、本決済処理で販売する商品に未登録商品が含まれないと判定された場合には(ステップS705:NO)、ステップS706に移行して、現在処理対象の店舗控え用レシートを印刷しない設定を行う。このように、基本設定で店舗控え用レシートが印刷しない設定になっていたとしても、本決済処理で販売する商品に未登録商品が含まれている場合には、店舗控え用レシートを印刷するように、一時的に動的に変更することができるため、未登録商品名を商品マスタ、及び売上データに登録し易くすることが出来るようになると共に、店舗控え用レシートの印刷数を低減可能にすることができるようになる。
携帯端末100は、ステップS706、又はステップS707の処理を実行すると、処理をステップS603に移行する。
携帯端末100は、ステップS706で印刷しない設定が行われた場合には、ステップS603で印刷しないと判定され(ステップS603:NO)、ステップS707で印刷する設定が行われた場合には、ステップS603で印刷すると判定される(ステップS603:YES)。
携帯端末100は、ステップS705により、読取手段により読み取られたバーコード情報、及び当該バーコード情報に対応した商品名が、商品マスタに含まれていないと判定されたことを条件に、ステップS606で店舗控え用レシートを印刷するための情報を印刷部に出力するように制御し、一方、ステップS705により、読取手段により読み取られたバーコード情報、及び当該バーコード情報に対応した商品名が、商品マスタに含まれていると判定されたことを条件に、ステップS606で店舗控え用レシートを印刷するための情報を印刷部に出力しないように制御する(制御手段)。
次に、図8を用いて、ステップS604の印刷レイアウト決定処理の詳細処理について説明する。
図8は、ステップS604の印刷レイアウト決定処理の詳細処理の一例を示すフローチャートである。
図8に示す各ステップの処理は、携帯端末100のCPUがプログラムを読み出して実行することにより実現される。
まず、携帯端末100は、本決済処理で販売する商品に未登録商品が含まれるか否かを判定する(ステップS801)。
ステップS801の判定処理は、ステップS705での判定処理と同様に、ステップS504でNOと判定されたか否かを判定することで、本決済処理で販売する商品に未登録商品が含まれるか否かを判定する。すなわち、ステップS504でNOと判定されている場合には、本決済処理で販売する商品に未登録商品が含まれると判定する。
そして、携帯端末100は、本決済処理で販売する商品に未登録商品が含まれないと判定された場合には(ステップS801:NO)、現在処理対象のレシートのレイアウトを登録/未登録商品印字レイアウト(図14の1401)に決定する(ステップS805)。
すなわち、携帯端末100は、現在処理対象のレシートが、お客様用レシート、又は店舗控え用レシートであり、本決済処理で販売する商品に未登録商品が含まれないと判定された場合に(ステップS801:NO)、登録/未登録商品印字レイアウト(図14の1401)で、現在処理対象のお客様用レシート、又は店舗控え用レシート(図14の1401)を印刷することを決定する。
また、携帯端末100は、本決済処理で販売する商品に未登録商品が含まれると判定された場合には(ステップS801:YES)、現在処理対象のレシートが、お客様用レシートであるか、それとも、店舗控え用レシートであるかを判定する(ステップS802)。
携帯端末100は、現在処理対象のレシートが、店舗控え用レシートであると判定された場合には(ステップS802:店舗控え用レシート)、現在処理対象のレシートのレイアウトを未登録商品手書きレイアウト(図14の1402)に決定する(ステップS804)。
すなわち、携帯端末100は、本決済処理で販売する商品に未登録商品が含まれていると判定され(ステップS801:YES)、現在処理対象のレシートが、店舗控え用レシートである場合には(ステップS802:店舗控え用レシート)、未登録商品手書きレイアウト(図14の1402)で、店舗控え用レシートを印刷することを決定する。
また、携帯端末100は、現在処理対象のレシートが、お客様用レシートであると判定された場合には(ステップS802:お客様用レシート)、未登録商品の金額(単価)及び/又は金額(合計)の値(例えば、図10Bの(C)の決済画面の1002、1003の入力欄の金額)が、図11のコントロールマスタの『設定上限金額』に登録されている値(所定の金額)以上であるか否かを判定する(ステップS803)。そして、未登録商品の金額が、『設定上限金額』に登録されている値以上であると判定された場合には(ステップS803:YES)、ステップS804に処理を移行して、現在処理対象のお客様用レシートのレイアウトを未登録商品手書きレイアウト(図14の1404)に決定する。一方、未登録商品の金額が、『設定上限金額』に登録されている値未満であると判定された場合には(ステップS803:NO)、処理をステップS805に移行して、現在処理対象のお客様用レシートのレイアウトを登録/未登録商品印字レイアウト(図14の1403)に決定する。
すなわち、携帯端末100は、本決済処理で販売する商品に未登録商品が含まれていると判定され(ステップS801:YES)、現在処理対象のレシートが、お客様用レシートであると判定され(ステップS802:お客様用レシート)、未登録商品の金額(単価)及び/又は金額(合計)の値(例えば、図10Bの(C)の決済画面の1002、1003の入力欄の金額)が、図11のコントロールマスタの『設定上限金額』に登録されている値(所定の金額)以上であると判定された場合には(S803:YES)、ステップS804で、未登録商品手書きレイアウト(図14の1404)でお客様用レシートを印刷することを決定する。また、携帯端末100は、本決済処理で販売する商品に未登録商品が含まれていると判定され(ステップS801:YES)、現在処理対象のレシートが、お客様用レシートであると判定され(ステップS802:お客様用レシート)、未登録商品の金額(単価)及び/又は金額(合計)の値(例えば、図10Bの(C)の決済画面の1002、1003の入力欄の金額)が、図11のコントロールマスタの『設定上限金額』に登録されている値(所定の金額)以上ではないと判定された場合には(S803:NO)、ステップS805で、登録/未登録商品印字レイアウト(図14の1403)でお客様用レシートを印刷することを決定する。
ステップS803は、ステップS505で入力を受け付けた金額が所定の金額以上であるか否かを判定する(金額判定手段)。
例えば、ステップS501で読み取られた商品のバーコードが、『44444』で、当該商品の商品名が商品マスタに登録されていない場合には、ステップS505で図10Aの(C)の決済画面に表示されている入力欄1002、1003を含む決済画面を表示し、当該入力欄に入力された値(例えば、30000)が、図13の売上データの『ID:3の売上データ』のように登録される。このような場合には、未登録商品の金額が『設定上限金額』に登録されている値以上になるため、印刷されるレイアウトが、ステップS804で未登録商品手書きレイアウトに決定される。
そして、携帯端末100は、ステップS804、又はステップS805の何れかの処理を実行すると、処理をステップS605に戻す。
以上の処理を実行することで、本決済処理で販売する商品に未登録商品が含まれる場合に印刷される店舗控え用レシートには、店員等のユーザが商品名を記入する記入欄1406が印字されるため、商品マスタ、及び売上データに登録すべき商品名を、当該ユーザが、その記入欄1406に記入し、後で、当該ユーザが、その店舗控え用レシートを確認することで、どのレシートのどの商品が未登録商品であり、その未登録商品の商品名を商品マスタ、及び売上データに登録する必要があるのかを確認することができ、後で、その未登録商品の商品名を商品マスタ、及び売上データに登録し易くすることができるようになる。
また、本決済処理で未登録商品が含まれていても、本決済処理を円滑に行い易くすることが可能となる。
次に、図15を用いて、携帯端末100の外部メモリに記憶されている売上データ、及び未登録商品の商品名を、サーバ300に登録する登録処理について、説明する。
図15は、携帯端末100の外部メモリに記憶されている売上データ、及び未登録商品の商品名を、サーバ300に登録する登録処理の一例を示すフローチャートである。
図15に示すステップS1510、ステップS1511の処理は、サーバ300のCPUがプログラムを読み出して実行することにより実現される。
図15に示すステップS1501〜S1509の処理は、携帯端末100のCPUがプログラムを読み出して実行することにより実現される。
図15に示す処理を実行する際(前)に、図12に示す商品マスタ、及び図13に示す売上データが、携帯端末100の外部メモリに記憶されているものとして、説明する。
店員等のユーザが、図16の(A)に示す店舗控え用レシートを目視で確認し、記入欄1406に手書きされた商品名1601(例えば、商品C)を確認する。
図16の(A)に示す店舗控え用レシートは、図14の店舗控え用レシート1402の1406の欄に、商品名1601(例えば、商品C)が手書きされた店舗控え用レシートの一例である。
そして、携帯端末100は、ユーザに指示に従って、図16の(B)に示す未登録商品登録画面を表示する(ステップS1501)。
そして、当該ユーザは、図16の(A)に示す店舗控え用レシートに記載の商品名1601(例えば、商品C)の商品を持ってきて、その商品に付されたバーコードをバーコードリーダ118にかざす。
そして、携帯端末100は、当該商品に付されたバーコードを読み取り(ステップS1502)、そして当該読み取られたバーコードの情報(例えば、33333)に一致するレコードを売上データ(図13)の中から検索して特定し(ステップS1503)、当該特定されたレコードの中に含まれている金額(単価)、金額(合計)の値、及びステップS1502で読み取られたバーコードの情報(例えば、33333)を、図16の(B)の未登録商品登録画面に表示する(ステップS1504)。
図16の(B)の未登録商品登録画面の1602は、ユーザによる商品名の入力を受け付ける入力欄である。
携帯端末100は、入力欄1602への、未登録商品の商品名(1601に記載された商品名であり、例えば、商品C)の入力を受け付け(ステップS1505)、ユーザにより登録ボタン1603が押下されたか否かを判定する(ステップS1506)。そして、登録ボタン1603が押下されていないと判定された場合には(NO)、処理をステップS1505に戻し、登録ボタン1603が押下されたと判定された場合には(YES)、処理をステップS1507に移行する。
携帯端末100は、商品マスタに新たなレコードを追加して、そのレコードに、図16の(B)の未登録商品登録画面に表示されているバーコード情報、入力欄1602に入力された商品名(例えば、商品C)、図16の(B)の未登録商品登録画面に表示されている金額(単価)の値を、登録して、商品マスタを更新する(ステップS1507)。このようにして登録された商品マスタの例を図16に示している。
そして、携帯端末100は、図16の(B)の未登録商品登録画面に表示されているバーコードに一致する、売上データのレコードの商品名のカラムに、入力欄1602に入力された商品名(例えば、商品C)を登録する(ステップS1508)。このようにして登録された売上データの例を図16に示している。
すなわち、携帯端末100は、図16の(B)の未登録商品登録画面に表示されているバーコードに一致する、1又は複数の決済の全ての売上データのレコードの商品名のカラムに、入力欄1602に入力された商品名(例えば、商品C)を一括で(まとめて)登録する。そのため、同一の未登録商品について複数の決済を行われ、同一の未登録商品名(例えば、商品C)が手書きされた複数の店舗控え用レシート(図16(A))があっても、少ない操作で、バーコードが一致する全ての売上データに対して、同一の未登録商品名を一括で(まとめて)登録することができ、ユーザの未登録商品名の登録作業を軽減することができる。
次に、携帯端末100は、このようにして更新・登録された商品マスタ、及び売上データをサーバ300に送信する(ステップS1509)。
そして、サーバ300は、携帯端末100から、当該商品マスタ、及び売上データを受信して(ステップS1510)、サーバ300の外部メモリに記憶されている商品データ(図12)を、当該受信した商品マスタ(図16に示す商品マスタ)に登録・更新し、さらに、当該受信した売上データを、サーバ300の外部メモリに登録(記憶)する(ステップS1511)。
このようにして、一時的に、携帯端末100の外部メモリに登録された、未登録商品を含む売上データを、未登録商品を含まない売上データにし、未登録商品を含まない売上データを、決済処理後に、POSのサーバ300に登録することが出来るので、本決済処理を円滑に行い易くすることが可能となると共に、売上データをPOSのサーバ300に登録する際に、未登録商品を含む売上データがサーバ300に登録されることを減らすことが出来るようになる。
次に、図15で説明した売上データなどの登録処理の変形例(図17、図18)について説明する。
図15では、事前に、携帯端末100で未登録商品の商品名などを登録した売上データ、商品マスタをサーバ300に送信して登録する処理について説明したが、ここでは、携帯端末100が、未登録商品の商品名などを登録する前の売上データ(例えば、図13の売上データ)を事前にサーバ300に送信して、その後、携帯端末からの指示に従って、サーバ300で当該売上データの未登録商品の商品名を更新・登録し、商品マスタを更新する処理について説明する。
図17は、売上データなどの登録処理の一例を示すフローチャートである。
図17に示すステップS1701、ステップS1702の処理は、携帯端末100のCPUがプログラムを読み出して実行することにより実現される。
図17に示すステップS1703、S1704の処理は、サーバ300のCPUがプログラムを読み出して実行することにより実現される。
まず、携帯端末100は、ユーザにより、携帯端末100の外部メモリに記憶されている売上データ(図13)のサーバ300への登録指示を受け付けると(ステップS1701)、当該売上データ(図13)をサーバ300に送信して登録要求を送信する(ステップS1702)。
そして、サーバ300は、携帯端末100から当該売上データ(図13)を受信すると(ステップS1703)、当該売上データ(図13)を、サーバ300の外部メモリに記憶(登録)する。
そして、図17に示す処理を実行した後に、図18に示す処理を実行する。
図18は、未登録商品の商品名を売上データ、商品マスタに登録する処理の一例を示すフローチャートである。
図18に示すステップS1501〜S1506、S1801の処理は、携帯端末100のCPUがプログラムを読み出して実行することにより実現される。
図18に示すステップS1802、S1803の処理は、サーバ300のCPUがプログラムを読み出して実行することにより実現される。
図18に示すステップS1501〜S1506は、図15で説明した処理と同一であるため、その説明は省略する。
携帯端末100は、登録ボタン1603が押下されたと判定された場合には(ステップS1506:YES)、ステップS1502で読み取られたバーコード情報と、ステップS1505で入力を受け付けた商品名とをサーバ300に送信する(ステップS1801)。
そして、サーバ300は、携帯端末100から、当該バーコード情報と当該商品名とを受信し(ステップS1802)、当該バーコード情報に一致する売上データのレコードに、当該受信した商品名を登録して、売上データを更新し、そして、当該商品名を登録した当該売上データのレコードの、『バーコード』、『商品名』、『金額(単価)』を取得して、それらの項目を1つのレコードとして商品マスタに登録する(ステップS1803)。
図18では、携帯端末100を操作して、サーバ300の外部メモリに記憶された商品マスタ、売上データを更新する処理について説明したが、サーバ300に、ステップS1501からステップS1801までの処理を備えさせて、携帯端末100を用いることなく、サーバ300が、サーバ300の外部メモリに記憶された商品マスタ、売上データを更新するようにすることもできる。
以上、本実施の形態によれば、店舗控え用レシートを印刷しない設定であったとしても、決済を行う商品の中に未登録商品がある場合には、店舗控え用レシートを印刷することで、決済処理を円滑に行い易くすることが出来るようになると共に、決済処理後に、未登録商品の商品名を売上データや商品マスタに登録し易くすることができるようになる。
また、決済を行う商品の中に未登録商品がある場合に印刷される店舗控え用レシートの商品名欄に、未登録商品とは印字せずに、当該未登録商品の商品名を記入するための記入欄(空の欄)が設けられているため、決済処理後に、当該記入欄に商品名を記入し易くなり、また、後で、まとめてその店舗控え用レシートに記入された、未登録商品の商品名を確認し易くなると共に、決済処理後に、未登録商品の商品名を売上データや商品マスタに登録し易くすることができるようになる。
また、決済を行う商品の中に未登録商品がある場合で、その未登録商品が価格(金額)が、コントロールマスタの『設定上限金額』以上である場合(高額商品である場合)には、当該未登録商品の商品名を記入するための記入欄(空の欄)が設けられたお客様用レシートの印刷を行うため、そのお客様用レシートを、例えば、会社での立替精算を行う際に用いる証憑として用い易くなる。
以上説明したように、本実施の形態によれば、未登録商品の決済後に未登録商品の商品名を登録し易くすることができる。
以上、本発明の一実施形態を詳述したが、本発明は、例えば、システム、装置、方法、装置で実行可能なプログラムもしくは記憶媒体等としての実施態様をとることが可能であり、具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、プログラムコード自体及びそのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のメモリカード、ROM等を用いることができる。
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOS(基本システム或いはオペレーティングシステム)などが実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。