以下、図面を参照して、本発明の実施の形態の一例について説明する。
図1は、本発明の情報処理システム100のシステム構成の一例を示す図である。本発明の情報処理システム100は、情報処理装置101、サーバ102が設置されており、それら装置はLAN(Local Area Network)等のネットワーク103を介して相互にデータ通信可能に接続されている。図1のネットワーク103上に接続される各種端末あるいはサーバの構成は一例であり、用途や目的に応じて様々な構成例があることは言うまでもない。
情報処理装置101は、業務支援アプリケーションを実行する装置である。業務支援アプリケーションは後述する図2のROM202または外部メモリ211に記憶されており、ユーザからの指示に応じて、CPU201がRAM203に読み出して各種動作を行う。
業務支援アプリケーションは、ユーザからの操作に応じて、会計関連の情報管理等を行う。本実施例においては会計関連の情報を基に説明するが、これに限らない。尚、業務支援アプリケーションで表示する各種情報は情報処理装置101と通信可能に接続されたサーバ102に記憶されても、情報処理装置101の外部メモリ211に記憶されてもよい。また、本実施例では、業務支援アプリケーションはWebアプリケーションであり、情報処理装置101に備えられたWebブラウザを利用して、業務支援アプリケーションを実行する。
サーバ102は、情報処理装置101で作成された各種データを記憶管理する装置である。業務支援アプリケーションで取り扱う各種データは、複数のユーザによって作成や閲覧をされる場合があるため、サーバ102で当該各種データを一元管理する。また、業務支援アプリケーションは、サーバ102のROM202や外部メモリ211に記憶されていてもよい。この場合には、サーバ102は、情報処理装置101から要求があった場合に業務支援アプリケーションを起動させ、情報処理装置101のWebブラウザで表示可能なWebページを送信する。
尚、情報処理装置101が、サーバ102の構成を含んでもよいし、サーバ102が情報処理装置101の構成を含んでもよい。また、本実施例においては、情報処理装置101に各種データが記憶され、ユーザからの操作によって動作させる形態に基づいて説明を行う。
図2は、本発明の実施形態における各種端末のハードウェア構成を示す図である。
CPU201は、システムバス204に接続される各デバイスやコントローラを統括的に制御する。
また、ROM202あるいは外部メモリ211には、CPU201の制御プログラムであるBIOS(Basic Input / OutputSystem)やオペレーティングシステムプログラム(以下、OS)や、各サーバ或いは各PCの実行する機能を実現するために必要な後述する各種プログラム等が記憶されている。RAM203は、CPU201の主メモリ、ワークエリア等として機能する。
CPU201は、処理の実行に際して必要なプログラム等をRAM203にロードして、プログラムを実行することで各種動作を実現するものである。
また、入力コントローラ(入力C)205は、キーボード209や不図示のマウス等のポインティングデバイスからの入力を制御する。
ビデオコントローラ(VC)206は、CRTディスプレイ(CRT)210等の表示器への表示を制御する。表示器はCRTだけでなく、液晶ディスプレイでも構わない。これらは必要に応じて管理者が使用するものである。
メモリコントローラ(MC)207は、ブートプログラム、ブラウザソフトウエア、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、各種データ等を記憶するハードディスク(HD)やフロッピーディスク(登録商標 FD)或いはPCMCIAカードスロットにアダプタを介して接続されるカード型メモリ等の外部メモリ211へのアクセスを制御する。
通信I/Fコントローラ(通信I/FC)208は、ネットワークを介して、外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、TCP/IPを用いたインターネット通信等が可能である。
尚、CPU201は、例えばRAM203内の表示情報用領域へアウトラインフォントの展開(ラスタライズ)処理を実行することにより、CRT210上での表示を可能としている。また、CPU201は、CRT210上の不図示のマウスカーソル等でのユーザ指示を可能とする。
本発明の情報処理装置101が後述する各種処理を実行するために用いられる各種プログラム等は外部メモリ211に記録されており、必要に応じてRAM203にロードされることによりCPU201によって実行されるものである。さらに、本発明に係わるプログラムが用いる定義ファイルや各種情報テーブルは外部メモリ211に格納されている。
次に、情報処理装置101及びサーバ102のモジュール構成を示す機能構成図について、図3を用いて説明する。尚、図3の各種端末あるいはサーバのモジュール構成は一例であり、用途や目的に応じて様々な構成例があることは言うまでもない。
情報処理装置101は、記憶モジュール301、画面表示モジュール302、送受信モジュール303、判定モジュール304、コンテキストメニュー制御モジュール305を備える。
記憶モジュール301は、各種データやテーブルを記憶するためのモジュールである(記憶手段)。本実施例では特に入力データや会計伝票データの記憶を行う。画面表示モジュール302は、記憶モジュール301で記憶された各種データやテーブルを取得して、CRT210に表示するためのモジュールである。特に本実施例では、情報処理装置101の業務支援アプリケーションをWebブラウザで実行させるため、画面表示モジュール302によって表示されたWebブラウザ上で業務支援アプリケーションを実行、表示することになる。送受信モジュール303は、サーバ102をはじめとする各種装置とデータの送受信をするためのモジュールである。判定モジュール304は、記憶モジュール301に記憶されたデータやユーザから操作等に基づいて、各種判定を行うためのモジュールである。コンテキストメニュー制御モジュール305は、ユーザから入力補助のためのコンテキストメニューの表示が指示された場合に当該コンテキストメニューを表示したり、コンテキストメニューに表示するボタンの制御を行ったりする。
サーバ102は、記憶モジュール306、送受信モジュール307を備える。記憶モジュール306は、各種データやテーブルを記憶するためのモジュールである(記憶手段)。また、送受信モジュール307は、情報処理装置101をはじめとする各種装置とデータの送受信をするためのモジュールである。
次に、本発明の実施例における情報処理装置101によって行われる一連の処理について、図4及び図5に示すフローチャートを用いて説明する。尚、S401乃至S485の各ステップは情報処理装置101におけるCPU201の制御の下、処理が行われる。
尚、この処理を情報処理装置101に実行させるためのプログラムは、情報処理装置101にインストールされている業務支援アプリケーションの一部、若しくはアドオンプログラムとして用意されていてもよいし、業務支援アプリケーションとは別にインストールされたプログラムとして用意されていてもよい。
ステップS401では、情報処理装置101は、ユーザからの指示に応じて情報処理装置101の業務支援アプリケーションを起動する。ステップS405では、情報処理装置101は、ログイン画面(不図示)を表示して、ユーザからの入力を受け付ける。
ステップS410では、情報処理装置101は、業務支援アプリケーションにログインするべく、ログイン画面に備えられたログインボタン(不図示)の押下がなされたか否かを判定する。ログインボタンの押下がなされたと判定した場合には、ステップS415に処理を進め、そうでない場合には、ログインボタンが押下されるまで待機する。
ステップS415では、情報処理装置101は、ユーザ操作により入力されたユーザID、パスワード等のチェックを行う。その結果をもってステップS420では、情報処理装置101は、ログインの可否を判定する。ログインが可能であると判定した場合には、ステップS425に処理を進め、ログインが不可能であると判定された場合には、ステップS410に処理を戻し、再度ユーザIDやパスワード等の入力を受け付ける。
ログインが許可された場合には、ステップS425では、情報処理装置101は、メニュー画面(不図示)の表示を行う。メニュー画面では業務支援アプリケーションで使用可能なメニューの一覧が表示される。
ステップS426では、情報処理装置101は、ステップS425で表示されたメニュー画面から仕訳入力画面800(図9参照、入力画面)の起動選択を受け付ける(入力受付手段)。選択を検知すると、ステップS430では、情報処理装置101は、仕訳入力画面800を表示する(表示手段)。仕訳入力画面800は、会計業務の仕訳処理を行うための画面である。
ステップS435では、情報処理装置101は、仕訳入力画面800のヘッダ部900の入力を受け付ける。ヘッダ部900では、基本的な情報や各種設定を行っておく領域である。例えば、伝票日付や伝票グループ、決算区分などの入力を受け付ける。
ステップS440では、情報処理装置101は、ヘッダ部900の入力中に右クリック入力が行われたか否かを判定する(コンテキストメニュー表示指示受付手段)。つまり、コンテキストメニュー700(図8参照)の表示が指示されたか否かを判定する。コンテキストメニューが表示されるのであれば、右クリックでなくともよい。右クリック入力が行われたと判定された場合には、ステップS445に処理を進め、そうでない場合には、ステップS435に処理を戻す。
ステップS445では、情報処理装置101は、ヘッダ部900に入力した入力内容の確認を行い、コンテキストメニューの表示を行う。コンテキストメニュー表示処理の詳細は、後述する図6に示す。
ステップS450では、情報処理装置101は、図10に示すヘッダ確定ボタン902が押下されたか否かを判定する。ヘッダ確定ボタン902が押下されたと判定した場合には、図5のステップS455に処理を進め、そうでない場合には、ステップS435に処理を戻す。
図5に説明を移す。ステップS455では情報処理装置101は、ヘッダ部900の入力が確定したので、仕訳入力画面800の明細部1000(図11参照)の入力を受け付ける。明細部1000は、仕訳伝票の詳細な内容を入力するための領域である。
ステップS460では、情報処理装置101は、明細部1000の入力中に右クリック入力が行われたか否かを判定する。コンテキストメニューが表示されるのであれば、右クリックでなくともよい。右クリック入力が行われたと判定された場合には、ステップS465に処理を進め、そうでない場合には、ステップS455に処理を戻す。
ステップS465では、情報処理装置101は、明細部1000に入力した入力内容の確認を行い、コンテキストメニューの表示を行う。コンテキストメニュー表示処理の詳細は、後述する図6に示す。
ステップS470では、情報処理装置101は、図11に示す明細反映ボタン1002が押下されているか否かを判定する。明細反映ボタン1002が押下されたと判定された場合には、ステップS475に処理を進め、そうでない場合には、ステップS455に処理を戻す。
ステップS475では、情報処理装置101は、伝票確定ボタン1003が押下されたか否かを判定する。伝票確定ボタン1003が押下されたと判定された場合には、ステップS480に処理を進め、そうでない場合には、ステップS455に処理を戻す。
ステップS480では、情報処理装置101は、伝票登録ボタンが押下されたか否かを判定する。伝票登録ボタンが押下されたと判定された場合には、ステップS485に処理を進め、そうでない場合には、押下されるまで待機する。
ステップS485では、情報処理装置101は、入力された伝票データをデータベースの仕訳伝票マスタ1130(図12参照)に登録する。仕訳伝票マスタ1130は、会社コード1131、伝票グループ1132、伝票番号1133、伝票行番号1134、明細行番号1135、科目1136、部門1137、取引先1138、仕訳金額1139から構成される。これらの項目が仕訳入力画面800で入力される入力内容を格納するものである。ステップS485で処理が終了すると、本一連の処理を終了する。
次に、コンテキストメニュー表示処理について図6を用いて説明する。尚、S501乃至S565の各ステップは情報処理装置101おけるCPU201の制御の下、処理が行われる。
尚、この処理を情報処理装置101に実行させるためのプログラムは、情報処理装置101にインストールされている業務支援アプリケーションの一部、若しくはアドオンプログラムとして用意されていてもよいし、業務支援アプリケーションとは別にインストールされたプログラムとして用意されていてもよい。
ステップS501では、情報処理装置101は、現在入力している部分がヘッダ部900か明細部1000かを判定する。ヘッダ部900であると判定された場合には、ステップS505に処理を進め、明細部1000であると判定された場合には、ステップS510に処理を進める。
ステップS505では、情報処理装置101は、入力中の画面の画面名と、現在入力している入力部分に基づいて、必須入力項目がどこなのかを示す必須入力項目1143を必須入力項目マスタ1140(図12参照)から取得する。
必須入力項目マスタ1140は、画面の名称を示す画面名1141、入力部分の属性を示す入力部分1142、入力が必須な項目を示す必須入力項目1143から構成される。
ステップS515では、情報処理装置101は、ステップS505で取得した必須入力項目1143と入力中のヘッダ部900の入力項目とを比較して、未入力の必須入力項目1143があるか否かを判定する(判定手段)。未入力の必須入力項目1143があると判定された場合には、ステップS525に処理を進め、未入力の必須入力項目1143がない、つまりすべての必須入力項目1143が入力済みであると判定された場合には、ステップS520に処理を進める。
ステップS520では、情報処理装置101は、コンテキストメニュー710に示すようなコンテキストメニューを表示する(表示制御手段)。コンテキストメニュー710では、ヘッダ部900の入力を確定するためのヘッダ確定ボタン711を備える。この場合、未入力項目がないことから図10に示すヘッダ確定ボタン902が押下可能な状況であると判断し、ヘッダ確定ボタン711を表示する。ヘッダ確定ボタン711は、図10のヘッダ部900に備えられたヘッダ確定ボタン902と同じ動作を行う。
ステップS525では、情報処理装置101は、コンテキストメニュー720に示すようなコンテキストメニューを表示する(表示制御手段)。コンテキストメニュー720では、ヘッダ確定ボタン721の入力ができないように制御する。また、ヘッダ部900の入力を補助するために、過去伝票複写ボタンやパターン読込ボタン723を表示する。この場合、必須入力項目に未入力項目があることから、ヘッダ確定ボタン721は押下不可能な状態(非アクティブ)で表示する。未入力項目に関してはコンテキストメニュー内に全未入力項目の項目名称ボタン722(移動ボタン)を表示する。項目名称ボタン722は、ステップS505で取得した必須入力項目1143と入力済みの入力項目とに基づいて表示する。こうすることで、どの項目を入力すべきなのか、ユーザが一目でわかるようになる。
次に、ステップS510では、情報処理装置101は、ステップS505と同様に、入力中の画面の画面名と、現在入力している入力部分に基づいて、必須入力項目がどこなのかを示す必須入力項目1143を必須入力項目マスタ1140(図12参照)から取得する。
ステップS530では、情報処理装置101は、既に明細が反映されているか否かを判定する。明細がある場合には、ステップS540に処理を進め、そうでない場合には、ステップS535に処理を進める。
ステップS535では、情報処理装置101は、ステップS515と同様に、未入力の必須入力項目があるか否かを判定する。未入力の必須入力項目があると判定された場合には、ステップS550に処理を進め、そうでない場合には、ステップS545に処理を進める。
ステップS545では、情報処理装置101は、コンテキストメニュー730に示すようなコンテキストメニューを表示する。この場合、明細が1件もない状態での伝票確定は不可能であるため、伝票確定ボタン731は押下不可能な状態(非アクティブ)で表示する。未入力項目はないため、明細反映ボタン732は押下可能である。
ステップS550では、情報処理装置101は、コンテキストメニュー740に示すようなコンテキストメニューを表示する。この場合、未入力項目が存在するため、明細反映ボタン741は押下不可能な状態(非アクティブ)で表示する。また明細が1件もない状態での伝票確定は不可能であることから、伝票確定ボタン742も押下不可能な状態(非アクティブ)で表示する。未入力項目に関しては前述と同様に、コンテキストメニュー内に全未入力項目の項目名称ボタン743を表示する。
ステップS540では、情報処理装置101は、ステップS515と同様に、未入力の必須入力項目があるか否かを判定する。未入力の必須入力項目があると判定された場合には、ステップS560に処理を進め、そうでない場合には、ステップS555に処理を進める。
ステップS555では、情報処理装置101は、コンテキストメニュー750に示すようなコンテキストメニューを表示する。この場合、未入力項目はないため、明細反映ボタン751は押下可能である。また明細は1件以上反映済みのため、伝票確定ボタン752も押下可能である。
ステップS560では、情報処理装置101は、コンテキストメニュー760に示すようなコンテキストメニューを表示する。この場合、未入力項目が存在するため、明細反映ボタン761は押下不可能な状態(非アクティブ)で表示する。一方で、明細は1件以上反映済みのため、伝票確定ボタン762は押下可能である。未入力項目に関しては前述と同様に、コンテキストメニュー内に全未入力項目の項目名称ボタン743を表示する。
ステップS565では、情報処理装置101は、ステップS520、ステップS525、ステップS545、ステップS550、ステップS555、ステップS560でそれぞれ表示されたコンテキストメニューが選択された場合の動作を行う。コンテキストメニュー動作処理の詳細は、後述する図7に示す。
次に、コンテキストメニュー動作処理について図7を用いて説明する。尚、S601乃至S635の各ステップは情報処理装置101おけるCPU201の制御の下、処理が行われる。
尚、この処理を情報処理装置101に実行させるためのプログラムは、情報処理装置101にインストールされている業務支援アプリケーションの一部、若しくはアドオンプログラムとして用意されていてもよいし、業務支援アプリケーションとは別にインストールされたプログラムとして用意されていてもよい。
ステップS601では、情報処理装置101は、コンテキストメニュー内に表示されたメニュー項目が選択されたか否かを判定する。メニュー項目が選択されたと判定された場合には、ステップS605に処理を進め、そうでない場合には、コンテキストメニュー動作処理を終了するか、選択されるまで待機する。
ステップS605では、情報処理装置101は、選択されたメニュー項目が何なのか判定する。ヘッダ確定ボタンが押下されたと判定された場合には、ステップS610に処理を進め、過去伝複写ボタンが押下されたと判定された場合には、ステップS615に処理を進め、パターン読込ボタンが押下されたと判定された場合には、ステップS620に処理を進め、未入力の項目名ボタンが押下されたと判定された場合には、ステップS625に処理を進め、明細反映ボタンが押下されたと判定された場合には、ステップS630に処理を進め、伝票確定ボタンが押下されたと判定された場合には、ステップS635に処理を進める。
ステップS610では、情報処理装置101は、ヘッダ確定ボタンが押下されたので、ヘッダ部900の入力内容を確認し、問題がなければ確定し、明細部1000の入力を受け付ける。この処理は、ヘッダ確定ボタン902が押下された場合と同様の処理である。
ステップS615では、情報処理装置101は、過去伝複写ボタンが押下されたので、伝票検索画面(不図示)を表示し、画面から選択された仕訳伝票マスタ1130のデータを入力値に反映する処理を行う。この処理は、過去伝複写ボタン903が押下された場合と同様の処理である。過去伝複写ボタンは、過去に作成した伝票を呼び出して、新しい伝票の作成に利用するものである。
ステップS620では、情報処理装置101は、パターン読込ボタンが押下されたので、パターン検索画面(不図示)を表示し、画面から選択された仕訳パターンマスタ1120のデータを入力値に反映する処理を行う。この処理は、パターン読込ボタン904が押下された場合と同様の処理である。仕訳パターンマスタ1120は、会社コード1121、仕訳パターンコード1123、明細行番号1124、科目1125、部門1126、取引先1127、仕訳金額1128から構成される。仕訳パターンマスタ1120は、何度使用する仕訳データをパターン(テンプレート)として登録しておけるマスタである。
ステップS625では、情報処理装置101は、未入力の項目名ボタンが押下されたので、押下された項目にフォーカスを移す処理を行う。
ステップS630では、情報処理装置101は、明細反映ボタンが押下されたので、明細部1000の入力内容を確認し、問題がなければ明細をグリッド1004に追加して次の明細の入力を可能にする。この処理は明細反映ボタン1002を押下した場合と同様の処理である。
ステップS635では、情報処理装置101は、伝票確定ボタンが押下されたので、ヘッダ部、明細部の入力内容を確認し、問題がなければ伝票を確定し、伝票確定ボタン1003を登録ボタンに変更する。この処理は伝票確定ボタン1003を押下した場合と同様の処理である。
以上説明したように、本実施形態によれば、画面の入力状況に応じて、表示するコンテキストメニューのメニュー項目を変更することが可能となるので、ユーザの業務を効率的に支援することができる。
次に、本発明の第2の実施例について説明を行う。
前述した業務支援アプリケーションでは、情報処理装置101において主に2通りの入力方法によって操作される。1つは情報処理装置101に接続されたキーボードによって操作される方法である。業務支援アプリケーションは、データ入力がメインであるため、キーボードからの入力操作が非常に多い。よって、できる限りキーボードだけで操作できるようなインターフェースが望まれている。つまり、各入力項目はキーボードのTabキーを押下することで移動できるようにし、コンテキストメニューについても所定のキー入力によって表示させている。
もう1つの入力方法は、マウスとキーボードの両方によって操作される方法である。キーボードだけで操作できるユーザは、熟練のユーザであるのでマウス操作を行わなくとも、業務支援アプリケーションを操作することが可能であるが、初心者や慣れていないユーザについてはショートカットキーなどを覚えていないため、マウス操作も併用することで業務支援アプリケーションを使用している。
このような2通りの背景が存在するため、それぞれの入力方法において適切なコンテキストメニューを表示したほうがより効率的である。具体的には、キーボード操作によってコンテキストメニューが呼び出された場合には、キーボード操作が主体のユーザである可能性が高いので、前述したように明細反映ボタンや伝票確定ボタンをコンテキストメニューに表示させる。
一方、マウス操作によってコンテキストメニューが呼び出された場合には、マウス操作も併用しているユーザである可能性が高いので、コンテキストメニューには明細反映ボタンや伝票確定ボタンを表示させないようにする。基本的にマウス操作の場合には、何回もTabキーを押下して目的のボタンに辿りつく必要はなく、画面上のカーソルを移動させればよいだけである。つまり、Tabキーを何回も押下するよりも不便はない。むしろ、前述の仕組みによってコンテキストメニューの表示項目が増えてしまっては、マウス操作を行う可能性の高い初心者ユーザにとっては、逆に混乱させてしまう。
このことから、マウス操作によってコンテキストメニューを呼び出した場合には、各種ボタンを表示させないことで、初心者ユーザの利便性を向上させ、更にキーボード操作によってコンテキストメニューを呼び出した場合には、各種ボタンを表示させることで、熟練ユーザの利便性も向上させることができる。以下、この仕組みについて第2の実施例として説明を行う。
まず、第2の実施例の概要について、図13と図14を用いて説明する。
図13は、仕訳入力画面においてキーボード操作により、コンテキストメニューを呼び出した場合の模式図である。まず、情報処理装置101は、サーバ102から送信された仕訳入力画面をWebブラウザに表示させてユーザからの入力を受け付ける。具体的には、各入力項目に対するデータの入力や各種ボタンに対する押下、そしてコンテキストメニューの呼び出しである。ユーザは明細部で必要なデータ入力を行った後、明細反映ボタンを押下するためにTabキーでフォーカスを移動しようとする。しかし、図13の例では明細反映ボタンに辿りつくまで6回もTabキーを押下する必要があり、非常に手間である。伝票確定ボタンにおいては7回もTabキーを押下する必要がある。マウス操作でこれらのボタンをクリックすればよいのだが、会計処理を行うような業務支援アプリケーションでは素早く入力する必要があるため、できるだけキーボードから手を離したくない。また、ファンクションキーに明細反映ボタンや伝票確定ボタンを割り当てる仕組みも考えられるが、Webブラウザで画面制御を行っているので、ファンクションキーに明細反映ボタンや伝票確定ボタンを割り当てたくても、Webブラウザによってファンクションキーが使用されているので難しい(例えば、F5はページの更新機能として使用されているので、F5を明細反映ボタンにはできない。)。よって、所定のキーボード操作によってコンテキストメニューが呼び出されると、各入力項目に不足がないかどうかチェックし、問題なければ、明細反映ボタンや伝票確定ボタンといった各種ボタンをコンテキストメニューの上部に表示する。ユーザはキーボードの方向キーやTabキーを用いて必要なボタンのメニューにフォーカスを合わせ、選択するだけで当該ボタンの機能を実行できるので、Tabキーを何回も押下するような煩わしい作業は必要なくなる。
一方、図14は、仕訳入力画面においてマウス操作により、コンテキストメニューを呼び出した場合の模式図である。図13と同じように、まず、情報処理装置101は、仕訳入力画面をWebブラウザ上に表示させてユーザからの入力を受け付ける。こちらの場合も図13と同様にコンテキストメニューに明細反映ボタンや伝票確定ボタンを表示してしまうと、コンテキストメニューの数が多くなるので、混乱の元となってしまう。よって、右クリック等のマウス操作によってコンテキストメニューが呼び出された場合には、明細反映ボタンや伝票確定ボタンといった各種ボタンを表示せずに、通常のコンテキストメニューのみを表示する。マウス操作はキーボード操作に比べて、ボタンまで辿りつく労力が少ないことと、マウス操作を行うユーザには初心者が多いのでコンテキストメニューに余計な情報を表示させないようにすることで、操作効率を向上させている。この図13と図14の2つの仕組みを同時に備えて、キーボード操作によってコンテキストメニューが呼び出されたのか、またはマウス操作によってコンテキストメニューが呼び出されたのかを判定し、適切な表示内容に切り替えることで、どのようなユーザであっても効率的に作業を進めることが可能となる。
以下、第2の実施例における詳細な処理について説明を行うが、前述した実施例におけるシステム構成とハードウェア構成は同様であるので、説明を省略する。
次に、情報処理装置101及びサーバ102のモジュール構成を示す機能構成図について、図21を用いて説明する。尚、図21の各種端末あるいはサーバのモジュール構成は一例であり、用途や目的に応じて様々な構成例があることは言うまでもない。
情報処理装置101は、記憶モジュール2101、画面表示モジュール2102、送受信モジュール2103、判定モジュール2104、コンテキストメニュー制御モジュール2105、入力機器判定モジュール2106、必須入力項目チェックモジュール2107を備える。
記憶モジュール2101は、各種データやテーブルを記憶するためのモジュールである(記憶手段)。本実施例では特に入力データや会計伝票データの記憶を行う。画面表示モジュール2102は、記憶モジュール301で記憶された各種データやテーブルを取得して、CRT210に表示するためのモジュールである。特に本実施例では、情報処理装置101の業務支援アプリケーションをWebブラウザで実行させるため、画面表示モジュール2102によって表示されたWebブラウザ上で業務支援アプリケーションを実行、表示することになる。送受信モジュール2103は、サーバ102をはじめとする各種装置とデータの送受信をするためのモジュールである。判定モジュール2104は、記憶モジュール301に記憶されたデータやユーザから操作等に基づいて、各種判定を行うためのモジュールである。コンテキストメニュー制御モジュール2105は、ユーザから入力補助のためのコンテキストメニューの表示が指示された場合に当該コンテキストメニューを表示したり、コンテキストメニューに表示するボタンの制御を行ったりする。また、入力機器判定モジュール2106は、コンテキストメニューの表示指示を行った入力機器が、キーボードなのか、マウスなのか判定するためのモジュールである。これ以外の機器であってもよい。必須入力項目チェックモジュール2107は、画面に備えられた入力項目のうち、必ず入力しなくてはいけない必須入力項目に入力がなされているか否かを確認するためのモジュールである。
サーバ102は、記憶モジュール306、送受信モジュール307を備える。記憶モジュール306は、各種データやテーブルを記憶するためのモジュールである(記憶手段)。また、送受信モジュール307は、情報処理装置101をはじめとする各種装置とデータの送受信をするためのモジュールである。
次に、本発明の第2の実施例における情報処理装置101及びサーバ102によって行われる一連の処理について、図15に示すフローチャートを用いて説明する。尚、S1501、S1504乃至S1508の各ステップは情報処理装置101におけるCPU201の制御の下、処理が行われる。また、S1502、S1503の各ステップはサーバ102におけるCPU201の制御の下、処理が行われる。
尚、この処理を情報処理装置101及びサーバ102に実行させるためのプログラムは、情報処理装置101及びサーバ102にインストールされている業務支援アプリケーションの一部、若しくはアドオンプログラムとして用意されていてもよいし、業務支援アプリケーションとは別にインストールされたプログラムとして用意されていてもよい。
まず、ステップS1501では、情報処理装置101は、ユーザからの指示に応じて業務支援アプリケーションを起動し、メニュー画面の取得要求をサーバ102に対して送信する。
ステップS1502では、サーバ102は、情報処理装置101から送信されたメニュ画面の取得要求を受信し、ステップS1503では、メニュー画面を取得して情報処理装置101に送信する。
ステップS1504では、情報処理装置101は、サーバ102から送信された業務支援アプリケーションのメニュー画面(不図示)をWebブラウザ上に表示する。メニュー画面は業務支援アプリケーションで利用可能な各種画面を呼び出すポータルサイト的な画面であり、ユーザからの選択に応じて、選択された画面を表示するようになっている。ステップS1505では、情報処理装置101は、ステップS1504で表示されたメニュー画面に対するユーザからの操作を受け付ける。
ステップS1506では、情報処理装置101は、ステップS1505で受け付けたユーザからの操作がメニュー選択であったか否かを判定する。第2の実施例においても、選択されたメニューが仕訳入力画面であった場合を想定して、以下説明を行う。メニュー選択がなされたと判定された場合には、ステップS1507に処理を進め、そうでない場合には、ステップS1508に処理を進める。
ステップS1507では、情報処理装置101は、会計業務の仕訳を行うための処理を実行する。仕訳入力処理の詳細は、後述する図16に示す。
ステップS1508では、情報処理装置101は、ステップS1505で受け付けたユーザからの操作が業務支援アプリケーションの終了指示であったか否かを判定する。具体的には、ウィンドウの閉じるボタンが押下されたかどうかを検知してもよいし、終了指示可能なメニューが選択されたどうかを検知してもよい。終了指示があったと判定された場合には、業務支援アプリケーションを終了した上で、本一連の処理を終了し、そうでない場合には、ステップS1505に処理を戻す。
次に、本発明の第2の実施例における情報処理装置101及びサーバ102によって行われる仕訳入力処理について、図16に示すフローチャートを用いて説明する。尚、S1601、S1604乃至S1614、S1617の各ステップは情報処理装置101におけるCPU201の制御の下、処理が行われる。また、S1602、S1603、S1615、S1616各ステップはサーバ102におけるCPU201の制御の下、処理が行われる。
尚、この処理を情報処理装置101及びサーバ102に実行させるためのプログラムは、情報処理装置101及びサーバ102にインストールされている業務支援アプリケーションの一部、若しくはアドオンプログラムとして用意されていてもよいし、業務支援アプリケーションとは別にインストールされたプログラムとして用意されていてもよい。
まず、ステップS1601では、情報処理装置101は、サーバ102に対して仕訳入力画面2200(図22参照)の取得要求を送信する。
ステップS1602では、サーバ102は、情報処理装置101から送信された仕訳入力画面の取得要求を受信し、ステップS1603では、仕訳入力画面を取得して情報処理装置101に送信する。
ステップS1604では、情報処理装置101は、サーバ102から送信された仕訳入力画面を受信し、Webブラウザ上に図22に示すような仕訳入力画面2200として表示させる(表示手段)。仕訳入力画面2200については、前述した実施例の仕訳入力画面800(図9参照)と同様である。そして、ステップS1605では、情報処理装置101は、ステップS1604で表示された仕訳入力画面800の明細部に対してユーザからの入力を受け付ける。前述した実施例では、ヘッダ部に対しても入力を受け付けて、コンテキストメニューの表示を制御していたが、第2の実施例では説明を省略する。基本的な仕組みはこの第2の実施例と同様である。以下、ヘッダ部に対する入力は完了しているものとして、説明を行う。
ステップS1606では、情報処理装置101は、ステップS1605で受け付けたユーザからの操作がコンテキストメニューの呼び出しか否かを判定する(コンテキストメニュー表示指示受付手段)。具体的には、所定のキーボード操作か、所定のマウス操作によって呼び出しがあったか否かを判定すればよい。例えば、業務支援アプリケーションで「Shift+F10」が押下されたら、コンテキストメニューを呼び出す仕組みになっていれば、「Shift+F10」の押下を受け付けたかどうか判定すればよいし、マウスの右クリックによってコンテキストメニューを呼び出す仕組みになっていれば、マウスの右クリックを受け付けたかどうかを判定すればよい。ユーザからの操作がコンテキストメニューの呼び出しであると判定された場合には、ステップS1607に処理を進め、そうでない場合には、ステップS1605に処理を戻す。
ステップS1607では、情報処理装置101は、ステップS1605で受け付けたコンテキストメニューの呼び出し操作を行った入力機器が、キーボードであるのか、マウスであるのかを特定する。具体的には、OS(Operating System)で検知した入力機器の情報を用いるようにすればよい。
ステップS1608では、情報処理装置101は、ステップS1604で特定された入力機器がキーボードであるのか、マウスであるのかを判定する。キーボードであると判定された場合には、ステップS1609に処理を進め、マウスであると判定された場合には、ステップS1610に処理を進める。
ステップS1609では、情報処理装置101は、キーボード操作によってコンテキストメニューが呼び出されたので、キーボード用のコンテキストメニューの表示処理を実行する。キーボード用表示処理の詳細は、後述する図17に示す。
一方、ステップS1610では、情報処理装置101は、マウス操作によってコンテキストメニューが呼び出されたので、マウス用のコンテキストメニューの表示処理を実行する。マウス用表示処理の詳細は、後述する図19に示す。
ステップS1611では、情報処理装置101は、図20で後述するコンテキストメニュー動作処理において、明細反映ボタン2201が押下済みであるか否かを判定する。明細反映ボタン2201は、図22に示す仕訳入力画面2200に備えられたボタンであり、明細部に入力された入力データを明細データとして反映するためのボタンである。明細反映ボタン2201が押下されると、入力データをサーバ102に送信し、明細データとして保存しておく。あくまで一時保存であり、複数の明細データが入力され、ユーザから伝票確定ボタン2202が押下された段階で、サーバ102において明細データの入力内容が問題ないかチェックされる仕組みである。つまり、ステップS1611では、入力されたデータを明細データとして反映されたかどうか、まだデータの入力中なのかどうかを判定していることになる。明細反映ボタン2201が押下済みであると判定された場合には、ステップS1612に処理を進め、そうでない場合には、ステップS1605に処理を戻す。
ステップS1612では、情報処理装置101は、図20で後述するコンテキストメニュー動作処理において、伝票確定ボタン2202が押下済みであるか否かを判定する。伝票確定ボタン2202は仕訳入力画面2200に備えられたボタンであり、明細反映ボタン2201でサーバ102に一時保存されたデータの整合性チェック等を行う。そして、問題がなければ、伝票データとして確定し、ユーザからの変更を不可にするボタンである。尚、伝票確定ボタン2202が押下されても仕訳伝票マスタ1130には登録されない。伝票確定ボタン2202が押下済みであると判定された場合には、ステップS1613に処理を進め、そうでない場合には、ステップS1605に処理を戻す。
ステップS1613では、情報処理装置101は、仕訳入力画面2200に備えられた伝票登録ボタン2203が押下されたか否かを判定する。伝票登録ボタン2203が押下されることで初めて、サーバ102に保存された確定された伝票データを仕訳伝票マスタ1130に登録される。尚、前述した実施例とは異なり、仕訳伝票マスタ1130はサーバ102で記憶管理されているものとする。伝票登録ボタン2203が押下されたと判定された場合には、ステップS1614に処理を進め、そうでない場合には、伝票登録ボタン2203が押下されるまで待機する。
ステップS1614では、情報処理装置101は、伝票確定ボタン2202によって確定された伝票データの登録要求をサーバ102に送信する。
ステップS1615では、サーバ102は、情報処理装置101から送信された伝票データの登録要求を受信し、ステップS1616では、一時保存された伝票データを取得し、仕訳伝票マスタ1130に登録する。そして、情報処理装置101に対して実行結果を送信する。
ステップS1617では、情報処理装置101は、サーバ102から伝票データの登録が完了した旨を受信し、仕訳入力処理を終了し、呼び出し元に処理を戻す。
次に、本発明の第2の実施例における情報処理装置101によって行われるキーボード用表示処理について、図17に示すフローチャートを用いて説明する。尚、S1701乃至S1721の各ステップは情報処理装置101におけるCPU201の制御の下、処理が行われる。
尚、この処理を情報処理装置101に実行させるためのプログラムは、情報処理装置101にインストールされている業務支援アプリケーションの一部、若しくはアドオンプログラムとして用意されていてもよいし、業務支援アプリケーションとは別にインストールされたプログラムとして用意されていてもよい。
まず、ステップS1701では、情報処理装置101は、仕訳入力画面2200に入力された項目のうち、必須入力項目がすべて入力されているかどうかを判定するために、必須入力項目マスタ1140(図12参照)を取得する。必須入力項目マスタ1140は、情報処理装置101に記憶されていてもよいし、サーバ102から取得してもよい。
ステップS1702では、情報処理装置101は、仕訳入力画面2200に入力された入力項目の項目名を特定する。項目名は、入力されている項目に対応する項目名を特定するようにすればよい。例えば、HTMLで生成されたページであれば、入力フォームに該当するタグに属性として項目名を含めておき、それを読み取るようにしてもよい。特定する方法は特に問わない。
ステップS1703では、情報処理装置101は、すでに明細反映ボタン2201の押下を受け付けて、入力データをサーバ102に送信し、明細データとして一時保存中であるか否かを判定する。情報処理装置101のみで判定するのであれば、明細反映ボタン2201が押下済みか否かを履歴として保持しておき、それによって判定するようにすればよいし、サーバ102に対して明細データの有無を問い合わせ、サーバ102が明細データの有無を判定し、その判定結果を情報処理装置101に送信して、情報処理装置101がその判定結果に応じて明細データの有無を判定するようにしてもよい。明細反映ボタン2201が押下済みであると判定された場合には、ステップS1713に処理を進め、そうでない場合には、ステップS1704に処理を進める。
ステップS1704では、情報処理装置101は、更に、未入力の必須入力項目があるか否かを判定する(判定手段)。具体的には、ステップS1701で取得した必須入力項目マスタ1140と、ステップS1702で特定した入力済み項目の項目名とを比較して、必須入力項目マスタ1140に存在する必須入力項目1143がすべて入力済みかどうかを判定すればよい。未入力の必須入力項目があると判定された場合には、ステップS1708に処理を進め、未入力の必須入力項目がないと判定された場合には、ステップS1705に処理を進める。
ステップS1705では、情報処理装置101は、すべての必須入力項目が入力済みであると判定されたので、明細反映ボタン2201を規定のコンテキストメニューの最上部に配置する。Webブラウザにもコンテキストメニューは存在し、右クリックや「Shift+F10」の操作を受け付けることで、当該コンテキストメニューを表示するようになっている。Webブラウザのコンテキストメニューには、例えば、文字列や画像の「コピー」や「貼り付け」、ページの「更新」といったメニューがある。Webブラウザで業務支援アプリケーションを動作させるため、これらのメニューもコンテキストメニューに表示されるのだが、明細反映ボタン2201がコンテキストメニューに表示されたとしても、最下部に配置されてしまっては、結局Webブラウザが用意したメニュー分の下キーの押下が発生してしまう。メニューの数が多ければ、コンテキストメニューを表示せずに、Tabキーの押下を行ったほうが早い場合も出てきてしまう。よって、本発明によって表示する各種ボタンや情報は、コンテキストメニューの最上部に表示させることで、素早くフォーカスを移動させることを可能にしている。尚、本実施例では、コンテキストメニューの最上部とするが、これはコンテキストメニューを呼び出した場合に、上から下にコンテキストメニューが開いた場合を想定している。つまり、一番最初に選択状態となるメニューが一番上の場合である。下から上にコンテキストメニューが開くような場合、つまり一番最初に選択状態となるメニューが一番下の場合には、最下部に各種ボタンや情報を配置するものとする。
ステップS1706では、情報処理装置101は、伝票確定ボタン2202をステップS1705でコンテキストメニューに配置された明細反映ボタン2201の下に配置し、ステップS1707では、配置した伝票確定ボタン2202の状態を非アクティブ(実行不可能な状態)とする。これは、明細データがまだサーバ102に存在していないことを明示するために、あえて伝票確定ボタン2202を配置して、ユーザが当該ボタンを押下できないような非アクティブ状態としている。本実施例では、非アクティブとしているが、非表示としてしまってもよい。この場合には、コンテキストメニューには、明細反映ボタン2201だけがアクティブな状態(実行可能な状態)で表示されることになる。
ステップS1705乃至ステップS1707における処理の結果、図18に示すキーボード呼び出し時のコンテキストメニューの表示パターン1800のうち、表示パターン1801に示すような表示形態で明細反映ボタン2201と伝票確定ボタン2202が表示される。伝票確定ボタン2202は、ユーザによって選択され、実行を指示されたとしても、反応しない状態(非アクティブ状態)となっている。使用可能なボタンから優先的な位置に表示することで、より少ないキー押下でユーザが実行したいボタンに辿りつくことができるようになっている。
一方、ステップS1708では、情報処理装置101は、ステップS1704において判定された未入力の必須入力項目をコンテキストメニューの最上部に配置する。具体的には、未入力の必須入力項目の項目名を表示し、未入力である旨を通知するようにする。そして、コンテキストメニューに表示された当該項目名を選択すると、該当する入力フォームにフォーカスが移動するようにする。選択された項目名から一致する項目名を持つ入力フォームを特定し、特定された入力フォームにフォーカスを移動するように制御すればよい。入力フォームの特定と、フォーカスの移動については従来技術であるので、説明を省略する。こうすることで、容易に必須入力項目にフォーカスを移動させて、入力を促すことが可能となる。
ステップS1709では、情報処理装置101は、ステップS1708でコンテキストメニューに表示された未入力の必須入力項目名の下に明細反映ボタン2201を配置し、ステップS1710では、伝票確定ボタン2202をその明細反映ボタン2201の下に配置する。そして、ステップS1711では、情報処理装置101は、ステップS1709で配置された明細反映ボタン2201を非アクティブ状態にし、ステップS1712では、ステップS1710で配置された伝票確定ボタン2202を非アクティブ状態にする。明細データがサーバ102に記憶されておらず、更に未入力の必須入力項目もあることから、明細反映ボタン2201も伝票確定ボタン2202も使用することができない。よって、この2つのボタンを非アクティブ状態としている。本実施例では、非アクティブとしているが、非表示としてしまってもよい。この場合には、コンテキストメニューには、未入力の必須入力項目だけが表示されることになる。
ステップS1708乃至ステップS1712における処理の結果、図18に示すキーボード呼び出し時のコンテキストメニューの表示パターン1800のうち、表示パターン1802に示すような表示形態で未入力の必須入力項目と明細反映ボタン2201と伝票確定ボタン2202が表示される。このうち、明細反映ボタン2201と伝票確定ボタン2202は、非アクティブ状態である。
ステップS1703で明細データがサーバ102に存在すると判定された場合には、ステップS1713では、情報処理装置101は、ステップS1704と同様に、未入力の必須入力項目があるか否かを判定する(判定手段)。具体的には処理内容については、ステップS1704と同様である。未入力の必須入力項目があると判定された場合には、ステップS1716に処理を進め、未入力の必須入力項目がないと判定された場合には、ステップS1714に処理を進める。
ステップS1714では、情報処理装置101は、明細反映ボタン2201をコンテキストメニューの最上部に配置し、ステップS1715では、伝票確定ボタン2202をステップS1714で配置された明細反映ボタン2201の下に配置する。今回は、明細データもあり、すべての必須入力項目も入力済みであることから、どちらのボタンもユーザからの実行を受け付ける状態(アクティブ状態)にしておく。ステップS1714、ステップS1715における処理の結果、図18に示すキーボード呼び出し時のコンテキストメニューの表示パターン1800のうち、表示パターン1803に示すような表示形態で明細反映ボタン2201と伝票確定ボタン2202が表示される。どちらもアクティブ状態で表示されている様子がわかる。
一方、ステップS1716では、情報処理装置101は、コンテキストメニューの最上部に伝票確定ボタン1716を配置する。そして、ステップS1717では、情報処理装置101は、未入力の必須入力項目をコンテキストメニューに配置する。具体的な処理方法は前述の通りである。更に、ステップS1718では、情報処理装置101は、明細反映ボタン2201をステップS1717で配置した未入力の必須入力項目の下に配置し、ステップS1719では、配置した明細反映ボタン2201を非アクティブ状態にする。本実施例では、非アクティブとしているが、非表示としてしまってもよい。この場合には、コンテキストメニューには、伝票確定ボタン2202と未入力の必須入力項目が表示されることになる。
ステップS1716乃至ステップS1719における処理の結果、図18に示すキーボード呼び出し時のコンテキストメニューの表示パターン1800のうち、表示パターン1803に示すような表示形態で伝票確定ボタン2202と未入力の必須入力項目と明細反映ボタン2201が表示される。このうち、明細反映ボタン2201は、非アクティブ状態である。つまり、明細データはサーバ102に存在するので伝票の確定は可能だが、現在入力しているデータについては、未入力の必須入力項目が存在するので、明細反映ボタン2201を実行することができない。よって、最上部にアクティブ状態の伝票確定ボタン2202を配置し、次に未入力の必須入力項目、非アクティブ状態の明細反映ボタン2201という順に配置している。
ステップS1720では、情報処理装置101は、ステップS1705乃至ステップS1707、またはステップS1708乃至ステップS1712、またはステップS1714乃至ステップS1715、またはステップS1716乃至ステップS1719のいずれかで構築されたコンテキストメニューを、仕訳入力画面2200に表示させる。例えば、ステップS1714乃至ステップS1715で構築されたコンテキストメニューは、図13のコンテキストメニュー例1301に示すような形態で表示させる。コンテキストメニューを表示すると、最上部のメニューにフォーカスが移動する。つまり、図13のコンテキストメニュー例1301で言えば、明細反映ボタン2201にフォーカスが当たっていることになる。こうすることで、コンテキストメニューの呼び出しとEnterキー押下の2回で明細反映ボタン2201を実行することが可能となる。
ステップS1721では、情報処理装置101は、ステップS1720で表示されたコンテキストメニューに対する選択を受け付けて、そのメニュー内容を実行するための処理を実行する。コンテキストメニュー動作処理の詳細は、後述する図20に示す。
次に、本発明の第2の実施例における情報処理装置101によって行われるマウス用表示処理について、図19に示すフローチャートを用いて説明する。尚、S1901乃至S1906の各ステップは情報処理装置101におけるCPU201の制御の下、処理が行われる。
尚、この処理を情報処理装置101に実行させるためのプログラムは、情報処理装置101にインストールされている業務支援アプリケーションの一部、若しくはアドオンプログラムとして用意されていてもよいし、業務支援アプリケーションとは別にインストールされたプログラムとして用意されていてもよい。
まず、ステップS1901では、情報処理装置101は、仕訳入力画面2200に入力された項目のうち、必須入力項目がすべて入力されているかどうかを判定するために、必須入力項目マスタ1140(図12参照)を取得する。必須入力項目マスタ1140は、情報処理装置101に記憶されていてもよいし、サーバ102から取得してもよい。
ステップS1902では、情報処理装置101は、仕訳入力画面2200に入力された入力項目の項目名を特定する。項目名は、入力されている項目に対応する項目名を特定するようにすればよい。例えば、HTMLで生成されたページであれば、入力フォームに該当するタグに属性として項目名を含めておき、それを読み取るようにしてもよい。特定する方法は特に問わない。
ステップS1903では、情報処理装置101は、未入力の必須入力項目があるか否かを判定する。具体的には、ステップS1901で取得した必須入力項目マスタ1140と、ステップS1902で特定した入力済み項目の項目名とを比較して、必須入力項目マスタ1140に存在する必須入力項目1143がすべて入力済みかどうかを判定すればよい。未入力の必須入力項目があると判定された場合には、ステップS1904に処理を進め、未入力の必須入力項目がないと判定された場合には、ステップS1905に処理を進める。
ステップS1904では、情報処理装置101は、ステップS1903において判定された未入力の必須入力項目をコンテキストメニューの最上部に配置する。具体的には、未入力の必須入力項目の項目名を表示し、未入力である旨を通知するようにする。そして、コンテキストメニューに表示された当該項目名を選択すると、該当する入力フォームにフォーカスが移動するようにする。選択された項目名から一致する項目名を持つ入力フォームを特定し、特定された入力フォームにフォーカスを移動するように制御すればよい。入力フォームの特定と、フォーカスの移動については従来技術であるので、説明を省略する。こうすることで、容易に必須入力項目にフォーカスを移動させて、入力を促すことが可能となる。
ステップS1905では、情報処理装置101は、ステップS1904で構築されたコンテキストメニューか、Webブラウザ規定のメニューのみが配置されたコンテキストメニューを表示する。つまり、明細反映ボタン2201や伝票確定ボタン2202といったボタンは表示させない。マウスでコンテキストメニューの表示指示がなされたということは、マウス操作が主体のユーザであると考えられる。各種ボタンまでマウスのカーソルを移動することは、Tabキーを何度も押下するよりも労力は低いことと、コンテキストメニューの項目が増えることによる複雑化を防ぐために、コンテキストメニューには各種ボタンを表示させないようにしている。ステップS1905における処理の結果、図18に示すマウス呼び出し時のコンテキストメニューの表示パターン1810のうち、表示パターン1810に示すような表示形態で未入力の必須入力項目が表示される。
ステップS1906では、情報処理装置101は、ステップS1904で構築されたコンテキストメニューがあれば、ステップS1904で構築されたコンテキストメニューを仕訳入力画面2200に表示させ、それがない場合には、Webブラウザが備える規定のコンテキストメニューだけを表示する。例えば、必須入力項目がすべて入力済みでマウスによってコンテキストメニューの表示指示がなされた場合には、図14のコンテキストメニュー例1401に示すような形態で表示させる。必須入力項目がすべて入力済みなので、未入力の必須入力項目を表示させる必要はなく、Webブラウザが備える規定のコンテキストメニューだけを表示させる。
次に、本発明の第2の実施例における情報処理装置101によって行われるコンテキストメニュー動作処理について、図20に示すフローチャートを用いて説明する。尚、S2001乃至S2009の各ステップは情報処理装置101におけるCPU201の制御の下、処理が行われる。
尚、この処理を情報処理装置101に実行させるためのプログラムは、情報処理装置101にインストールされている業務支援アプリケーションの一部、若しくはアドオンプログラムとして用意されていてもよいし、業務支援アプリケーションとは別にインストールされたプログラムとして用意されていてもよい。
まず、ステップS2001では、情報処理装置101は、前述したステップS1720またはステップS1905で表示されたコンテキストメニューに対する操作を受け付ける。
ステップS2002では、情報処理装置101は、ステップS2001で受け付けた操作が、コンテキストメニューに表示された未入力の必須入力項目に対する実行指示であるか否かを判定する。未入力の必須入力項目に対する実行指示であると判定された場合には、ステップS2003に処理を進め、そうでない場合には、ステップS2004に処理を進める。
ステップS2003では、情報処理装置101は、コンテキストメニューにおいて選択された未入力の必須入力項目に対応する入力フォームにフォーカスを移動させる。具体的には、当該必須入力項目の項目名と、入力フォームの項目名が一致する入力フォームを特定して、フォーカスを移動させればよい。処理方法については、前述の通りである。
ステップS2004では、情報処理装置101は、ステップS2001で受け付けた操作が、コンテキストメニューに表示された明細反映ボタン2201に対する実行指示であるか否かを判定する。明細反映ボタン2201に対する実行指示であると判定された場合には、ステップS2005に処理を進め、そうでない場合には、ステップS2006に処理を進める。尚、非アクティブ状態の明細反映ボタン2201に対する押下を受け付けた場合には、実行指示を受け付けないので、ステップS2006に処理を進める。
ステップS2005では、情報処理装置101は、仕訳入力画面2200に入力された各種データをサーバ102に送信し、明細データとして反映する処理を実行する。明細データは、伝票確定ボタン2202の押下に応じて内容の整合性チェックが行われ、伝票登録ボタン2203の押下に応じて、仕訳伝票マスタ1130に登録される仕組みである。これらの仕組みについては従来技術であるので、説明を省略する。
ステップS2006では、情報処理装置101は、ステップS2001で受け付けた操作が、コンテキストメニューに表示された伝票確定ボタン2202に対する実行指示であるか否かを判定する。伝票確定ボタン2202に対する実行指示であると判定された場合には、ステップS2007に処理を進め、そうでない場合には、ステップS2008に処理を進める。尚、非アクティブ状態の伝票確定ボタン2202に対する押下を受け付けた場合には、実行指示を受け付けないので、ステップS2008に処理を進める。
ステップS2007では、情報処理装置101は、ステップS2005で送信した明細データの入力チェックと、問題がなければ確定する旨の指示をサーバ102に対して送信する。サーバ102では、明細データの整合性チェック等、入力チェックを行い、問題がなければ明細データを確定し、伝票データとして登録指示があるまで一時保存する。
ステップS2008では、情報処理装置101は、コンテキストメニューの終了指示があったか否かを判定する。具体的には、表示されたコンテキストメニュー以外の場所が選択された場合や、もう一度コンテキストメニューの呼び出し操作がなされた場合、コンテキストメニューに含まれる終了メニューが押下された場合などである。終了指示があったと判定された場合には、ステップS2009に処理を進め、そうでない場合には、ステップS2001に処理を戻す。
ステップS2009では、情報処理装置101は、コンテキストメニューの終了指示があったので、表示されたコンテキストメニューを閉じ、コンテキストメニュー動作処理を終了して呼び出し元に処理を戻す。
以上説明したように、第2の実施例によれば、コンテキストメニューをキーボードで呼び出した場合と、マウスで呼び出した場合で、それぞれ表示するコンテキストメニューのメニュー項目を変更することが可能となるので、ユーザの業務を効率的に支援することができる。
本発明は、例えば、システム、装置、方法、プログラム若しくは記憶媒体等としての実施形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、1つの機器からなる装置に適用してもよい。
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムを、システム或いは装置に直接、或いは遠隔から供給するものを含む。そして、そのシステム或いは装置のコンピュータが前記供給されたプログラムコードを読み出して実行することによっても達成される場合も本発明に含まれる。
したがって、本発明の機能処理をコンピュータで実現するために、前記コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等の形態であってもよい。
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RWなどがある。また、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM,DVD−R)などもある。
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、前記ホームページから本発明のコンピュータプログラムそのもの、若しくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。
また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。
また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、ダウンロードした鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。その他、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現される。
なお、前述した実施形態は、本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。即ち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。