(57)【要約】【課題】特定の期間内に自由に休憩が取得できる制度において、適切に勤務時間を算定可能なタイムレコーダを提供することを目的とする。【解決手段】本発明に係るタイムレコーダは、被処理情報の内に入場時刻がないときにタイムカードの挿入時刻を前記入場時刻として記憶する第１の処理と、前記被処理情報の内に前記休憩時間の開始時刻である休憩開始時刻がないときに前記取得区間情報と前記休憩時間情報と前記挿入時刻とに基づいて前記休憩開始時刻を特定して記憶する第２の処理と、前記被処理情報の内に前記入場時刻があるときに前記挿入時刻と前記入場時刻とに基づき勤務時間を算定するものであって前記被処理情報の内に前記休憩開始時刻があるときに当該休憩開始時刻と前記取得区間情報と前記休憩時間情報と前記入場時刻と前記挿入時刻とに基づいて前記勤務時間を算定する第３の処理と、を行うことを特徴とする。【選択図】図４
2006127271.tif 000002
【特許請求の範囲】
【請求項１】
タイムカードの挿入時に処理される被処理情報を当該タイムカードに添えられた識別情報と対応付けて記憶する第１の記憶部と、
所定の期間の休憩時間を取得すべき取得区間を指定する取得区間情報及び前記休憩時間を指定する休憩時間情報を記憶する第２の記憶部と、
前記第１の記憶部に前記被処理情報を記憶させ、前記被処理情報に基づいて前記タイムカード毎に勤務時間を算定する処理部と、を備え、
前記処理部は、
前記第１の記憶部に記憶された前記被処理情報の内に入場時刻が設定されているか否か判定する第１の処理と、
前記第１の処理により前記入場時刻が未設定と判定されたときに前記タイムカードの挿入時刻を前記入場時刻と設定して前記第１の記憶部に記憶する第２の処理と、
前記第１の記憶部に記憶された前記被処理情報の内に前記休憩時間の開始時刻である休憩開始時刻が未設定のときに前記取得区間情報と前記休憩時間情報と前記挿入時刻とに基づいて前記休憩開始時刻を設定して前記第１の記憶部に記憶する第３の処理と、
前記休憩開始時刻と前記取得区間情報と前記休憩時間情報と前記入場時刻と前記挿入時刻とに基づいて前記勤務時間を算定する第４の処理と、を行う、
ことを特徴とするタイムレコーダ。
【請求項２】
前記処理部は、前記タイムカードの挿入毎に、前記第１の処理にて前記入場時刻が未設定と判定されたときに前記第１の処理の後に前記第２の処理、前記第３の処理を順に行い、前記第１の処理にて前記入場時刻が設定されていると判定されたときに前記第１の処理の後に前記第３の処理、前記第４の処理を順に行い当該第４の処理の後に前記入場時刻を未設定とする、
ことを特徴とする請求項１に記載のタイムレコーダ。
【請求項３】
前記第３の処理は、
前記挿入時刻が前記取得区間の開始時刻より前か否かを判定する取得区間前判定段階と、
前記挿入時刻が前記取得区間の終了時刻より後か否かを判定する取得区間後判定段階と、
前記挿入時刻から前記休憩時間を開始したときに休憩時間の終了が前記取得区間を超過するか否か判定する取得区間超過判定段階と、を含み、
前記取得区間前判定段階において前記取得区間の開始時刻の前と判定されたときには前記休憩開始時刻を特定せず、前記取得区間後判定段階において前記取得区間の終了時刻より前と判定されないときには前記取得区間の終了時刻から前記休憩時間だけ前の時刻を前記休憩開始時刻とし、前記取得区間超過判定段階にて超過すると判定されたときには前記取得区間の終了時刻から前記休憩時間だけ前の時刻を前記休憩開始時刻とし、前記取得区間超過判定段階にて超過しないと判定されたときには前記挿入時刻を前記休憩開始時刻とする、
ことを特徴とする請求項２に記載のタイムレコーダ。
【請求項４】
前記第４の処理は、前記挿入時刻と前記入場時刻との間の第１の時間を算定する第１の勤務時間算定段階と、
前記被処理情報の内に前記休憩開始時刻が設定されているか否かを判定する第１判定段階と、
前記第１判定段階にて前記休憩開始時刻が設定されていると判定されたときに前記入場時刻が前記休憩開始時刻の以後か否か判定する第２の判定段階と、
前記第２判定段階において以後でないと判定されたときに、前記挿入時刻が前記休憩開始時刻より後でないと判定したときに前記第１の時間を有効とする第３の判定段階と、
前記第２の判定段階において以後と判定されたときに、前記入場時刻が前記休憩開始時刻から前記休憩時間だけ経過した基準時刻の以後と判定したときに前記第１の時間を有効とする第４の判定段階と、
前記第４の判定段階において前記入場時刻が前記基準時刻の前と判定されたときに、前記挿入時刻が前記基準時刻の前と判定すると前記第１の時間を無効とし、前記挿入時刻が前記基準時刻の前でないと判定すると前記基準時刻と前記入場時刻との間の第２の時間を前記第１の時間から減じて前記第１の時間を更新する第５の判定段階と、
前記第３の判定段階において前記挿入時刻が前記休憩開始時刻の後と判定されたときに、前記挿入時刻が前記基準時刻の前と判定すると前記挿入時刻と前記休憩開始時刻との間の第３の時間を前記第１の時間から減じて前記第１の時間を更新し、前記挿入時刻が前記基準時刻の前でないと判定すると前記休憩時間を前記第１の時間から減じて前記第１の時間を更新する第６の判定段階と、
有効とされるか更新された前記第１の時間を前記勤務時間として累計する第２の勤務時間算定段階と、を備える、
ことを特徴とする請求項３に記載のタイムレコーダ。
【請求項５】
前記取得区間情報は複数の前記取得区間を指定し、前記休憩時間情報は前複数の前記取得区間のそれぞれに対応した複数の前記休憩時間を指定するものであり、前記第３の処理は複数の前記取得区間毎に前記休憩開始時刻を設定し、前記第４の処理は複数の前記取得区間毎に設定された前記休憩開始時刻と前記取得区間情報と前記休憩時間情報と前記入場時刻と前記挿入時刻とに基づいて前記勤務時間を算定することを特徴とする請求項１に記載のタイムレコーダ。
【請求項６】
コンピュータを、
タイムカードの挿入時に処理される被処理情報を当該タイムカードに添えられた識別情報と対応付けて記憶する第１の記憶手段と、
所定の期間の休憩時間を取得すべき取得区間を指定する取得区間情報及び前記休憩時間を指定する休憩時間情報を記憶する第２の記憶手段と、
前記第１の記憶部に前記被処理情報を記憶させ、前記被処理情報に基づいて前記タイムカード毎に勤務時間を算定する処理手段として機能させるコンピュータプログラムであって、
前記処理手段は、
前記第１の記憶手段に記憶された前記被処理情報の内に入場時刻が未設定か否か判定する第１の処理と、
前記第１の処理により前記入場時刻が未設定と判定されたときに前記タイムカードの挿入時刻を前記入場時刻と設定して前記第１の記憶手段に記憶する第２の処理と、
前記第１の記憶手段に記憶された前記被処理情報の内に前記休憩時間の開始時刻である休憩開始時刻が未設定のときに前記取得区間情報と前記休憩時間情報と前記挿入時刻とに基づいて前記休憩開始時刻を設定して前記第１の記憶手段に記憶する第３の処理と、
前記休憩開始時刻と前記取得区間情報と前記休憩時間情報と前記挿入時刻と前記入場時刻とに基づき勤務時間を算定する第４の処理と、を行う、
ことを特徴とするコンピュータプログラム。
【請求項７】
被処理情報の内に入場時刻が未設定のときにタイムカードの挿入時刻を前記入場時刻として記憶する第１のステップと、
前記被処理情報の内に休憩時間の開始時刻である休憩開始時刻が未設定のときに取得区間情報と休憩時間情報と前記挿入時刻とに基づいて前記休憩開始時刻を特定して記憶する第２のステップと、
前記休憩開始時刻と前記取得区間情報と前記休憩時間情報と前記挿入時刻と前記入場時刻とに基づき勤務時間を算定する第３のステップと、から構成される、
ことを特徴とする勤務時間算定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、従業員等の出退勤を管理するためのタイムレコーダに関する。より詳細には、タイムレコーダにより勤務時間を集計する技術に関する。
【背景技術】
【０００２】
従来から、従業員の勤務時間の管理や賃金計算のために、月末等の一定期間の末日に勤務時間を集計して出力するタイムレコーダが利用されている。勤務時間を算出する際に、単にタイムカードを挿入（打刻）した時間から勤務時間を算出すると、休憩時間の分だけ多く勤務時間を算定してしまうため、勤務時間から休憩時間を差し引く処理をするのが一般的である。
【０００３】
しかし、一定の時間に休憩を取るのが困難なサービス業や、全員が一度に休憩を取るのが困難な社員数の多い企業等では、一定の期間の間であれば自由に休憩を取得できるという制度を採用する場合がある。このような制度に対応して勤務時間を算定できるタイムレコーダが開発されている（例えば特許文献１）。
【０００４】
【特許文献１】特公昭６１−６０４７０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、このようなタイムレコーダにおいても、様々な例外的な打刻パターンについては対応しきれず、適切に休憩時間を差し引けない。このため、例外的な処理については、算定された集計結果に修正を施す必要があり、時間と労力とを要する。
【０００６】
本発明は、上記実情に鑑みてなされたもので、特定の期間内に自由に休憩が取得できる勤務体系において、適切に勤務時間を算定可能なタイムレコーダを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の第１の観点に係るタイムレコーダは、タイムカードの挿入時に処理される被処理情報を当該タイムカードに添えられた識別情報と対応付けて記憶する第１の記憶部と、
所定の期間の休憩時間を取得すべき取得区間を指定する取得区間情報及び前記休憩時間を指定する休憩時間情報を記憶する第２の記憶部と、前記第１の記憶部に前記被処理情報を記憶させ、前記被処理情報に基づいて前記タイムカード毎に勤務時間を算定する処理部と、を備え、前記処理部は、前記第１の記憶部に記憶された前記被処理情報の内に入場時刻が設定されているか否か判定する第１の処理と、前記第１の処理により前記入場時刻が未設定と判定されたときに前記タイムカードの挿入時刻を前記入場時刻と設定して前記第１の記憶部に記憶する第２の処理と、前記第１の記憶部に記憶された前記被処理情報の内に前記休憩時間の開始時刻である休憩開始時刻が未設定のときに前記取得区間情報と前記休憩時間情報と前記挿入時刻とに基づいて前記休憩開始時刻を設定して前記第１の記憶部に記憶する第３の処理と、前記休憩開始時刻と前記取得区間情報と前記休憩時間情報と前記入場時刻と前記挿入時刻とに基づいて前記勤務時間を算定する第４の処理と、を行う、ことを特徴とする。
【０００８】
前記処理部は、前記タイムカードの挿入毎に、前記第１の処理にて前記入場時刻が未設定と判定されたときに前記第１の処理の後に前記第２の処理、前記第３の処理を順に行い、前記第１の処理にて前記入場時刻が設定されていると判定されたときに前記第１の処理の後に前記第３の処理、前記第４の処理を順に行い前記第３の処理の後に前記入場時刻を未設定としてもよい。
【０００９】
前記第３の処理は、前記挿入時刻が前記取得区間の開始時刻より前か否かを判定する取得区間前判定段階と、前記挿入時刻が前記取得区間の終了時刻より後か否かを判定する取得区間後判定段階と、前記挿入時刻から前記休憩時間を開始したときに休憩時間の終了が前記取得区間を超過するか否か判定する取得区間超過判定段階と、を含み、前記取得区間前判定段階において前記取得区間の開始時刻の前と判定されたときには前記休憩開始時刻を特定せず、前記取得区間後判定段階において前記取得区間の終了時刻より前と判定されないときには前記取得区間の終了時刻から前記休憩時間だけ前の時刻を前記休憩開始時刻とし、前記取得区間超過判定段階にて超過すると判定されたときには前記取得区間の終了時刻から前記休憩時間だけ前の時刻を前記休憩開始時刻とし、前記取得区間超過判定段階にて超過しないと判定されたときには前記挿入時刻を前記休憩開始時刻としてもよい。
【００１０】
前記第４の処理は、前記挿入時刻と前記入場時刻との間の第１の時間を算定する第１の勤務時間算定段階と、前記被処理情報の内に前記休憩開始時刻が設定されているか否かを判定する第１判定段階と、前記第１判定段階にて前記休憩開始時刻が設定されていると判定されたときに前記入場時刻が前記休憩開始時刻の以後か否か判定する第２の判定段階と、前記第２判定段階において以後でないと判定されたときに、前記挿入時刻が前記休憩開始時刻より後でないと判定したときに前記第１の時間を有効とする第３の判定段階と、前記第２の判定段階において以後と判定されたときに、前記入場時刻が前記休憩開始時刻から前記休憩時間だけ経過した基準時刻の以後と判定したときに前記第１の時間を有効とする第４の判定段階と、前記第４の判定段階において前記入場時刻が前記基準時刻の前と判定されたときに、前記挿入時刻が前記基準時刻の前と判定すると前記第１の時間を無効とし、前記挿入時刻が前記基準時刻の前でないと判定すると前記基準時刻と前記入場時刻との間の第２の時間を前記第１の時間から減じて前記第１の時間を更新する第５の判定段階と、前記第３の判定段階において前記挿入時刻が前記休憩開始時刻の後と判定されたときに、前記挿入時刻が前記基準時刻の前と判定すると前記挿入時刻と前記休憩開始時刻との間の第３の時間を前記第１の時間から減じて前記第１の時間を更新し、前記挿入時刻が前記基準時刻の前でないと判定すると前記休憩時間を前記第１の時間から減じて前記第１の時間を更新する第６の判定段階と、有効とされるか更新された前記第１の時間を前記勤務時間として累計する第２の勤務時間算定段階と、を備えてもよい。
【００１１】
また、前記取得区間情報は複数の前記取得区間を指定し、前記休憩時間情報は前複数の前記取得区間のそれぞれに対応した複数の前記休憩時間を指定するものであり、前記第３の処理は複数の前記取得区間毎に前記休憩開始時刻を設定し、前記第４の処理は複数の前記取得区間毎に設定された前記休憩開始時刻と前記取得区間情報と前記休憩時間情報と前記入場時刻と前記挿入時刻とに基づいて前記勤務時間を算定することも好ましい。
【００１２】
本発明の第２の観点に係るコンピュータプログラムは、コンピュータを、タイムカードの挿入時に処理される被処理情報を当該タイムカードに添えられた識別情報と対応付けて記憶する第１の記憶手段と、所定の期間の休憩時間を取得すべき取得区間を指定する取得区間情報及び前記休憩時間を指定する休憩時間情報を記憶する第２の記憶手段と、前記第１の記憶部に前記被処理情報を記憶させ、前記被処理情報に基づいて前記タイムカード毎に勤務時間を算定する処理手段として機能させるコンピュータプログラムであって、前記処理手段は、前記第１の記憶手段に記憶された前記被処理情報の内に入場時刻が未設定か否か判定する第１の処理と、前記第１の処理により前記入場時刻が未設定と判定されたときに前記タイムカードの挿入時刻を前記入場時刻として前記第１の記憶手段に記憶する第２の処理と、前記第１の記憶手段に記憶された前記被処理情報の内に前記休憩時間の開始時刻である休憩開始時刻が未設定のときに前記取得区間情報と前記休憩時間情報と前記挿入時刻とに基づいて前記休憩開始時刻を設定して前記第１の記憶手段に記憶する第２の処理と、前記休憩開始時刻と前記取得区間情報と前記休憩時間情報と前記挿入時刻と前記入場時刻とに基づき勤務時間を算定する第４の処理とを行う、ことを特徴とする。
【００１３】
本発明の第３の観点に係る勤務時間算定方法は、被処理情報の内に入場時刻が未設定のときにタイムカードの挿入時刻を前記入場時刻として記憶する第１のステップと、前記被処理情報の内に休憩時間の開始時刻である休憩開始時刻が未設定のときに取得区間情報と休憩時間情報と前記挿入時刻とに基づいて前記休憩開始時刻を特定して記憶する第２のステップと、前記休憩開始時刻と前記取得区間情報と前記休憩時間情報と前記挿入時刻と前記入場時刻とに基づき勤務時間を算定する第３のステップと、から構成される、ことを特徴とする。
【発明の効果】
【００１４】
本発明のタイムレコーダは、特定の期間内に自由に休憩が取得できる勤務体系において、適切に勤務時間を算定することができる。
【発明を実施するための最良の形態】
【００１５】
本実施の形態におけるタイムレコーダ１と当該タイムレコーダ１に適用されるタイムカード２を、図面を参照して説明する。
タイムレコーダ１は、図１に示すように、カード識別部１１と、カード送り部１２と、印字部１３と、計時部１４と、制御部１５と、メモリ１６とから構成される。
【００１６】
カード識別部１１は、図示しないバーコードリーダ、デコーダ等から構成される。
カード識別部１１は、図２に示すタイムカード２の挿入時にタイムカード２に設けられたバーコード２３を読み取り、読み取ったコードをデコードしてカード識別番号を生成し、制御部１５に供給する。
【００１７】
カード送り部１２は、タイムカード２の位置を定める機構で、図示しないモータ、カード差込口、カード検出スイッチ等から構成される。すなわち、カード送り部１２は、タイムレコーダ１の上端部に設けられたカード差込口より挿入されるタイムカード２の水平位置を定める。また、カード送り部１２は、制御部１５による制御に基づき、印字する行までカードを吸入し、印字中はタイムカード２を保持し、印字後はカードを排出することによりタイムカード２の垂直位置を定める。
【００１８】
印字部１３は、タイムカード２の印字欄２１に出退勤情報を印字するプリンタで、図示しない印字ヘッド、モータ、キャリア等から構成される。印字ヘッドはキャリアに支持されており、キャリアはモータの駆動力により水平方向に移動可能とされている。印字部１３は、制御部１５による制御に基づき、印字ヘッドを印字しようとする印字欄に適した水平位置に移動させ、当該印字欄２１に制御部から供給された文字情報を印字する。
【００１９】
計時部１４は、図示しない発振器、カウンタ等から構成される計時回路で、現在時刻及びカレンダ情報（日付、曜日等）を計時する。
【００２０】
制御部１５は、図示しないマイクロコンピュータと、マイクロコンピュータによる処理の手順を定義したプログラムを記憶するＲＯＭ（Read Only Memory）とを備え、タイムレコーダ１全体の動作を制御する。例えば、制御部１５は、後述する打刻処理において、挿入時刻Ｔ、カレンダ情報、打刻カウントＮ等に基づき、印字する行及び欄を特定し、カード送り部１２及び印字部１３を制御して印字ヘッドを当該欄の位置まで移動させる。
【００２１】
メモリ１６は、図示しないＲＡＭ（Random Access Memory）等から構成され、制御部１５の処理に必要な情報を一時的に記憶するワークスペースとなる。また、メモリ１６は、フラッシュメモリ等の不揮発性メモリを含み、タイムカード２毎の出退勤状況を記憶するための記憶テーブル、締め日の日付、休憩取得区間の開始時刻Ｔｂａｓ、休憩取得区間の終了時刻Ｔｂａｅ、所定の休憩時間Ｔｂｔ、勤務時間処理によって算出される勤務時間ΔＴ、規定勤務時間等を記憶する。記憶テーブルは、図３に示すように、カード識別番号に対応付けて、その日の打刻回数を示す打刻カウントＮ（Ｎは０から４の整数）、入場時刻Ｔｉｎ、休憩開始時刻Ｔｂｓ、累積勤務時間ｗｈ等が記憶された表である。記憶テーブルは、日付が変わると、制御部１５により、全てのタイムカード２について打刻カウントが０にリセットされ、入場時刻Ｔｉｎ及び休憩開始時刻Ｔｂｓは値が無いことを示すＮＵＬＬに設定される。また、このような毎日の記憶テーブルの更新処理については、日付が変わった後に最初にタイムカード２が挿入されたときに、当該タイムカード２について、打刻カウントを０にリセットすると共に、入場時刻Ｔｉｎおよび休憩開始時刻ＴｂｓをＮＵＬＬに設定するようにしてもよい。この場合、その日の最初にタイムカード２が挿入されたときには、記憶テーブルの更新処理に続いて後述する入場時刻Ｔｉｎの有無の判定から打刻に至る処理（図４のステップＳ１４０〜Ｓ２３０）を実行するようにしてもよい。
【００２２】
本実施の形態におけるタイムカード２は、図２に示すように、タイムカード２の挿入時刻Ｔや勤務時間ΔＴ等が日毎に印字される６列の領域を有する印字欄２１と、集計欄２２と、バーコード２３とから構成される。
印字欄２１は、タイムカード２がタイムレコーダ１に挿入された時間や勤務時間が印字される領域である。印字欄２１のうち左側４列はタイムカード２の挿入時刻が印字される領域であり、他の２列は勤務時間処理で算出された勤務時間ΔＴが印字される領域である。
また、集計欄２２は後述する集計処理において集計される一定期間（例えば１ヶ月間）の出退勤状況が印字される領域である。
バーコード２３は、タイムカード２を識別するための符号であり、タイムレコーダ１のカード識別部１１により識別される。各タイムカード２にはそれぞれ異なるコードが付されている。
【００２３】
次に、上述のタイムレコーダ１及びタイムカード２の使用例を説明する。
タイムレコーダ１は会社の通用口等に設置され、タイムカード２は当該会社の従業者に１枚ずつ配布される。従業者は、出勤、外出、外出からの戻り、退勤の各タイミングでタイムカード２をタイムレコーダ１に挿入する。タイムレコーダ１はタイムカード２が挿入される度に、打刻処理を実行する。ここで打刻処理とは、タイムカード２が挿入された時刻に基づき、当該時刻のタイムカード２への印字、勤務時間ΔＴの算出と更新等を行う処理である。
【００２４】
以下、図４に示すフローチャートを参照して、打刻処理の手順を説明する。
打刻処理は、タイムカード２がタイムレコーダ１のカード差込口に挿入されることにより開始される。
打刻処理が開始されると、カード識別部１１は、挿入されたタイムカード２のバーコード２３を読み取ってデコードしたカード識別番号を制御部１５に供給する。また、制御部１５は、計時部１４から日付と挿入時刻Ｔとを取得する（ステップＳ１００）。次に、日付があらかじめ設定された締め日である場合（ステップＳ１１０；Ｙｅｓ）、制御部１５は、後述する集計処理を実行し（ステップＳ１２０）、その後、ステップ２４０に進む。
【００２５】
ここで、図５に示すフローチャートを参照して、集計処理の手順を説明する。
集計処理が開始されると、制御部１５は、メモリ１６の記憶テーブルにアクセスし、挿入されたタイムカード２に対応する当月の累積勤務時間ｗｈと、残業時間と、欠勤時間とを取得する（ステップＳ３００）。
【００２６】
次に、制御部１５は、カード送り部１２を制御し、タイムカード２を集計欄２２が印字ヘッドと対向する位置まで吸入する（ステップＳ３１０）。そして、制御部１５は印字部を制御し、印字ヘッドを適宜移動させ、累積勤務時間ｗｈ、残業時間及び欠勤時間を印字させる（ステップＳ３２０）。その後、制御部１５は、メモリ１６の記憶テーブルの累積勤務時間ｗｈを０：００にリセットする（ステップＳ３３０）。
以上で集計処理は終了となり打刻処理のフローチャートに戻る。
【００２７】
図４に戻って、日付が締め日でない場合（ステップＳ１１０；Ｎｏ）、制御部１５は、メモリ１６の記憶テーブルから挿入されたタイムカード２に対応する打刻カウントＮを取得し、打刻カウントＮが４であるか否かを判定する（ステップＳ１３０）。
【００２８】
打刻カウントＮが４である場合には（ステップＳ１３０；Ｙｅｓ）、特に処理をせずにステップＳ２４０に進む。すなわち、挿入時刻Ｔを印字する欄がなくなったものと判断する。一方、Ｎが４でない場合（ステップＳ１３０；Ｎｏ）には、制御部１５は、メモリ１６の記憶テーブルにアクセスし、挿入されたタイムカード２に対応する入場時刻Ｔｉｎが記憶されているかを判定する（ステップＳ１４０）。
【００２９】
今回のタイムカード２の挿入の前に入場時刻Ｔｉｎに時刻が記憶されていない場合（ステップＳ１４０；Ｎｏ）、制御部１５は、入場時刻Ｔｉｎに挿入時刻Ｔを設定してメモリ１６の記憶テーブルに記憶する（ステップＳ１５０）。その後、制御部１５は、後述する休憩判定処理を実行する（ステップＳ１６０）。そして、制御部１５は、カード送り部１２及び印字部１３を制御して、日付と打刻カウントＮに基づいて特定される印字欄２１に、挿入時刻Ｔを印字させる（ステップＳ１７０）。その後、ステップＳ２３０に進む。
【００３０】
ここで、図６に示すフローチャートを参照して、休憩判定処理の手順を説明する。
休憩判定処理は、挿入時刻Ｔが休憩取得区間に含まれるか等を判定し、休憩開始時刻Ｔｂｓを設定する処理である。
休憩判定処理が開始されると、制御部１５は、メモリ１６の記憶テーブルにアクセスし、挿入されたタイムカード２に対応する各レコードを取得し、以下の処理を実行する。
初めに、制御部１５は、休憩開始時刻Ｔｂｓが記憶されているかを判定する（ステップＳ４００）。休憩開始時刻Ｔｂｓが記憶されている場合（ステップＳ４００；Ｙｅｓ）、休憩判定処理は終了となる。
【００３１】
一方、休憩開始時刻Ｔｂｓが記憶されていない場合（ステップＳ４００；Ｎｏ）、制御部１５は、挿入時刻Ｔが休憩取得区間開始時刻Ｔｂａｓ以後かを判定する（ステップＳ４１０）。挿入時刻Ｔが休憩取得区間開始時刻Ｔｂａｓより前の場合（ステップＳ４１０；Ｎｏ）、休憩判定処理は終了となる。一方、挿入時刻Ｔが休憩取得区間開始時刻Ｔｂａｓ以後の場合（ステップＳ４１０；Ｙｅｓ）、制御部１５は、挿入時刻Ｔが休憩取得区間終了時刻Ｔｂａｅより前かを判定する（ステップＳ４２０）。挿入時刻Ｔが休憩取得区間終了時刻Ｔｂａｅ以後である場合（ステップＳ４２０；Ｎｏ）、ステップＳ４５０に進む。
【００３２】
また、挿入時刻Ｔが休憩取得区間終了時刻Ｔｂａｅより前である場合（ステップＳ４２０；Ｙｅｓ）、挿入時刻Ｔから所定の休憩時間Ｔｂｔが経過した時刻が、休憩取得区間終了時刻Ｔｂａｅ以前か（Ｔ＋Ｔｂｔ≦Ｔｂａｅとなっているか）を判定する（ステップＳ４３０）。
Ｔ＋Ｔｂｔ≦Ｔｂａｅとなっている場合（ステップＳ４３０；Ｙｅｓ）、休憩開始時刻Ｔｂｓに挿入時刻Ｔを設定する（ステップＳ４４０）。
一方Ｔ＋Ｔｂｔ≦Ｔｂａｅとなっていない場合（ステップＳ４３０；Ｎｏ）、休憩開始時刻Ｔｂｓに休憩取得区間の終了時刻Ｔｂａｅよりも所定の休憩時間Ｔｂｔだけ前の時刻（Ｔｂａｅ−Ｔｂｔ）を設定する（ステップＳ４５０）。すなわち、挿入時刻Ｔから休憩取得区間終了時刻Ｔｂａｅまでの間に所定の休憩時間Ｔｂｔが収まらない場合、休憩取得区間終了時刻Ｔｂａｅで休憩時間が終了となるように前倒しした休憩開始時刻Ｔｂｓを設定する。
以上で休憩判定処理は終了となる。
【００３３】
図４に戻って、入場時刻Ｔｉｎに時刻が記憶されている場合（ステップＳ１４０；Ｙｅｓ）、制御部１５は、休憩判定処理を実行する（ステップＳ１８０）。次に、制御部１５は、後述する勤務時間処理を実行して勤務時間ΔＴを算出する（ステップＳ１９０）。
【００３４】
ここで、図７に示すフローチャートを参照して、勤務時間処理の手順を説明する。
勤務時間処理が開始されると、制御部１５は、メモリ１６の記憶テーブルにアクセスし、挿入されたタイムカード２に対応する各レコードを取得し、以下の処理を実行する。
初めに、制御部１５は、入場時刻Ｔｉｎから挿入時刻Ｔまでの時間を算出し、勤務時間ΔＴに設定する（ステップＳ５００）。これは、勤務時間から休憩時間を除外する前の暫定的な勤務時間である。
【００３５】
次に、制御部１５は、休憩開始時刻Ｔｂｓが記憶されているかを判定する（ステップＳ５１０）。休憩開始時刻Ｔｂｓが記憶されていない場合（ステップＳ５１０；Ｎｏ）、休憩時間の除外をせずにステップＳ６１０に進む。この場合、休憩取得区間の開始時刻Ｔｂａｓ以前の退場であるため、休憩時間を除外する必要がない。
一方、休憩開始時刻Ｔｂｓが記憶されている場合（ステップＳ５１０；Ｙｅｓ）、制御部１５は、当該休憩開始時刻Ｔｂｓが入場時刻Ｔｉｎ以前かを判定する（ステップＳ５２０）。すなわち、先の入場は休憩から戻りか否かを判定する。
【００３６】
休憩開始時刻Ｔｂｓが入場時刻Ｔｉｎ以前である場合（ステップＳ５２０；Ｙｅｓ）、制御部１５は、入場時刻Ｔｉｎが休憩開始時刻Ｔｂｓから所定の休憩時間Ｔｂｔだけ経過した時刻より前（Ｔｉｎ＜Ｔｂｓ＋Ｔｂｔ）かを判定する（ステップＳ５３０）。すなわち、所定の休憩時間内に戻っていたかを判定する。
【００３７】
Ｔｉｎ＜Ｔｂｓ＋Ｔｂｔでない場合（ステップＳ５３０；Ｎｏ）、ステップＳ６１０に進む。この場合、入場時刻Ｔｉｎから挿入時刻Ｔまでの間に除外すべき休憩時間は含まれないため、休憩時間を除外する処理を要さない。
一方、Ｔｉｎ＜Ｔｂｓ＋Ｔｂｔである場合（ステップＳ５３０；Ｙｅｓ）、制御部１５は、挿入時刻Ｔが休憩開始時刻Ｔｂｓから所定の休憩時間Ｔｂｔだけ経過した時刻より前（Ｔ＜Ｔｂｓ＋Ｔｂｔ）かを判定する（ステップＳ５４０）。すなわち、挿入時刻Ｔが所定の休憩時間内であるかを判定する。
【００３８】
Ｔ＜Ｔｂｓ＋Ｔｂｔである場合（ステップＳ５４０；Ｙｅｓ）、制御部１５は、勤務時間ΔＴに０を設定する（ステップＳ５５０）。この場合、休憩時間内に入場し、休憩時間内に退場しているので、勤務時間は０とする。その後、ステップＳ６１０に進む。
一方、Ｔ＜Ｔｂｓ＋Ｔｂｔでない場合（ステップＳ５４０；Ｎｏ）、制御部１５は、勤務時間ΔＴから、休憩開始時刻Ｔｂｓから所定の休憩時間Ｔｂｔだけ経過した時刻と入場時刻Ｔｉｎとの差（Ｔｂｓ＋Ｔｂｔ−Ｔｉｎ）を差し引く（ステップＳ５６０）。この場合、入場時刻Ｔｉｎではなく、所定の休憩時間Ｔｂｔが終わる時刻（Ｔｂｓ＋Ｔｂｔ）から勤務が開始したとし、勤務時間ΔＴを修正する。その後、ステップＳ６１０に進む。
【００３９】
ステップＳ５２０の判定に戻り、休憩開始時刻Ｔｂｓが入場時刻Ｔｉｎより後である場合（ステップＳ５２０；Ｎｏ）、すなわち、先の入場は休憩からの戻りでない場合、制御部１５は、挿入時刻Ｔが休憩開始時刻Ｔｂｓより後かを判定する（ステップＳ５７０）。すなわち、上述した休憩判定処理において、休憩開始時刻Ｔｂｓが挿入時刻Ｔの前に設定されたか（Ｔｂｓ＝Ｔｂａｅ−Ｔｂｔ＜Ｔ）、休憩開始時刻Ｔｂｓが挿入時刻Ｔに設定されたか（Ｔｂｓ＝Ｔ）を判定する。
【００４０】
挿入時刻Ｔが休憩開始時刻Ｔｂｓより後でない場合（ステップＳ５７０；Ｎｏ）、すなわち、休憩開始時刻Ｔｂｓが挿入時刻Ｔに設定されている場合、ステップＳ６１０に進む。この場合、挿入時刻Ｔから休憩を取り始めており、休憩時間Ｔｂｔが休憩取得区間内に収まるため、勤務時間ΔＴの修正は必要ない。
一方、挿入時刻Ｔが休憩開始時刻Ｔｂｓより後である場合（ステップＳ５７０；Ｙｅｓ）、制御部１５は、挿入時刻Ｔが休憩開始時刻Ｔｂｓから所定の休憩時間Ｔｂｔだけ経過した時刻より前（Ｔ＜Ｔｂｓ＋Ｔｂｔ）かを判定する（ステップＳ５８０）。すなわち、挿入時刻Ｔが所定の休憩時間内であるかを判定する。
【００４１】
Ｔ＜Ｔｂｓ＋Ｔｂｔである場合（ステップＳ５８０；Ｙｅｓ）、制御部１５は、勤務時間ΔＴから、休憩開始時刻Ｔｂｓから挿入時刻Ｔまでの時間だけ差し引く（ステップＳ５９０）。これは、休憩開始のためのタイムカード２挿入時に、挿入時刻Ｔから休憩取得区間終了時刻Ｔｂａｅまでの間に所定の休憩時間Ｔｂｔが収まらない場合の処理であり、入場時刻Ｔｉｎから、休憩取得区間終了時刻Ｔｂａｅで休憩時間が終了となるように設定された休憩開始時刻Ｔｂｓまでを勤務時間ΔＴとする。その後、ステップＳ６１０に進む。
【００４２】
一方、Ｔ＜Ｔｂｓ＋Ｔｂｔでない場合、（ステップＳ５８０；Ｎｏ）、制御部１５は、勤務時間ΔＴから、所定の休憩時間Ｔｂｔを差し引く（ステップＳ６００）。これは、休憩取得区間内にタイムカード２の挿入が一度も無いまま、休憩取得区間後に退場する場合の処理であり、所定の休憩時間Ｔｂｔだけ休憩を取得したとして勤務時間を修正する。その後、ステップＳ６１０に進む。
【００４３】
次に、制御部１５は、上記各処理で算出された勤務時間ΔＴを累積勤務時間ｗｈに加算する（ステップＳ６１０）。これは、締め日で区切られた一定期間内の勤務時間ΔＴを積算して管理するものである。
以上で勤務時間処理が終了となる。
【００４４】
図４に戻って、勤務時間処理（ステップ１９０）の終了後、制御部１５は、入場時刻Ｔｉｎを値がないことを示すＮＵＬＬにリセットする（ステップＳ２００）。次に、制御部１５は、カード送り部１２及び印字部１３を制御して、日付と打刻カウントＮに基づいて特定される印字欄に挿入時刻Ｔを印字させ（ステップＳ２１０）、続いて、勤務時間処理で算出された勤務時間ΔＴを印字させる（ステップＳ２２０）。その後、ステップＳ２３０に進む。
【００４５】
次に、制御部１５は、メモリ１６の記憶テーブルにアクセスし、挿入されたタイムカード２に対応する打刻カウントＮを＋１する（ステップＳ２３０）。そして、制御部１５は、カード送り部１２を制御し、タイムカード２を排出させる（ステップＳ２４０）。
以上で打刻処理は終了となる。
【００４６】
上記のように勤務時間を算出するタイムレコーダ１の打刻処理について、以下５つのケースを挙げて説明する。前提として、この日は締め日ではなく、休憩取得区間は１１：００（Ｔｂａｓ）から１４：００（Ｔｂａｅ）までであり、所定の休憩時間は１時間（Ｔｂｔ）であるものとして説明する。
【００４７】
（ケース１）
８：３０に１回目の挿入（出勤）をし、１２：００に２回目の挿入（休憩開始）をし、１３：００に３回目の挿入（休憩終了）をし、１７：３０に４回目の挿入（退勤）をした場合の処理を説明する。なお、図８（ａ）は、初期状態から４回目の挿入後までの各レコードの値の変化を示す。
【００４８】
初期状態の各レコードの値は、図８（ａ）の第１行目の通りである。
１回目の挿入時、カードが認識され、挿入時刻Ｔ（８：３０）等が取得される（ステップＳ１００）。次に以下の通り判定をする。すなわち、締め日ではなく（ステップＳ１１０；Ｎｏ）、Ｎ＝０であり（ステップＳ１３０；Ｎｏ）、入場時刻Ｔｉｎはない（ステップＳ１４０；Ｎｏ）。次に、制御部１５は入場時刻Ｔｉｎに挿入時刻Ｔ（８：３０）を設定する。そして、休憩判定処理（ステップＳ１６０）に入り、休憩開始時刻Ｔｂｓはなく（ステップＳ４００；Ｎｏ）、挿入時刻Ｔは休憩取得区間開始時刻Ｔｂａｓより前である（ステップＳ４１０；Ｎｏ）ので、休憩開始時刻Ｔｂｓを設定せずに休憩判定処理を終える。次に、所定の印字欄２１に挿入時刻Ｔが印字される（ステップＳ１７０）。そして、制御部１５は打刻カウントＮを＋１し（ステップＳ２３０）、タイムカード２を排出する（ステップＳ２４０）。このとき、各レコードの値は、図８（ａ）の第２行目のように変化する。
【００４９】
２回目の挿入時、カードが認識され、挿入時刻Ｔ（１２：００）等が取得される（ステップＳ１００）。次に以下の通り判定をする。すなわち、締め日ではなく（ステップＳ１１０；Ｎｏ）、Ｎ＝１であり（ステップＳ１３０；Ｎｏ）、入場時刻Ｔｉｎはある（ステップＳ１４０；Ｙｅｓ）。そして、休憩判定処理（ステップＳ１８０）に入り、以下の通り判定をする。休憩開始時刻Ｔｂｓはなく（ステップＳ４００；Ｎｏ）、挿入時刻Ｔは休憩取得区間開始時刻Ｔｂａｓより後であり（ステップＳ４１０；Ｙｅｓ）、挿入時刻Ｔは休憩取得区間終了時刻Ｔｂａｅより前であり（ステップＳ４２０；Ｙｅｓ）、Ｔｂａｅ−Ｔ≧Ｔｂｔである（ステップＳ４３０；Ｙｅｓ）。制御部１５は、休憩開始時間Ｔｂｓに挿入時刻Ｔを設定して（ステップＳ４４０）、休憩判定処理を終える。そして、勤務時間処理（ステップＳ１９０）に入る。まず、暫定の勤務時間ΔＴ（３：３０）を求め（ステップＳ５００）、続いて以下の判定をする。すなわち、休憩開始時刻Ｔｂｓがあり（ステップＳ５１０；Ｙｅｓ）、Ｔｂｓ＞Ｔｉｎであり（ステップＳ５２０；Ｎｏ）、Ｔｂｓ＝Ｔである（ステップＳ５７０；Ｎｏ）。したがって、勤務時間の修正はされず、累積勤務時間ｗｈに勤務時間ΔＴを加算して（ステップＳ６１０）勤務時間処理を終える。続いて、制御部１５はＴｉｎをリセットしてＮＵＬＬとする（ステップＳ２００）。次に、所定の印字欄２１に挿入時刻Ｔと勤務時間ΔＴが印字される（ステップＳ２１０及びステップＳ２２０）。そして、制御部１５は打刻カウントＮを＋１し（ステップＳ２３０）、タイムカード２を排出する（ステップＳ２４０）。このとき、各レコードの値は、図８（ａ）の第３行目のように変化する。
【００５０】
３回目の挿入時、カードが認識され、挿入時刻Ｔ（１３：００）等が取得される（ステップＳ１００）。次に以下の通り判定をする。すなわち、締め日ではなく（ステップＳ１１０；Ｎｏ）、Ｎ＝２であり（ステップＳ１３０；Ｎｏ）、入場時刻Ｔｉｎはない（ステップＳ１４０；Ｎｏ）。次に、制御部１５は入場時刻Ｔｉｎに挿入時刻Ｔを設定する。そして、休憩判定処理（ステップＳ１６０）に入り、休憩開始時刻Ｔｂｓがある（ステップＳ４００；Ｙｅｓ）ので、休憩開始時刻Ｔｂｓを設定せずに休憩判定処理を終える。次に、所定の印字欄２１に挿入時刻Ｔが印字される（ステップＳ１７０）。そして、制御部１５は打刻カウントＮを＋１し（ステップＳ２３０）、タイムカード２を排出する（ステップＳ２４０）。このとき、各レコードの値は、図８（ａ）の第４行目のように変化する。
【００５１】
４回目の挿入時、カードが認識され、挿入時刻Ｔ（１７：３０）等が取得される（ステップＳ１００）。次に以下の通り判定をする。すなわち、締め日ではなく（ステップＳ１１０；Ｎｏ）、Ｎ＝３であり（ステップＳ１３０；Ｎｏ）、入場時刻Ｔｉｎはある（ステップＳ１４０；Ｙｅｓ）。そして、休憩判定処理（ステップＳ１８０）に入り、休憩開始時刻Ｔｂｓがある（ステップＳ４００；Ｙｅｓ）ので、休憩開始時刻Ｔｂｓを設定せずに休憩判定処理を終える。そして、勤務時間処理（ステップＳ１９０）に入る。まず、暫定の勤務時間ΔＴ（４：３０）を求め（ステップＳ５００）、続いて以下の判定をする。すなわち、休憩開始時刻Ｔｂｓがあり（ステップＳ５１０；Ｙｅｓ）、Ｔｂｓ≦Ｔｉｎであり（ステップＳ５２０；Ｙｅｓ）、Ｔｉｎ＝Ｔｂｓ＋Ｔｂｔである（ステップＳ５３０；Ｎｏ）。したがって、勤務時間の修正はされず、累積勤務時間ｗｈに勤務時間ΔＴを加算して（ステップＳ６１０）勤務時間処理を終える。続いて、制御部１５は入場時刻ＴｉｎをリセットしてＮＵＬＬとする（ステップＳ２００）。次に、所定の印字欄２１に挿入時刻Ｔと勤務時間ΔＴが印字される（ステップＳ２１０及びステップＳ２２０）。そして、制御部１５はＮを＋１し（ステップＳ２３０）、タイムカード２を排出する（ステップＳ２４０）。このとき、各レコードの値は、図８（ａ）の第５行目のように変化する。
【００５２】
（ケース２）
８：３０に１回目の挿入（出勤）をし、１２：００に２回目の挿入（休憩開始）をし、１２：５０に３回目の挿入（休憩終了）をし、１７：３０に４回目の挿入（退勤）をした場合の処理を説明する。ケース１との差違は、所定の休憩時間Ｔｂｔの経過前に休憩から戻っている点である。なお、図８（ｂ）は、初期状態から４回目の挿入後までの各レコードの値の変化を示す。
【００５３】
１回目及び２回目の挿入時の処理はケース１と同じであるので、理解を容易にするため説明を省略する。また、３回目の挿入時についても、挿入時刻Ｔ及び入場時刻Ｔｉｎが１２：５０となる点以外は、ケース１と同じであるので説明を省略し、ケース１と異なる処理をする４回目の挿入時について詳述する。なお、１回目から３回目の挿入時の各レコード値は図８（ｂ）の第２から第４行目のように変化する。
【００５４】
４回目の挿入時、カードが認識され、挿入時刻Ｔ（１７：３０）等が取得される（ステップＳ１００）。次に以下の通り判定をする。すなわち、締め日ではなく（ステップＳ１１０；Ｎｏ）、Ｎ＝３であり（ステップＳ１３０；Ｎｏ）、入場時刻Ｔｉｎはある（ステップＳ１４０；Ｙｅｓ）。そして、休憩判定処理（ステップＳ１８０）に入り、休憩開始時刻Ｔｂｓがある（ステップＳ４００；Ｙｅｓ）ので、休憩開始時刻Ｔｂｓを設定せずに休憩判定処理を終える。そして、勤務時間処理（ステップＳ１９０）に入る。まず、暫定の勤務時間ΔＴ（４：４０）を求め（ステップＳ５００）、続いて以下の判定をする。すなわち、休憩開始時刻Ｔｂｓがあり（ステップＳ５１０；Ｙｅｓ）、Ｔｂｓ≦Ｔｉｎであり（ステップＳ５２０；Ｙｅｓ）、Ｔｉｎ＜Ｔｂｓ＋Ｔｂｔであり（ステップＳ５３０；Ｙｅｓ）、Ｔ＜Ｔｂｓ＋Ｔｂｔでない（ステップＳ５４０；Ｎｏ）。制御部１５は、勤務時間ΔＴからＴｂｓ＋Ｔｂｔ−Ｔｉｎを差し引き（ステップＳ５６０）、休憩開始時刻Ｔｂｓから所定の休憩時間Ｔｂｔだけ経過した時刻から勤務したものとして勤務時間ΔＴを算出する。すなわち、勤務時間ΔＴは４：３０と算出される。次に、累積勤務時間ｗｈに勤務時間ΔＴを加算して（ステップＳ６１０）勤務時間処理を終える。続いて、制御部１５は入場時刻ＴｉｎをリセットしてＮＵＬＬとする（ステップＳ２００）。次に、所定の印字欄２１に挿入時刻Ｔと勤務時間ΔＴが印字される（ステップＳ２１０及びステップＳ２２０）。そして、制御部１５は打刻カウントＮを＋１し（ステップＳ２３０）、タイムカード２を排出する（ステップＳ２４０）。このとき、各レコードの値は、図８（ｂ）の第５行目のように変化する。
【００５５】
（ケース３）
８：３０に１回目の挿入（出勤）をし、１３：３０に２回目の挿入（休憩開始）をし、１４：００に３回目の挿入（休憩終了）をし、１７：３０に４回目の挿入（退勤）をした場合の処理を説明する。なお、図８（ｃ）は、初期状態から４回目の挿入後までの各レコードの値の変化を示す。
【００５６】
１回目、３回目及び４回目の挿入時の処理はケース１と同じであるので、理解を容易にするため説明を省略し、２回目の挿入時についてのみ以下で詳述する。なお、１回目、３回目及び４回目の各挿入時、各レコード値はそれぞれ図８（ｃ）の第２行目、４行目及び５行目のように変化する。
【００５７】
２回目の挿入時、カードが認識され、挿入時刻Ｔ（１３：３０）等が取得される（ステップＳ１００）。次に以下の通り判定をする。すなわち、締め日ではなく（ステップＳ１１０；Ｎｏ）、Ｎ＝１であり（ステップＳ１３０；Ｎｏ）、入場時刻Ｔｉｎはある（ステップＳ１４０；Ｙｅｓ）。そして、休憩判定処理（ステップＳ１８０）に入り、以下の通り判定をする。休憩開始時間Ｔｂｓはなく（ステップＳ４００；Ｎｏ）、挿入時刻Ｔは休憩開始時間Ｔｂａｓより後であり（ステップＳ４１０；Ｙｅｓ）、挿入時刻Ｔは休憩取得区間終了時刻Ｔｂａｅより前であり（ステップＳ４２０；Ｙｅｓ）、Ｔｂａｅ−Ｔ＜Ｔｂｔである（ステップＳ４３０；Ｎｏ）。制御部１５は、休憩開始時間ＴｂｓにＴｂａｅ−Ｔｂｔを設定して（ステップＳ４５０）、休憩判定処理を終える。そして、勤務時間処理（ステップＳ１９０）に入る。まず、暫定の勤務時間ΔＴ（５：００）を求め（ステップＳ５００）、続いて以下の判定をする。すなわち、休憩開始時間Ｔｂｓがあり（ステップＳ５１０；Ｙｅｓ）、Ｔｂｓ＞Ｔｉｎであり（ステップＳ５２０；Ｎｏ）、Ｔ＞Ｔｂｓであり（ステップＳ５７０；Ｙｅｓ）、Ｔ＜Ｔｂｓ＋Ｔｂｔである（ステップＳ５８０；Ｙｅｓ）。制御部１５は、勤務時間ΔＴからＴ−Ｔｂｓを差し引き（ステップＳ５９０）、休憩取得区間終了時刻Ｔｂａｅよりも所定の休憩時間Ｔｂｔだけ前から休憩を取得したものとして勤務時間ΔＴを算出する。すなわち、勤務時間ΔＴは４：３０と算出される。次に、累積勤務時間ｗｈに勤務時間ΔＴを加算して（ステップＳ６１０）勤務時間処理を終える。続いて、制御部１５は入場時刻ＴｉｎをリセットしてＮＵＬＬとする（ステップＳ２００）。次に、所定の印字欄２１に挿入時刻Ｔと勤務時間ΔＴが印字される（ステップＳ２１０及びステップＳ２２０）。そして、制御部１５は打刻カウントＮを＋１し（ステップＳ２３０）、タイムカード２を排出する（ステップＳ２４０）。このとき、各レコードの値は、図８（ｃ）の第３行目のように変化する。
なお、上述のように、３回目及び４回目の挿入時は、ケース１と同様である。
【００５８】
（ケース４）
８：３０に１回目の挿入（出勤）をし、１７：３０に２回目の挿入（退勤）をした場合の処理を説明する。すなわち、出勤から退勤までの間に、休憩のためのタイムカード２を挿入しなかった場合である。なお、図８（ｄ）は、初期状態から２回目の挿入後までの各レコードの値の変化を示す。
【００５９】
１回目の挿入時の処理はケース１と同じであるので、理解を容易にするため説明を省略し、２回目の挿入時についてのみ以下で詳述する。なお、１回目の挿入時、各レコード値は図８（ｄ）の第２行目のように変化する。
【００６０】
２回目の挿入時、カードが認識され、挿入時刻Ｔ（１７：３０）等が取得される（ステップＳ１００）。次に以下の通り判定をする。すなわち、締め日ではなく（ステップＳ１１０；Ｎｏ）、Ｎ＝１であり（ステップＳ１３０；Ｎｏ）、入場時刻Ｔｉｎはある（ステップＳ１４０；Ｙｅｓ）。そして、休憩判定処理（ステップＳ１８０）に入り、以下の通り判定をする。休憩開始時刻Ｔｂｓはなく（ステップＳ４００；Ｎｏ）、挿入時刻Ｔは休憩取得区間開始時刻Ｔｂａｓより後であり（ステップＳ４１０；Ｙｅｓ）、挿入時間Ｔは休憩取得区間終了時刻Ｔｂａｅより後である（ステップＳ４２０；Ｎｏ）。制御部１５は、休憩開始時間ＴｂｓにＴｂａｅ−Ｔｂｔを設定して（ステップＳ４５０）、休憩判定処理を終える。そして、勤務時間処理（ステップＳ１９０）に入る。まず、暫定の勤務時間ΔＴ（９：００）を求め（ステップＳ５００）、続いて以下の判定をする。すなわち、休憩開始時刻Ｔｂｓがあり（ステップＳ５１０；Ｙｅｓ）、Ｔｂｓ＞Ｔｉｎであり（ステップＳ５２０；Ｎｏ）、Ｔ＞Ｔｂｓであり（ステップＳ５７０；Ｙｅｓ）、Ｔ＞Ｔｂｓ＋Ｔｂｔである（ステップＳ５８０；Ｎｏ）。制御部１５は、勤務時間ΔＴから所定の休憩時間Ｔｂｔを差し引き（ステップＳ６００）、出勤から退勤までの間に所定の休憩時間Ｔｂｔを取得したものとして勤務時間ΔＴを算出する。すなわち、勤務時間ΔＴは８：００と算出される。次に、累積勤務時間ｗｈに勤務時間ΔＴを加算して（ステップＳ６１０）勤務時間処理を終える。続いて、制御部１５は入場時刻ＴｉｎをリセットしてＮＵＬＬとする（ステップＳ２００）。次に、所定の印字欄２１に挿入時刻Ｔと勤務時間ΔＴが印字される（ステップＳ２１０及びステップＳ２２０）。そして、制御部１５は打刻カウントＮを＋１し（ステップＳ２３０）、タイムカード２を排出する（ステップＳ２４０）。このとき、各レコードの値は、図８（ｄ）の第３行目のように変化する。
【００６１】
（ケース５）
１１：３０に１回目の挿入（出勤）をし、１２：００に２回目の挿入（休憩開始）をし、１２：３０に３回目の挿入（休憩終了）をし、１７：３０に４回目の挿入（退勤）をした場合の処理を説明する。なお、図８（ｅ）は、初期状態から４回目の挿入後までの各レコードの値の変化を示す。
【００６２】
１回目の挿入時、カードが認識され、挿入時刻Ｔ（１１：３０）等が取得される（ステップＳ１００）。次に以下の通り判定をする。すなわち、締め日ではなく（ステップＳ１１０；Ｎｏ）、Ｎ＝０であり（ステップＳ１３０；Ｎｏ）、入場時刻Ｔｉｎはない（ステップＳ１４０；Ｎｏ）。次に、制御部１５は入場時刻Ｔｉｎに挿入時刻Ｔ（１１：３０）を設定する。そして、休憩判定処理（ステップＳ１６０）に入り、休憩開始時刻Ｔｂｓはなく（ステップＳ４００；Ｎｏ）、挿入時刻Ｔは休憩取得区間開始時刻Ｔｂａｓより後であり（ステップＳ４１０；Ｙｅｓ）、挿入時刻Ｔは休憩取得区間終了時刻Ｔｂａｅより前であり（ステップＳ４２０；Ｙｅｓ）、Ｔｂａｅ−Ｔ≧Ｔｂｔである（ステップＳ４３０；Ｙｅｓ）。制御部１５は、休憩開始時間Ｔｂｓに挿入時刻Ｔを設定して（ステップＳ４４０）、休憩判定処理を終える。次に、所定の印字欄２１に挿入時刻Ｔが印字される（ステップＳ１７０）。そして、制御部１５は打刻カウントＮを＋１し（ステップＳ２３０）、タイムカード２を排出する（ステップＳ２４０）。このとき、各レコードの値は、図８（ｅ）の第２行目のように変化する。
【００６３】
２回目の挿入時、カードが認識され、挿入時刻Ｔ（１２：００）等が取得される（ステップＳ１００）。次に以下の通り判定をする。すなわち、締め日ではなく（ステップＳ１１０；Ｎｏ）、Ｎ＝１であり（ステップＳ１３０；Ｎｏ）、入場時刻Ｔｉｎはある（ステップＳ１４０；Ｙｅｓ）。そして、休憩判定処理（ステップＳ１８０）に入り、休憩開始時刻Ｔｂｓがある（ステップＳ４００；Ｙｅｓ）ので、休憩開始時刻Ｔｂｓを設定せずに休憩判定処理を終える。そして、勤務時間処理（ステップＳ１９０）に入る。まず、暫定の勤務時間ΔＴ（０：３０）を求め（ステップＳ５００）、続いて以下の判定をする。すなわち、休憩開始時刻Ｔｂｓがあり（ステップＳ５１０；Ｙｅｓ）、Ｔｂｓ＝Ｔｉｎであり（ステップＳ５２０；Ｙｅｓ）、Ｔｉｎ＜Ｔｂｓ＋Ｔｂｔであり（ステップＳ５３０；Ｙｅｓ）、Ｔ＜Ｔｂｓ＋Ｔｂｔである。したがって、勤務時間ΔＴは０に設定され（ステップＳ５５０）、累積勤務時間ｗｈに勤務時間ΔＴを加算して（ステップＳ６１０）勤務時間処理を終える。続いて、制御部１５は入場時刻ＴｉｎをリセットしてＮＵＬＬとする（ステップＳ２００）。次に、所定の印字欄２１に挿入時刻Ｔと勤務時間ΔＴが印字される（ステップＳ２１０及びステップＳ２２０）。そして、制御部１５は打刻カウントＮを＋１し（ステップＳ２３０）、タイムカード２を排出する（ステップＳ２４０）。このとき、各レコードの値は、図８（ｅ）の第３行目のように変化する。
【００６４】
以下、３回目及び４回目の挿入時の処理は、ケース１と同様であるので、冗長な記載を避けるため説明を省略する。なお、３回目及び４回目の各挿入時、各レコード値はそれぞれ図８（ｅ）の第４行目及び第５行目のように変化する。
【００６５】
以上のように、本発明のタイムレコーダは、休憩取得区間の残り時間に応じて休憩開始時間を特定し、退場時の勤務時間処理に打刻状況に応じて休憩時間を差し引く処理をすることによって、特定の期間内に自由に休憩が取得できる制度に対応して適切に勤務時間を算定できる。
【００６６】
上記実施の形態においては、１の筐体に全構成要素が含まれ、スタンドアロンで使用されるタイムレコーダを例に説明したが、本発明のタイムレコーダは、各構成要素が複数の場所に分散されて配置されて構成されるタイムレコーダにも適用できる。
このような例として、制御部、計時部、メモリの機能を備えたサーバが本社に配置され、支社、工場等に印字部、カード送り部、カード識別部を備えた端末が配置され、これら通信回線を介して接続されて全体としてタイムレコーダとして機能する場合が挙げられる。
【００６７】
また、上記実施の形態においては、休憩取得区間を１つとしたが、本発明のタイムレコーダは、複数の休憩取得区間に対応した構成にも適用できる。図６に示した休憩判定処理を休憩取得区間毎に連続して設け、図７の勤務時間処理においてステップＳ５００乃至Ｓ６００の処理を休憩取得区間毎に連続して設けることにより、複数の休憩取得区間毎に適切に勤務時間を算定することが可能となる。
例えば、２つの休憩取得区間、第１、第２の休憩取得区間に対応する処理構成については、第１、第２の休憩取得区間のそれぞれの休憩取得区間開始時刻をＴｂaｓ１、Ｔｂａｓ２とし、休憩取得区間終了時刻をＴｂａｅ１、Ｔｂａｅ２とし、休憩時間をＴｂｔ１、Ｔｂｔ２とし、休憩開始時刻をＴｂｓ１、Ｔｂｓ２とし、Ｔｂａｓ１＜Ｔｂａｅ１＜Ｔｂａｓ２＜Ｔｂａｅ２とすれば、図９の休憩判定処理、図１０の勤務時間処理のようになる。
【００６８】
図９において、ステップＳ４００１乃至４５０１はそれぞれ図６のステップＳ４００乃至４５０に対応する処理であり、ステップＳ４００２乃至４５０２についても同様にそれぞれステップＳ４００乃至４５０に対応する。図１０において、ステップＳ５１０１乃至６００１はそれぞれ図７のステップＳ５１０乃至６００に対応する処理であり、ステップＳ５１０２乃至６００２についても同様にそれぞれステップＳ５１０乃至６００に対応する。図９、図１０に示すこれらの各ステップの処理については、図６の休憩判定処理、図７の勤務時間処理と対応するもので詳しくは述べない。
【００６９】
図９のフローチャートにおいて、ステップＳ４００１乃至４５０１によって、タイムカード２の挿入時刻が第１の休憩取得区間の休憩取得区間開始時刻Ｔｂaｓ１に達すれば休憩開始時刻をＴｂｓ１が設定される。その後、ステップＳ４００２乃至４５０２によって、タイムカード２の挿入時刻が第２の休憩取得区間の休憩取得区間開始時刻Ｔｂaｓ２の以降であれば休憩開始時刻をＴｂｓ２が設定される。
【００７０】
図１０のフローチャートにおいては、図６と同様のステップＳ５００の処理の後、休憩取得区間開始時刻Ｔｂaｓ１が設定されていれば、第１の休憩取得区間の休憩時間Ｔｂｔ１を加味した勤務時間ΔＴの補正のためのステップＳ５１０１乃至６００１が実行される。ここで、第２の休憩取得区間の休憩時間Ｔｂｔ２を加味した勤務時間ΔＴの補正のためのステップＳ５１０２乃至６００２については、休憩取得区間開始時刻Ｔｂaｓ２が設定されるまで実行されず、図６と同様のステップＳ６１０の処理が実行される。このため、タイムカード２の挿入時刻が第２の休憩取得区間の休憩取得区間開始時刻Ｔｂaｓ２の以降となるまで、上述の図６の休憩判定処理、図７の勤務時間処理と同様の結果となる。この後、タイムカード２の挿入時刻が休憩取得区間開始時刻Ｔｂaｓ２の以降となると、休憩時間Ｔｂｔ２を加味した勤務時間ΔＴの補正のためのステップＳ５１０２乃至６００２が実行される。これにより、第１、第２の休憩取得区間毎の勤務時間ΔＴの補正が順次行われ、適切な勤務時間が算定される。
【００７１】
このように、本発明のタイムレコーダは、複数の休憩取得区間に対応した構成にも適用できる。
【図面の簡単な説明】
【００７２】
【図１】本発明の実施の形態のタイムレコーダの構成を示すブロック図である。
【図２】本発明の実施の形態のタイムカードの構成を示す平面図である。
【図３】記憶テーブルのフォーマットを示す図である。
【図４】タイムレコーダによる打刻処理の手順を示すフローチャートである。
【図５】タイムレコーダによる集計処理の手順を示すフローチャートである。
【図６】タイムレコーダによる休憩判定処理の手順を示すフローチャートである。
【図７】タイムレコーダによる勤務時間処理の手順を示すフローチャートである。
【図８】記憶テーブルの各値の変化を示す図である。
【図９】タイムレコーダによる休憩判定処理の手順を示すフローチャートである。
【図１０】タイムレコーダによる勤務時間処理の手順を示すフローチャートである。
【符号の説明】
【００７３】
１    タイムレコーダ
２    タイムカード
１１    カード識別部
１２    カード送り部
１３    印字部
１４    計時部
１５    制御部
１６    メモリ
２１    印字欄
２２    集計欄
２３    バーコード
【図１】
2006127271.tif 000003
【図２】
2006127271.tif 000004
【図３】
2006127271.tif 000005
【図４】
2006127271.tif 000006
【図５】
2006127271.tif 000007
【図６】
2006127271.tif 000008
【図７】
2006127271.tif 000009
【図８】
2006127271.tif 000010
【図９】
2006127271.tif 000011
【図１０】
2006127271.tif 000012