以下、情報処理装置等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
(実施の形態)
図1は、本実施の形態における情報処理装置のブロック図である。
情報処理装置1は、入力条件格納部101、帳票入力受付部102、入力情報出力部103、帳票識別情報取得部104、ユーザ識別情報受付部105、入力制御部107、画面構成情報格納部108、入力帳票指定受付部109、画面構成部110、および画面出力部111を具備する。
入力条件格納部101には、帳票に対する1以上の入力条件が格納され得る。1以上の入力条件とは、帳票を識別するための識別情報である帳票識別情報と、当該帳票に対して情報の入力が可能なユーザのユーザ識別情報と、当該ユーザが帳票の時刻として入力可能な期間を示す情報である入力期間情報とを対応付けた、帳票に対する入力条件が格納され得る。
帳票に用いられる情報は、具体的には、帳票を構成する数字や文字列等のデータである。また、帳票に用いられるデータは、通常、帳票を出力、例えば表示や印刷するために用いられる。帳票に用いられる情報は画像データや、テキストデータ等、どのような形式のデータであっても良い。帳票に用いられる情報には、時刻の情報である時刻情報を含む。時刻情報とは、例えば、帳票に入力される事象やイベント等が発生した時刻や、帳票を作成した時刻や、帳票の発行日や、帳票が有効となる時刻や、帳票の処理される時刻等を示す情報である。時刻情報は、例えば、帳簿日付や、伝票日付等の帳票日付である。ただし、時刻情報は、帳票が入力される時刻を示す情報等であってもよい。時刻情報は、具体的には、年、月、日、時、分等の単位で、帳票に用いられる入力情報に関連した事象やイベント等の発生した時刻や、帳票を作成した時刻等を特定することが可能な情報である。単位の形式や最小単位等は問わない。複数の帳票に用いられる情報は、一のデータベース等で管理されていてもよいし、各帳票別にデータベース等で管理されていても良い。一のデータベースにおいて管理される場合、帳票を出力する際には、帳票に応じて、データベースの項目を適宜、クエリ等で抽出すればよい。帳票とは、帳簿や伝票のことである。帳簿は、具体的には、取引等に関する事務上の必要事項を記入したもの、例えば、金銭や預金や品物などの動きを記入したものである。また、伝票は、取引等についてその内容を通知するための情報を記入したものである。通常、帳簿は、使用する用途や提出先等に応じて定型の書式が決まっていることが多い。
帳票識別情報とは、帳票に割り当てられた帳票を識別するための識別情報である。帳票識別情報は、帳票同士を識別できる情報であれば良く、例えば帳票の名称や、帳票に割り当てられた番号等である。また、帳票識別情報は、情報処理装置1が実行可能なメニューに対応した識別情報と、当該メニューにおいて利用可能な帳票の識別情報との組み合わせ等であっても良い。また、帳票識別情報は、例えば、帳票の種類等を指定する情報と、帳票を利用するユーザ識別情報や、帳票に対する情報の入力等が行われる時期、例えば年度や月等を指定する情報等との組み合わせを、帳票識別情報と考えても良い。
ユーザ識別情報とは、帳票に対して情報の入力が可能なユーザを識別するための、ユーザに対応付けられた識別情報である。ユーザ識別情報は、ユーザが識別可能な情報であれば、どのような情報であっても良い。ユーザ識別情報は、例えば、ユーザ名やユーザIDや社員番号等である。またユーザ識別情報は、必ずしもユーザと1対1で対応していなくても良く、ユーザの属するグループや階級等の属性を示す情報であっても良い。ユーザ識別情報を、例えば、当該情報処理装置1を利用する際のログイン等に入力されるログインIDであっても良い。帳票に対して入力される情報とは、具体的には帳票に用いられる情報である。
入力期間情報とは、ユーザが帳票の時刻として入力可能な期間を示す情報である。入力可能な期間を示す情報とは、結果的に情報が入力可能な期間を示すことができる情報であればよく、入力が不可能な期間以外が、入力が可能な期間であることから、入力が不可能な期間を示しても良い。入力期間情報とは、具体的には、帳票に対し、ユーザが帳票の日付として入力可能な期間を示す情報である。ここで述べる期間は、期間の開始と終了の年、月、日、時等で示されても良いし、期間の開始または終了の年、月、日、時等だけで示されても良い。また、開始または終了の年、月、日、時等と、期間の長さとの組み合わせで示されても良い。また、この期間の単位は、年だけであっても、月だけであっても、日だけであっても、時だけであっても、これらの組み合わせであってもよく、その最小単位や、最大単位、単位の形式等は問わない。具体的には、帳票に対する情報の入力が行われた時刻が、この入力期間情報が示す期間内の時刻であるか否により、帳票に対する入力が、入力可能な期間に行われたか否か判断される。
帳票に対する入力条件とは、具体的には、後述する帳票入力受付部102に対して入力される帳票に用いられる情報を、入力させるか入力させないかや、有効とするか無効とするかを判断するために用いられる情報である。入力条件は、具体的には、帳票識別情報と、ユーザ識別情報と、入力期間情報とを対応付けた情報であり、帳票入力受付部102に対して情報が入力された際の、入力対象となる帳票の帳票識別情報と、情報を入力したユーザのユーザ識別情報と、情報を入力した時刻の情報の組み合わせが、上記の入力条件を全て満たすか否かにより、帳票入力受付部102に対して入力される情報を、有効とするか無効とするかが、後述する入力制御部107により判断される。1つの入力条件を構成する帳票識別情報と、ユーザ識別情報と、入力期間情報とは、例えば一つのレコードの3つの属性として管理される。
入力条件格納部101は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
帳票入力受付部102は、帳票に用いられる情報である入力情報の入力を受け付ける。帳票に用いられる情報とは、帳票を構成する1以上の項目に入力される情報である。帳票に用いられる情報は、上述した時刻情報も含む。入力情報は、通常、数値や文字列の情報であるが、画像情報等であっても良く、入力情報のデータ形式は問わない。ここで述べる受付とは、例えば、入力手段からの受付や、他の機器等から送信される入力信号の受信や、記録媒体等からの情報の読み出し等である。また、時刻情報については、帳票に対する入力が行われる際等に、情報処理装置1の内部に設けられている時計(図示せず)から自動的に入力されるようにしても良い。入力情報の入力手段は、テンキーやキーボードやマウスやメニュー画面によるもの等、何でも良い。ここでは、例として、帳票入力受付部102が、画面出力部111が出力した画面に対する入力である入力情報を受け付ける場合について説明する。帳票入力受付部102は、テンキーやキーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
入力情報出力部103は、入力情報を出力する。ここで述べる出力とは、ローカルなハードディスク等の記憶媒体への蓄積、サーバ装置等の外部装置への送信、入力情報を処理する処理部等へ情報を渡すことなどである。例えば、入力情報出力部103は、1以上の帳票を構成する項目の情報を管理しているデータベース等に、入力情報を蓄積する。入力情報出力部103は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
帳票識別情報取得部104は、入力対象となっている帳票について、当該帳票を識別するための識別情報である帳票識別情報を取得する。帳票識別情報取得部104が、入力対象となっている帳票の帳票識別情報をどのように取得するかは問わない。例えば、図示しない受付部等に対してユーザが入力した、入力対象となっている帳票の帳票識別情報を、帳票識別情報取得部104が取得しても良い。また、予め帳票に用いられる情報を入力するための入力インターフェースを構成するための情報に、帳票識別情報を対応付けておき、入力インターフェースが出力される際に、この出力される入力インターフェースに対応した帳票識別情報を取得しても良い。ここでは例として、帳票識別情報取得部104が、後述する入力帳票指定受付部109が受け付けた帳票識別情報を取得する場合について説明する。帳票識別情報取得部104は、通常、MPUやメモリ等から実現され得る。帳票識別情報取得部104の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
ユーザ識別情報受付部105は、ユーザを識別する情報であるユーザ識別情報を受け付ける。ユーザ識別情報受付部105が、ユーザ識別情報をどのように取得するかは問わない。例えば、後述する画面出力部111が、帳票に対する入力情報を入力するための画面を表示する前に、ユーザ識別情報を入力するための画面を出力するようにしてもよい。また、情報処理装置1の起動時やログイン時に入力されるログインIDやユーザID等を、そのままユーザ識別情報として、ユーザ識別情報受付部105が受けつけるようにしても良い。ここで述べる受付とは、例えば、入力手段からの受付や、他の機器等から送信される入力信号の受信や、記録媒体等からの情報の読み出し等である。ユーザ識別情報の入力手段は、テンキーやキーボードやマウスやメニュー画面によるもの等、何でも良い。ユーザ識別情報受付部105は、テンキーやキーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
入力制御部107は、帳票識別情報取得部104が取得した帳票識別情報と、ユーザ識別情報受付部105が受け付けたユーザ識別情報と、帳票入力受付部102が受け付けた時刻情報とが、入力条件格納部101に格納されている入力条件を満たさない場合には、帳票入力受付部102に対して入力を行えないようにする、または入力を無効とする。また、入力制御部107は、入力条件の一つを満たす場合に、帳票入力受付部102に対する入力が、結果的に入力情報出力部103から出力されるようにする。具体的には、帳票に入力が行われる際に、帳票識別情報取得部104が取得した帳票識別情報と、ユーザ識別情報受付部105が受け付けたユーザ識別情報と、帳票入力受付部102が受け付けた時刻情報とが、入力条件が示す、入力を有効とするための条件のうちの一つを満たすか否か判断し、満たす場合に、帳票入力受付部102に対する入力を有効とする指示を帳票入力受付部102または入力情報出力部103に出力する。また、満たさない場合には、入力を無効とする指示を帳票入力受付部102または入力情報出力部103に出力する。なお、ここでは、入力情報を満たさないか否かの判断を行うことも、入力条件を満たすか否かを判断することと同じことであると考える。また、入力条件が、入力を無効とするための条件である場合、入力条件を満たす場合に、入力情報を無効とする指示を帳票入力受付部102または入力情報出力部103に出力する。なお、入力を行えないようにする処理とは、例えば、帳票入力受付部102に入力情報を入力するための入力インターフェースを表示させないようにしたり、入力インターフェースや入力手段等を操作できなくしたり、入力を受け付けなくする処理である。例えば、入力制御部107は、入力条件を満たす場合には、入力インターフェース等の入力のための画面を構成させる指示を画面構成部110に出すようにし、条件を満たさない場合には、入力のための画面を構成させる指示を出さないようにしても良い。また、入力を無効とする処理は、結果的に入力情報が無効化される処理であれば良く、受け付けた入力情報を破棄する処理や、入力情報出力部103に出力しないようにする処理や、入力情報出力部103が入力情報を出力しないようにする処理等である。入力制御部107は、通常、MPUやメモリ等から実現され得る。入力制御部107の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
画面構成情報格納部108は、帳票に対する入力情報を入力するための画面を構成する情報である画面構成情報を格納している。画面構成情報とは、HTML、罫線等の情報、画面を構成するための設定情報、画面構成プログラムなどである。入力情報を入力するための画面とは、例えば、帳票に用いられる入力情報を受け付けるための入力インターフェースを示す画面である。画面構成情報格納部108には、例えば、帳票、あるいは帳票識別情報に対応した画面構成情報が格納されている。画面構成情報格納部108は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
入力帳票指定受付部109は、入力対象となる帳票の帳票識別情報を受け付ける。
ここで述べる受け付けとは、例えば、入力手段からの受付や、他の機器等から送信される入力信号の受信や、記録媒体等からの情報の読み出し等である。帳票識別情報の入力手段は、テンキーやキーボードやマウスやメニュー画面によるもの等、何でも良い。入力帳票指定受付部109は、テンキーやキーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
画面構成部110は、入力帳票指定受付部109が受け付けた帳票識別情報に対応する帳票に対する画面構成情報を用いて、帳票に対する入力情報を入力するための画面を構成する。画面構成部110は、入力帳票指定受付部109が受け付けた帳票識別情報に対応する帳票に対応した画面構成情報を、画面構成情報格納部108から読み出して、この読み出した画面構成情報を用いて、帳票に対する入力情報を入力するための画面を構成する。帳票識別情報と、画面構成情報との対応関係は1:1、1:n(nは1以外の任意の整数)、n:1、n:m(mは1およびn以外の任意の整数)等、問わない。帳票に対する入力情報を入力するための画面とは、例えば、入力インターフェースとして利用される画面である。ここで述べる画面とは、例えば画面を表示するためのビットマップ等のデータと考えても良い。なお、画面構成部110は、結果的に、入力帳票指定受付部109が受け付けた帳票識別情報に対応する帳票に対応した画面構成情報を用いることができればよく、入力帳票指定受付部109が受け付けた帳票識別情報に対応する画面構成情報を用いるようにしてもよい。また、画面構成部110は、帳票入力受付部102が入力情報を受け付けた場合に、受け付けた入力情報を、入力のための画面内の、入力情報を受け付けた位置に配置した画面を構成して、画面を更新するようにしても良い。なお、画面構成部110は、入力制御部107から入力の画面を構成する指示を受け付けた場合にのみ、画面を構成するようにし、受け付けていない場合画面を構成しないようにしても良い。画面構成部110は、通常、MPUやメモリ等から実現され得る。画面構成部110の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
画面出力部111は、画面構成部110が構成した画面を出力する。ここで述べる出力とは、ディスプレイへの表示や、外部の装置への送信等を含む概念である。画面出力部111は、ディスプレイ等の出力デバイスを含むと考えても含まないと考えても良い。画面出力部111は、出力デバイスのドライバーソフト、または出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
次に、情報処理装置の動作について図2のフローチャートを用いて説明する。なお、ここでは、例として、ユーザ識別情報が、情報処理装置1に対するログオンの際に用いられるユーザIDであり、ログオン時に、ユーザ識別情報受付部105がこのユーザ識別情報を受け付ける場合を例に挙げて説明する。
(ステップS201)ユーザ識別情報受付部105が、ユーザ識別情報を受け付けたか否かを判断する。ユーザ識別情報を受け付けた場合、図示しないメモリ等の記憶媒体に一時記憶して、ステップS202に進み、受け付けていない場合、ステップS201に戻る。
(ステップS202)入力帳票指定受付部109は、帳票識別情報を受け付けたか否かを判断する。受け付けた場合、帳票識別情報取得部104が帳票識別情報を取得し、図示しないメモリ等の記憶媒体に一時記憶して、ステップS203に進み、受け付けていない場合、ステップS202に戻る。
(ステップS203)画面構成部110は、ステップS202で受け付けた帳票識別情報に対応した画面構成情報を、画面構成情報格納部108から読み出す。
(ステップS204)画面構成部110は、ステップS203において読み出した画面構成情報を用いて入力のための画面を構成する。
(ステップS205)画面出力部111は、ステップS204において構成した画面を図示しないモニタ等に出力する。
(ステップS206)帳票入力受付部102は、入力情報を受け付けたか否かを判断する。受け付けた場合、ステップS207に進み、受け付けていない場合、ステップS210に進む。
(ステップS207)帳票入力受付部102は、受け付けた入力情報を図示しないメモリ等の記憶媒体に一時記憶する。
(ステップS208)画面構成部110は、ステップS203において読み出した画面構成情報と、ステップS207において帳票入力受付部102が一時記憶した入力情報とを用いて入力のための画面を構成する。この画面は、ステップS204において構成した画面において、ステップS206において受け付けた入力情報を表示させたものである。
(ステップS209)画面出力部111は、ステップS210において構成した画面を図示しないモニタ等に出力する。
(ステップS210)帳票入力受付部102は、入力情報の入力が完了したか否かを判断する。帳票入力受付部102は、入力の完了をどのように判断しても良く、例えば、入力完了ボタンや入力完了メニューの操作が行われた場合に、入力の完了を判断しても良い。入力が完了した場合、ステップS211に進み、入力が完了していない場合、ステップS206に戻る。
(ステップS211)入力制御部107は、帳票入力受付部102が受け付けた入力情報に、時刻情報があるか否かを判断する。例えば、ステップS207において一時記憶した入力情報の中に、時刻情報があるか否かを判断する。時刻情報がある場合、ステップS212へ進み、ない場合、ステップS214に進む。
(ステップS212)入力制御部107は、ステップS201において取得したユーザ識別情報と、ステップS202において帳票識別情報取得部104が取得した帳票識別情報と、ステップS206で帳票入力受付部102が受け付けた時刻情報との組み合わせが、入力条件格納部101に格納されている入力条件のうちのいずれかを満たすか否かを判断する。具体例としては、まず、ステップS201において取得したユーザ識別情報を検索キーとして、ユーザ識別情報が一致する入力条件を検索する。つぎに、その検索により得られた入力条件のなかから、ステップS202において取得した帳票識別情報を検索キーとして、帳票識別情報が一致する入力条件を検索する。さらに、この検索により得られた入力条件のなかから、帳票入力受付部102が取得した時刻情報を検索キーとして、この時刻情報を含む期間を示す入力期間情報を有する入力条件を検索する。そして、一致する入力条件がある場合に、入力条件のいずれか一つを満たすと判断する。なお、ここでの検索は、ユーザ識別情報と、帳票識別情報と、時刻情報とを条件としたいわゆるAND検索であれば、検索を行う順番等は問わない。入力条件の一つを満たすと判断した場合、ステップS213に進み、満たさないと判断した場合、ステップS215に進む。
(ステップS213)入力情報出力部103は、ステップS208において帳票入力受付部102に入力された入力情報を出力する。例えば、入力情報出力部103は、入力情報を帳票に用いられる情報を格納するデータベース等に蓄積する。そして、ステップS202に戻る。
(ステップS214)画面出力部111は、例えば、時刻情報が入力されていないことを示すエラー表示を行う。また、時刻情報の入力を促す表示等を行っても良い。そして、ステップS206に戻る。
(ステップS215)画面出力部111は、例えば、入力条件が満たされていないことを示すエラー表示を行う。そして、入力された情報の訂正を促す表示等を行って、ステップS206に戻る。
なお、図2のフローチャートのステップS214や、ステップS215においてエラー表示を行った後は、入力情報が有効とならなければよく、ステップS206に戻る代わりに、入力情報を削除し、入力のための画面の出力を終了して、ステップS202に戻っても良い。
なお、図2のフローチャートにおいては、ログオン時に、ユーザ識別情報受付部105がユーザIDであるユーザ識別情報を受け付ける場合を例に挙げて説明したが、ユーザ識別情報は、ログオン時のユーザIDでなくても良い。この場合、ステップS204の前までにユーザ識別情報を受け付けるようにすればよい。
また、ステップS202で帳票識別情報を受け付けた後に、入力フォーム等を出力することで、時刻情報を受け付けるようにして、ここで受け付けた時刻情報と、ステップS201およびステップS202で受け付けたユーザ識別情報と帳票識別情報とが、上述したような入力条件を満たすか否か判断し、入力条件を満たす場合、ステップS203に進み、満たさない場合、ステップS202等に戻るようにしても良い。また、この場合、ステップS211やステップS212の処理等は省略しても良い。
なお、図2のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
以下、本実施の形態における情報処理装置の具体的な動作について説明する。なお、情報処理装置1が、入力のための画面を出力するモニタ(図示せず)を備えている場合を例に挙げて説明する。
ここでは例として、ユーザAがクライアントCに提出する7月分の請求書を作成するための伝票入力を行い、ユーザBがクライアントDに提出する7月分請求書を作成するための伝票入力を行う場合を例に挙げて説明する。ここでは、クライアントCの締め日等の関係上、ユーザAによるクライアントCへの7月分の請求書の作成に用いられる伝票の日付の期限が8月9日に設定されており、クライアントDの締め日等の関係上、ユーザBによるクライアントDへの7月分の請求書の作成に用いられる伝票の日付の期限が8月4日に設定されているものとする。
まず、ユーザAが、情報処理装置1に対して、ユーザ識別情報である「9401」を入力してログインすると、ユーザ識別情報受付部105がユーザ識別情報を受け付ける。そして受け付けたユーザ識別情報を、メモリ等に一時記憶する。また、このログインにより、ユーザAが情報処理装置1を操作可能となる。なお、ログイン自体の仕組み等については公知技術であるので説明は省略する。
次に、ユーザAがメニュー等を操作して、情報処理装置1に対して7月分の請求書を作成するための伝票を指定する指示を与えると、入力帳票指定受付部109が、7月分の請求書作成のための伝票を指定する帳票識別情報「1021」を受け付ける。例えば、情報処理装置1の7月分の請求書用の伝票を指定するメニュー項目等に、予め帳票識別情報「1021」を対応付けておくと、このメニュー項目を選択することで、入力帳票指定受付部109が、このメニュー項目に対応付けられた帳票識別情報「1021」を受け付ける。入力帳票指定受付部109は、受け付けた帳票識別情報をメモリ等に一時記憶する。
入力帳票指定受付部109が、帳票識別情報「1021」を受け付けると、帳票識別情報取得部104は、入力帳票指定受付部109が受け付けた帳票識別情報「1021」を取得し、図示しないメモリ等に蓄積する。
画面構成部110は、帳票識別情報「1021」に対応した画面構成情報を、画面構成情報格納部108から読み出す。具体的には、画面構成情報格納部108には、予め、情報処理装置1が処理可能な帳票に対応した画面構成情報が格納されているとともに、各画面構成情報と、これに対応する帳票を識別する帳票識別情報とが、対応付けられて管理されている。具体的には、対応する画面構成情報と、帳票とが、一つのレコードの2つの属性値として管理されている。そして、入力帳票指定受付部109が受け付けた帳票識別情報を検索キーとして用いて検索を行うことで、対応する画面構成情報を検出して読み出す。
図4は、帳票識別情報が「1021」である画面構成情報を示す図である。画面構成情報は、画面において、表示する入力用のフィールドを指定するための属性である「項目」と、そのデータタイプを示す「データタイプ」という2つの属性を有している。なお、画面構成情報には、この2つの属性以外に、罫線や、タイトル等を表示するための情報も含んでいるが、ここでは省略する。
画面構成部110は、図4に示したような帳票識別情報「1021」に対応した画面構成情報を用いて、7月分の請求書の作成に用いられる伝票の画面を構成する。具体的には、図4に示した項目に対応した入力フィールドを備えた画面を構成する。そして、構成した画面を画面出力部111がモニタに表示する。表示例を図5に示す。なお、図5において、入力フィールド51は、時刻情報である「伝票日付」が、入力されるフィールドであるとする。
次に、ユーザAが、図5に示すような入力画面を見ながらマウスやキーボード等を操作して、数値や文字列等の入力情報を入力すると、帳票入力受付部102は、入力制御部107から、入力情報を有効とする指示を受けているため、この入力情報を受け付け、メモリ等に一時記憶する。入力情報は、具体的には、入力先として指定された入力フィールドの項目と対応付けて一時記憶される。
例えば、ユーザAが、日付が、「平成19年8月6日」である時刻の情報を、メニュー等を操作して入力フィールド51に入力すると、帳票入力受付部102は、「平成19年8月6日」の時刻情報を取得する。ここでは、時刻情報は、年月日の情報とする。
また、この入力情報と画面構成情報とを用いて、画面構成部110は、入力情報を加えた画面を構成する。そして構成した画面が画面出力部111によりモニタに表示される。表示例を図6に示す。
次に、ユーザAが、入力情報の入力を繰り返し行った後、マウス等を操作して、図6に示したような「完了」ボタン50を押す、あるいは入力が完了したことを示すメニュー操作等を行ったとする。
この操作に応じて、入力制御部107は、まず、帳票入力受付部102が受け付けた入力情報に、時刻情報があるか否かを判断する。具体的には、図5に示した入力フィールド51に、時刻を示す情報が含まれているか否かを判断する。時刻情報がないと判断された場合、時刻情報の入力を促す情報をモニタ等に表示して、再度、図6に示すような画面を表示して、入力情報の受付を行う。ここでは、入力フィールド51に、時刻を示す情報が含まれており、時刻情報があると判断されたとする。
入力制御部107は、ユーザ識別情報と、帳票識別情報と、時刻情報とを、それぞれ、ユーザ識別情報受付部105、帳票識別情報取得部104、帳票入力受付部102から取得する。あるいはそれぞれが一時記憶したメモリ等から読み出す。
つぎに、入力制御部107は、取得したユーザ識別情報「9401」と、帳票識別情報「1021」と、時刻情報「平成19年8月6日」とが、入力条件格納部101に格納されている入力条件のいずれか一つを満たすか否かを判断する。
図3は、入力条件格納部101に格納されている入力条件を管理するための入力条件管理表である。入力条件管理表は、「ID」、「ユーザID」、「帳票ID」、「入力期間」という属性を有している。「ID」は、入力条件のレコードを管理する識別情報である。「ユーザID」は、ユーザ識別情報に相当する。「帳票ID」は、帳票識別情報に相当する。「入力期間」は、入力期間情報に相当する。ここでは、入力期間情報を、帳票の時刻、ここでは日付として入力可能な期間の開始日と終了日とで表している。
入力制御部107は、ユーザ識別情報「9401」と、帳票識別情報「1021」と、時刻情報「平成19年8月6日」とをそれぞれ検索キーとして用いて、図3に示した入力条件管理表により管理される入力条件のレコードに、「ユーザID」がユーザ識別情報「9401」と一致し、かつ「帳票ID」が帳票識別情報「1021」と一致し、かつ「入力期間」が示す期間が、時刻情報「平成19年8月6日」が示す日時を含むレコードを検索する。ここでは、「ID」が「002」のレコードが、全ての条件を満たすレコードとして検索される。これにより、入力制御部107は、ユーザ識別情報「9401」と、帳票識別情報「1021」と、時刻情報「平成19年8月6日」とが、入力条件格納部101に格納されている入力条件のいずれか一つを満たすと判断する。
そして、入力制御部107は、帳票入力受付部102に対して、入力情報を有効とする指示を出す。
入力情報出力部103は、入力情報を有効とする指示に応じて、帳票入力受付部102が受け付けた入力情報を出力する。ここでは例として、入力情報出力部103が、帳票入力受付部102が受け付けた入力情報を、帳票に用いられる情報を格納している格納部(図示せず)に蓄積する。
図7は、図示しない格納部等に格納されている帳票に用いられる情報を管理している管理表である。例えばこの管理表は帳票に用いられる情報を管理するデータベースと考えても良い。この管理表は、属性としてレコードを管理する「ID」と、図4に示したような画面構成情報が有する項目に対応した属性を含む属性を有している。
入力情報出力部103が蓄積した入力情報は、例えば、当該入力情報に対応付けられていた項目に従って図7に示す管理表に割り当てられ、管理される。
このように、ユーザAは、7月分の請求書を作成するための帳票識別情報が「1021」である伝票として、平成19年8月6日付の伝票を作成することができる。
次に、ユーザBが、情報処理装置1に対して、ユーザ識別情報である「9403」を入力してログインすると、ユーザ識別情報受付部105がユーザ識別情報を受け付ける。そして受け付けたユーザ識別情報を、メモリ等に一時記憶する。この時点で、一時的に、情報処理装置1の利用ユーザがユーザBに切り替わり、ユーザBが情報処理装置1を操作可能となる。
次に、ユーザBがメニュー等を操作して、ユーザAの場合と同様に、情報処理装置1に対して7月分の請求書を作成するための伝票を指定する指示を与えると、入力帳票指定受付部109が、7月分の請求書作成のための伝票を指定する帳票識別情報「1021」を受け付ける。例えば、情報処理装置1の7月分の請求書用の伝票を指定するメニュー項目等に、予め帳票識別情報「1021」を対応付けておくと、このメニュー項目を選択することで、入力帳票指定受付部109が、このメニュー項目に対応付けられた帳票識別情報「1021」を受け付ける。入力帳票指定受付部109は、受け付けた帳票識別情報をメモリ等に一時記憶する。
入力帳票指定受付部109が、帳票識別情報「1021」を受け付けると、帳票識別情報取得部104は、入力帳票指定受付部109が受け付けた帳票識別情報「1021」を取得する。
その後、上述したユーザAの場合と同様に、図5のような入力用の画面が表示される。そして、ユーザBが、図5に示すような入力画面を見ながらマウスやキーボード等を操作して、数値や文字列等の入力情報を入力したとする。また、ここでは、上記と同様に、「平成19年8月6日」である時刻の情報を、メニュー等を操作して入力フィールド51に入力したとする。帳票入力受付部102は、「平成19年8月6日」の時刻情報を受け付ける。ここでは、時刻情報は、年月日の情報とする。これにより、図6と同様の画面が、画面出力部111によりモニタに表示されたとする。
次に、ユーザBが、入力情報の入力を繰り返し行った後、マウス等を操作して、図6に示したような「完了」ボタン50を押す、あるいは入力が完了したことを示すメニュー操作等を行ったとする。この操作に応じて、入力制御部107は、まず、帳票入力受付部102が受け付けた入力情報に、時刻情報があるか否かを判断する。具体的には、図5に示した入力フィールド51に、時刻を示す情報が含まれているか否かを判断する。時刻情報がないと判断された場合、時刻情報の入力を促す情報をモニタ等に表示して、再度、図6に示すような画面を表示して、入力情報の受付を行う。ここでは、入力フィールド51に、時刻を示す情報が含まれており、時刻情報があると判断されたとする。
入力制御部107は、ユーザBのユーザ識別情報と、帳票識別情報と、時刻情報とを、それぞれ、ユーザ識別情報受付部105、帳票識別情報取得部104、帳票入力受付部102から取得する。あるいはそれぞれが一時記憶したメモリ等から読み出す。
つぎに、入力制御部107は、取得したユーザ識別情報「9403」と、帳票識別情報「1021」と、時刻情報「平成19年8月6日」とが、入力条件格納部101に格納されている入力条件のいずれか一つを満たすか否かを判断する。
入力制御部107は、ユーザ識別情報「9403」と、帳票識別情報「1021」と、時刻情報「平成19年8月6日」とをそれぞれ検索キーとして用いて、図3に示した入力条件管理表により管理される入力条件のレコードに、「ユーザID」がユーザ識別情報「9403」と一致し、かつ「帳票ID」が帳票識別情報「1021」と一致し、かつ「入力期間」が示す期間が、時刻情報「平成19年8月6日」が示す日時を含むレコードを検索する。ここでは、全ての条件を満たすレコードが検出されなかったとする。これにより、ここでは、入力条件格納部101に格納されている入力条件のいずれも満たさないと判断されたとする。
入力制御部107は、帳票入力受付部102に対して、入力情報を無効とする指示を出す。この指示に応じて、帳票入力受付部102は、受け付けた入力情報を、入力情報出力部103にわたさず、この結果、入力情報は、入力情報出力部103から出力されない。
入力制御部107は、入力された情報が、入力条件を満たす入力情報となるよう修正することを、ユーザに促す情報をモニタ等に表示して、再度、図6に示すような画面を表示して、入力情報の受付を行う。なお、このように再度入力情報の受付を行う代わりに、入力情報を、帳票入力受付部102が破棄して、図5に示したような入力用の画面の表示を終了しても良い。
このように、ユーザBは、7月分の請求書を作成するための帳票識別情報が「1021」である伝票として、日付が平成19年8月6日である伝票を作成することができない。
従って、ユーザAは、クライアントCに対する7月分の請求書に用いられる伝票の日付の期限が8月9日に設定されているため、帳票識別情報が「1021」であり、日付が平成19年8月6日である伝票を作成することが許可される。
これに対し、ユーザBについては、クライアントDに対する7月分の請求書に用いられる伝票の日付の期限が8月4日に設定されていることから、帳票識別情報が「1021」であり、日付が平成19年8月6日である伝票を作成ができないようにすることができる。
これにより、ユーザBが、誤ってクライアントDの締め日よりもあとの日付の伝票を追加することを防ぐことができる。このようにして、ユーザ別に伝票を起こす日付等の時刻を制限できるため、全てのユーザが作成可能な伝票の日付の範囲を一括して同じとなるように制御する場合と比べて、各ユーザの立場や事情等に合わせてより細かく伝票の日付の制限等を加えることができる。
一方、ユーザBが帳票識別情報が「1022」である帳票を用いて、時刻情報が「平成19年8月6日」である帳票の情報入力を行おうとした場合、ユーザ識別情報「9403」と、帳票識別情報「1022」と、時刻情報「平成19年8月6日」との組み合わせは、図3の「ID」が「006」の入力条件を満たすため、帳票入力受付部102が受け付けた入力情報は、入力情報出力部103から出力可能、例えば蓄積可能となり、帳票の作成が可能となる。
このように、この具体例においては、情報の入力対象となる帳票の帳票識別情報と、入力を行うユーザのユーザ識別情報と、伝票に入力される時刻情報との組み合わせによって、入力情報の受け付けを制限することができる。
なお、ここでは、ユーザAとユーザBとのクライアントが異なる場合を例に挙げて説明したが、例えば、請求書等に用いられる伝票を入力する立場のユーザと、この伝票をチェックしたり、請求書を作成したりする立場のユーザとの間で、作成、あるいは変更可能な伝票の日付の期間を変更して運用することも考えられる。例えば、伝票を入力する立場のユーザが作成できない日付の伝票であっても、請求書を作成したりする立場のユーザが入力をおこなえるようにすることで、伝票を入力する立場のユーザは、ルール通りに入力を行えないようにすることができるとともに、伝票をチェックしたり、請求書を作成したりする立場のユーザは、必要に応じて、伝票をチェックして修正したり追加したりすることができ、情報に対する更新を制限して、不適切な情報更新を防ぐことができる。逆に、請求書を作成する立場のユーザが、伝票の不適切な日付の伝票を作成してしまい、請求書に一部の伝票の入力が反映されなくなることを防ぐことができる。
以上、本実施の形態によれば、帳票識別情報と、ユーザ識別情報と、時刻情報との組み合わせが、入力条件を満たすか否かを判断して、入力条件を満たす場合に帳票に用いられる情報の入力を有効とする、具体的には、入力情報を蓄積したり出力したりすることにより、帳票に用いられる情報の入力を、ユーザと帳票と入力時期との組み合わせにより適切にコントロールすることができる。
特に、ユーザ別に作成可能な伝票の日付等の時刻情報を制御できるため、全てのユーザの入力時期を一括して制御する場合と比べて、ユーザにあわせてより細かい入力のコントロールが可能である。
なお、上記各実施の形態において、各処理(各機能)は、単一の装置(システム)によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
また、このプログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
また、上記各実施の形態において、一の装置に存在する2以上の通信手段(情報送信部など)は、物理的に一の媒体で実現されても良いことは言うまでもない。
また、上記実施の形態では、情報処理装置がスタンドアロンである場合について説明したが、情報処理装置は、スタンドアロンの装置であってもよく、サーバ・クライアントシステムにおけるサーバ装置であってもよい。後者の場合には、出力部や受付部は、通信回線を介して入力を受け付けたり、画面を出力したりすることになる。
また、上記各実施の形態において、各構成要素は専用のハードウェアにより構成されてもよく、あるいは、ソフトウェアにより実現可能な構成要素については、プログラムを実行することによって実現されてもよい。例えば、ハードディスクや半導体メモリ等の記録媒体に記録されたソフトウェア・プログラムをMPU等のプログラム実行部が読み出して実行することによって、各構成要素が実現され得る。
なお、上記各実施の形態における情報処理装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータを、時刻の情報である時刻情報を含む、帳票に用いられる情報である入力情報の入力を受け付ける帳票入力受付部と、前記入力情報を出力する入力情報出力部と、入力対象となっている帳票について、当該帳票を識別するための識別情報である帳票識別情報を取得する帳票識別情報取得部と、ユーザを識別する情報であるユーザ識別情報を受け付けるユーザ識別情報受付部と、前記帳票識別情報取得部が取得した帳票識別情報と、前記ユーザ識別情報受付部が受け付けたユーザ識別情報と、前記帳票入力受付部が受け付けた時刻情報とが、格納されている、帳票を識別するための識別情報である帳票識別情報と、当該帳票に対して情報の入力が可能なユーザのユーザ識別情報と、当該ユーザが前記帳票の時刻として入力可能な期間を示す情報である入力期間情報とを対応付けた、前記帳票に対する入力条件を満たさない場合に、前記帳票入力受付部に対して入力を行えないようにする、または前記帳票入力受付部に対する入力を無効とする入力制御部として機能させるためのプログラムである。
なお、上記プログラムにおいて、上記プログラムが実現する機能には、ハードウェアでしか実現できない機能は含まれない。例えば、情報を取得する取得部や、情報を出力する出力部などにおけるモデムやインターフェースカードなどのハードウェアでしか実現できない機能は、上記プログラムが実現する機能には含まれない。
図8は、上記プログラムを実行して、上記実施の形態による情報処理装置を実現するコンピュータの外観の一例を示す模式図である。上記実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムによって実現される。
図8において、コンピュータシステム500は、CD−ROM(Compact Disk Read Only Memory)ドライブ505、FD(Flexible Disk)ドライブ506を含むコンピュータ501と、キーボード502と、マウス503と、モニタ504とを備える。
図9は、コンピュータシステムを示す図である。図9において、コンピュータ501は、CD−ROMドライブ505、FDドライブ506に加えて、MPU(Micro Processing Unit)511と、ブートアッププログラム等のプログラムを記憶するためのROM(Read Only Memory)512と、MPU511に接続され、アプリケーションプログラムの命令を一時的に記憶すると共に、一時記憶空間を提供するRAM(Random Access Memory)513と、アプリケーションプログラム、システムプログラム、及びデータを記憶するハードディスク514と、MPU511、ROM512等を相互に接続するバス515とを備える。なお、コンピュータ501は、LANへの接続を提供する図示しないネットワークカードを含んでいてもよい。
コンピュータシステム500に、上記実施の形態による情報処理装置の機能を実行させるプログラムは、CD−ROM521、またはFD522に記憶されて、CD−ROMドライブ505、またはFDドライブ506に挿入され、ハードディスク514に転送されてもよい。これに代えて、そのプログラムは、図示しないネットワークを介してコンピュータ501に送信され、ハードディスク514に記憶されてもよい。プログラムは実行の際にRAM513にロードされる。なお、プログラムは、CD−ROM521やFD522、またはネットワークから直接、ロードされてもよい。
プログラムは、コンピュータ501に、上記実施の形態による情報処理装置の機能を実行させるオペレーティングシステム(OS)、またはサードパーティプログラム等を必ずしも含んでいなくてもよい。プログラムは、制御された態様で適切な機能(モジュール)を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいてもよい。コンピュータシステム500がどのように動作するのかについては周知であり、詳細な説明は省略する。
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。