本発明の技術的特徴を簡単に説明すると、画像読み取り機構を備える画像処理装置と通信可能な、クライアント装置から申請された申請内容情報を管理する管理サーバは、前記申請内容情報が承認者によって否認されたか否かを判定し、申請内容情報が否認されたと判定された場合に、否認された申請内容情報に再度画像データを対応づけて記憶させるべく、否認された申請内容情報に従って、前記画像処理装置で画像の読み取りを実行するためのスキャンチケットを生成することである。
以下、図面を参照して、本発明の技術的特徴を、以下の実施の形態で詳細に説明する。
図1は、本発明の管理サーバとして好適なチケットサーバ100(ワークフローサーバの役割も行う)および画像処理装置として好適な複合機300を含む画像処理システムの構成の一例を示すシステム構成図である。
図1に示すように、本実施形態の画像処理システムは、1又は複数のクライアント端末400(例えば、ユーザ毎)、クライアント端末(管理者)500、複数の複合機300、管理サーバ(チケットサーバ/ワークフローサーバ)100、認証サーバ200がローカルエリアネットワーク(LAN)600を介して接続され、情報の送受信を行う構成となっている。なお、後述するように、管理サーバ100は、チケットサーバとワークフローサーバとして、別の装置に分けて構成してもよい。
クライアント端末400には、管理サーバ100(ワークフローサーバ側の機能)と通信を行い、交通費精算で用いる帳票に必要なフォーム及びテキストデータを取得し、交通費申請画面を表示するためのソフトウェア(例えば、ブラウザ)がインストールされている。このソフトウェア(ブラウザ)は、ユーザにより交通費申請画面で入力指定された申請内容を示す申請内容情報をHTTP通信を行うことにより、管理サーバ100へ送信する。
管理サーバ100では、交通費精算のような業務ワークフローを制御するウェブアプリケーションがインストールされており、クライアント端末400から受信した申請内容情報を内部のメモリに蓄積する。そして、申請内容情報に基づいて、業務ワークフローを制御し、アクティビティを進めたり、差し戻したりワークフロー制御を行う。アクティビティとは、ワークフローの各工程のことであり、申請工程、承認工程などに相当する。
認証サーバ200は、ICカード認証用テーブルを記憶しており、複合機300のカードリーダへICカードをかざすことによってなされる認証依頼に応じて、該ICカード認証用テーブルを用いて認証処理を行う。
クライアント端末(管理者)500は、申請内容に対する承認者の端末であって、管理サーバ100に申請された内容を確認し、承認・否認といったワークフロー処理を行う。
以下、図2を用いて、図1に示したクライアント端末、クライアント端末(管理者)、管理サーバ、認証サーバに適用可能な情報処理装置のハードウェア構成について説明する。図2は、図1に示したクライアント端末,管理サーバ、認証サーバに適用可能な情報処理装置のハードウェア構成を示すブロック図である。
図2において、201はCPUで、システムバス204に接続される各デバイスやコントローラを統括的に制御する。また、ROM202あるいは外部メモリ211には、CPU201の制御プログラムであるBIOS(Basic Input / Output System)やオペレーティングシステムプログラム(以下、OS)や、各サーバ或いは各PCの実行する機能を実現するために必要な後述する各種プログラム等が記憶されている。
203はRAMで、CPU201の主メモリ、ワークエリア等として機能する。CPU201は、処理の実行に際して必要なプログラム等をROM202あるいは外部メモリ211からRAM203にロードして、該ロードしたプログラムを実行することで各種動作を実現するものである。
また、205は入力コントローラで、キーボード(KB)209や不図示のマウス等のポインティングデバイス等からの入力を制御する。206はビデオコントローラで、CRTディスプレイ(CRT)210等の表示器への表示を制御する。なお、図2では、CRT210と記載しているが、表示器はCRTだけでなく、液晶ディスプレイ等の他の表示器であってもよい。これらは必要に応じて管理者が使用するものである。
207はメモリコントローラで、ブートプログラム,各種のアプリケーション,フォントデータ,ユーザファイル,編集ファイル,各種データ等を記憶するハードディスク(HD)や、フレキシブルディスク(FD)、或いはPCMCIAカードスロットにアダプタを介して接続されるコンパクトフラッシュ(登録商標)メモリ等の外部メモリ211へのアクセスを制御する。
208は通信I/Fコントローラで、ネットワーク(例えば、図1に示したLAN600)を介して外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、TCP/IPを用いた通信等が可能である。
なお、CPU201は、例えばRAM203内の表示情報用領域へアウトラインフォントの展開(ラスタライズ)処理を実行することにより、CRT210上での表示を可能としている。また、CPU201は、CRT210上の不図示のマウスカーソル等でのユーザ指示を可能とする。
本発明を実現するための図4〜図8の管理サーバ100、クライアント端末400で実行されるフローチャートで後述する各ステップの処理は、コンピュータで読み取り実行可能なプログラムにより実行され、そのプログラムは外部メモリ211に記録されている。そして、必要に応じてRAM203にロードされることによりCPU201によって実行されるものである。さらに、上記プログラムの実行時に用いられる定義ファイル及び各種情報テーブル等も、外部メモリ211に格納されており、これらについての詳細な説明も後述する。
次に、図3を用いて、図1に示した複合機300のハードウェア構成について説明する。
図3は、図1に示した複合機300のハードウェア構成の一例を示すブロック図である。
図3において、316はコントローラユニットで、画像入力デバイスとして機能するスキャナ314や、画像出力デバイスとして機能するプリンタ部312と接続する一方、LAN(例えば、図1に示したLAN600)や公衆回線(WAN)(例えば、PSTNまたはISDN等)と接続することで、画像データやデバイス情報の入出力を行う。
コントローラユニット316において、301はCPUで、システム全体を制御するプロセッサである。302はRAMで、CPU301が動作するためのシステムワークメモリであり、プログラムを記録するためのプログラムメモリや、画像データを一時記録するための画像メモリでもある。
303はROMで、システムのブートプログラムや各種制御プログラムが格納されている。304はハードディスクドライブ(HDD)で、システムを制御するための各種プログラム,画像データ等を格納する。
307は操作部インタフェース(操作部I/F)で、操作部(キーボード)308とのインタフェース部である。また、操作部I/F307は、操作部308から入力したキー情報(例えば、スタートボタンの押下)をCPU301に伝える役割をする。
305はネットワークインタフェース(Network I/F)で、ネットワーク(LAN)600に接続し、データの入出力を行う。306はモデム(MODEM)で、公衆回線に接続し、FAXの送受信等のデータの入出力を行う。
318は外部インタフェース(外部I/F)で、USB、IEEE1394,プリンタポート,RS−232C等の外部入力を受け付けるI/F部であり、本実施形態においては認証で必要となる携帯端末のICカード(記憶媒体)の読み取り用のカードリーダ319が外部I/F部318に接続されている。そして、CPU301は、この外部I/F318を介してカードリーダ319による携帯端末のICカードからの情報読み取りを制御し、該携帯端末のICカードから読み取られた情報を取得可能である。以上のデバイスがシステムバス309上に配置される。
320はイメージバスインタフェース(IMAGE BUS I/F)であり、システムバス309と画像データを高速で転送する画像バス315とを接続し、データ構造を変換するバスブリッジである。
画像バス315は、PCIバスまたはIEEE1394で構成される。画像バス315上には以下のデバイスが配置される。
310はラスタイメージプロセッサ(RIP)で、例えば、PDLコード等のベクトルデータをビットマップイメージに展開する。311はプリンタインタフェース(プリンタI/F)で、プリンタ部312とコントローラユニット316を接続し、画像データの同期系/非同期系の変換を行う。また、313はスキャナインタフェース(スキャナI/F)で、スキャナ314とコントローラユニット316を接続し、画像データの同期系/非同期系の変換を行う。
317は画像処理部で、入力画像データに対し補正、加工、編集を行ったり、プリント出力画像データに対して、プリンタの補正、解像度変換等を行う。また、これに加えて、画像処理部317は、画像データの回転や、多値画像データに対してはJPEG、2値画像データはJBIG、MMR、MH等の圧縮伸張処理を行う。そして、この画像処理部317は、スキャナ部314を駆動して画像読み取りされた画像データを画像処理して、ファイル出力可能な形式(例えば、PDF形式ファイル)に変換し、CPU301と連携して、ネットワークI/F305を介して、外部装置に画像データのファイルを送信することができる。
スキャナ部314は、原稿となる紙上の画像を照明し、CCDラインセンサで走査することで、ラスタイメージデータとして電気信号に変換する。原稿用紙は原稿フィーダのトレイにセットし、装置使用者が操作部308から読み取り起動指示することにより、CPU301がスキャナ314に指示を与え、フィーダは原稿用紙を1枚ずつフィードし原稿画像の読み取り動作を行う。
プリンタ部312は、ラスタイメージデータを用紙上の画像に変換する部分であり、その方式は感光体ドラムや感光体ベルトを用いた電子写真方式、微少ノズルアレイからインクを吐出して用紙上に直接画像を印字するインクジェット方式等があるが、どの方式でも構わない。プリント動作の起動は、CPU301からの指示によって開始する。なお、プリンタ部312には、異なる用紙サイズまたは異なる用紙向きを選択できるように複数の給紙段を持ち、それに対応した用紙カセットがある。
操作部308は、LCD表示部を有し、LCD上にタッチパネルシートが貼られており、システムの操作画面を表示するとともに、表示してあるキーが押されるとその位置情報を操作部I/F307を介してCPU301に伝える。また、操作部308は、各種操作キーとして、例えば、スタートキー、ストップキー、IDキー、リセットキー等を備える。
尚、表示部はプリンタによって表示性能が異なり、タッチパネルを介して操作をできるプリンタ、単に液晶画面を備え文字列を表示(印刷状態や印刷している文書名の表示)させるだけのプリンタによって本発明は構成されている。
ここで、操作部308のスタートキーは、原稿画像の読み取り動作を開始する時などに用いる。スタートキーの中央部には、緑と赤の2色LEDがあり、その色によってスタートキーが使える状態にあるかどうかを示す。また、操作部308のストップキーは、稼働中の動作を止める働きをする。また、操作部308のIDキーは、使用者のユーザIDを入力する時に用いる。リセットキーは、操作部からの設定を初期化する時に用いる。
カードリーダ319は、CPU301からの制御により、携帯端末内に備えられたICカードに記憶されている情報を読み取り、該読み取った情報を外部I/F318を介してCPU301へ通知する。
以上のような構成によって、複合機300は、スキャナ314から読み込んだ画像データをLAN600上に送信したり、LAN600から受信した印刷データをプリンタ部312により印刷出力することができる。
また、スキャナ314から読み込んだ画像データをモデム306により、公衆回線上にFAX送信したり、公衆回線からFAX受信した画像データをプリンタ部312により出力することできる。
図4は、申請者端末であるクライアント端末400(クライアント装置)及び管理サーバ100(チケットサーバ/ワークフローサーバ)及び管理者端末であるクライアント端末500、画像処理装置である複合機300による全体の流れを説明するフローチャートである。具体的には、ワークフローシステムの申請処理と、申請内容に基づくスキャンチケット生成処理、申請内容の承認処理の一例を示すフローチャートである。なお、ステップS401、ステップS404〜ステップS408、ステップS411、ステップS415〜S419は、クライアント端末400のCPU201が実行する。ステップS402、ステップS403、ステップS409、ステップS410、ステップS414は、管理サーバ100のCPU201が実行する。そして、ステップS412は、複合機300のCPU301が実行する。ステップS413は、クライアント端末500(管理者端末)と管理サーバ100が実行する。
ステップS401では、クライアント端末400は、管理サーバ100のワークフローサーバに対して、申請画面の取得要求を送信する。具体的には、クライアント端末400で表示部にブラウザを起動させ、交通費申請等の業務申請をするためのワークフローのURLを入力することで、ワークフローのウェブアプリケーションを実行するためのログイン要求およびそのログイン後のトップ画面の取得要求を送信する。
ステップS402では、ワークフローサーバ100は、クライアント端末400から、申請画面要求を受信し、ステップS403で交通費の精算を行うための申請画面の表示情報(申請画面情報)をクライアント端末400に返送する(申請画面情報送信)。この申請画面の表示情報とは、例えばHTML形式の表示情報であり、この表示情報に基づいて、クライアント端末400ではブラウザで表示することが可能となっている。なお、申請画面の表示を行う際には、ユーザはクライアント端末400からユーザ認証を用いてログインを行う必要があり、ステップS402でログインされてから、申請を行うステップS410までは、セッション管理されており、ログインしているユーザ識別情報をワークフローサーバでは管理しており、ユーザを識別することができるものとする。なお、ワークフロー処理において、ユーザ識別情報を記憶してセッション管理することは既知の技術であるため、その詳細な説明は省略する。
次にステップS404では、クライアント端末400は、ワークフローサーバ100から送信された申請画面の表示情報を受信し、ステップS405で、表示情報に基づいて表示部にブラウザで申請画面の表示を行う。ここで表示される申請画面の一例を図9に示す。
図9は、クライアント端末400又はクライアント端末500の表示部にブラウザにより表示される申請画面の一例である。申請画面のメインメニュー900では、交通費精算一覧ボタン901と、交通費精算登録ボタン902が用意されている。交通費精算登録ボタン902が押下されると、交通費精算入力画面(図10)に表示が切り替わる。具体的には、交通費精算登録ボタン902が押下されると、ワークフローサーバ100に交通費精算入力画面の表示要求をHTTP通信で行い、その要求に応じて交通費精算入力画面の表示情報を受信して、表示部に図10の交通費精算入力画面を表示する。一方、交通費精算一覧ボタン901が押下されると、交通費精算一覧画面(図17の1700)に表示が切り替わる。この場合も同様に、交通費精算一覧ボタン901が押下されると、ワークフローサーバ100に交通費精算一覧画面の表示要求をHTTP通信で行い、その要求に応じて交通費精算一覧画面の表示情報を受信して、表示部に図17の交通費精算一覧画面1700を表示する。クライアント端末500の表示部で未承認の交通費精算を承認する場合には、1701が表示される。
図10は、クライアント端末400の表示部にブラウザにより表示される交通費精算入力画面の一例である。交通費精算入力画面では、ユーザにより申請内容を入力さえせるためのフィールドが項目1〜項目11まで用意されている。そして、申請内容の情報をワークフローサーバ100に登録要求するための「登録ボタン12」、申請内容をクリア(消去)してユーザに入力をし直しさせるための「クリアボタン13」、および、交通費精算のメインメニュー(図9)に表示画面を戻すための「戻るボタン14」がそれぞれ用意されている。
図10の各項目や各ボタンの説明を図11の交通費精算入力を行う表示画面の各項目の定義情報を用いて説明する。
項目1は、外出日をユーザが入力するための項目である。入力形式は、yyyy/mm/ddであり、登録ボタン押下時に、この設定値が管理サーバ100へ出力されて管理される。
項目2は、行先をユーザが入力するための項目である。登録ボタン押下時に、この設定値が管理サーバ100へ出力されて管理される。
項目3は、要件をユーザが入力するための項目である。登録ボタン押下時に、この設定値が管理サーバ100へ出力されて管理される。
項目4は、時間をユーザが入力するための項目である。入力形式は、hh:mmであり、外出時間として、開始と終了の2つの時間入力を行う。登録ボタン押下時に、この設定値<timeFrom>と<timeTo>が管理サーバ100へ出力されて管理される。
項目5は、交通手段をユーザが入力するための項目である。設定値としてはコンボボックス(プルダウンメニューでもよい)で選択可能であり、「1:電車・バス」「2:タクシー」「3:新幹線・特急」「4:飛行機」「5:その他」となっている。登録ボタン押下時に、選択された値<routeFrom>と<routeTo>が管理サーバ100へ出力されて管理される。
項目6は、経路をユーザが入力するための項目であり、開始と終了の2つの地点の入力を行う。登録ボタン押下時に、この設定値が管理サーバ100へ出力されて管理される。
項目7は、金額をユーザが入力するための項目である。登録ボタン押下時に、この設定値が管理サーバ100へ出力されて管理される。
項目8は、備考をユーザが入力するための項目である。登録ボタン押下時に、この設定値が管理サーバ100へ出力されて管理される。
項目9は、承認者をユーザが入力するための項目である。登録ボタン押下時に、この設定値が管理サーバ100へ出力されて管理される。なお、承認者9の値は、ユーザに指定させずに、管理サーバ100のワークフローサーバで組織データを管理しておき、ユーザから申請があったときに、ユーザの上司に相当する人を承認者に自動的に割り当てるようにしてもよい。
項目10は、発行元課をユーザが入力するための項目である。登録ボタン押下時に、この設定値が管理サーバ100へ出力されて管理される。なお、発行元課の値は、ユーザに指定させずに、管理サーバ100のワークフローサーバで課コードを管理しておき、ユーザから申請があったときに、ユーザの所属している課コードを自動的に割り当てるようにしてもよい。
項目11は、負担課をユーザが入力するための項目である。登録ボタン押下時に、この設定値が管理サーバ100へ出力されて管理される。
項目12は、登録ボタンであり、このボタンが押下されると、交通費精算入力画面で入力されている各項目(1〜12)が、管理サーバ100へ出力されて管理される。そして、この登録ボタンが押下された際に、項目5の「交通手段」で「1:電車・バス」以外が選択された場合には、申請者のユーザID(ユーザ識別情報)に紐づけて、領収書のためのジョブID(YYYYMMDD:日付の連番)、ジョブ名称(交通費精算領収書)、機密フラグ(1:一般、2:秘、3:極秘)、ジョブ実行時間(システムタイム)、スキャンフラグ(0:未スキャン、1:スキャン済み)、スキャンファイル名(未スキャン時は空欄、スキャン済み時はファイル名)が、管理サーバ100に登録されることになる。
項目13は、クリアボタンであり、このボタンが押下されると、交通費精算入力画面で入力されている各項目の値がクリアされる。
項目14は、戻るボタンであり、このボタンが押下されると、メニュー画面に表示を戻す。
このようにして申請される申請内容情報(申請ファイル)を、図12を用いて説明する。図12は、クライアント端末400から送信されてくる申請された内容により管理サーバ100で管理される申請内容情報(申請ファイル)の一例である。
図12の申請内容情報において、項目名「外出日」は、図10の交通費精算入力画面の項目1の「外出日」で入力された値が設定される。
項目名「行先」は、図10の交通費精算入力画面の項目2の「行先」で入力された値が設定される。
項目名「要件」は、図10の交通費精算入力画面の項目3の「要件」で入力された値が設定される。
項目名「時間(From)」は、図10の交通費精算入力画面の項目4の「時間」で入力された<timeFrom>の値が設定される。
項目名「時間(To)」は、図10の交通費精算入力画面の項目4の「時間」で入力された<timeTo>の値が設定される。
項目名「交通手段」は、図10の交通費精算入力画面の項目5の「交通手段」で選択・入力された値が設定される。ここで設定される値は、「1」〜「5」の値だけでよい。
項目名「経路(From)」は、図10の交通費精算入力画面の項目6の「経路」で入力された<routeFrom>が設定される。
項目名「経路(To)」は、図10の交通費精算入力画面の項目6の「経路」で入力された<routeTo>が設定される。
項目名「金額」は、図10の交通費精算入力画面の項目7の「金額」で入力された値が設定される。
項目名「備考」は、図10の交通費精算入力画面の項目8の「備考」で入力された値が設定される。
項目名「承認者」は、図10の交通費精算入力画面の項目9の「承認者」で入力された値が設定される。なお、前述したように、承認者9の値がユーザ指定ではなく、管理サーバ100のワークフローサーバで組織データを管理している場合には、ユーザから申請があったときに、ユーザの上司に相当する人を承認者に自動的に割り当てるようにしてもよい。
項目名「発行元課」は、図10の交通費精算入力画面の項目10の「発行元」で入力された値が設定される。なお、前述したように、発行元課の値がユーザ指定ではなく、管理サーバ100のワークフローサーバで課コードを管理している場合には、ユーザから申請があったときに、ユーザの所属している課コードを自動的に割り当てるようにしてもよい。
項目名「負担課」は、図10の交通費精算入力画面の項目11の「負担課」で入力された値が設定される。
項目名「ユーザID」は、交通費精算のワークフローにログインしたときのログインIDが、ユーザID(ユーザ識別情報)として登録される。このユーザIDは、前述したように、ワークフローサーバでセッション管理する際に、ログインしているユーザ識別情報を管理しているものとする。また、これに限ることなく、交通費精算入力画面(図10)で、新たにユーザIDの入力項目を用意し、この画面を介して入力されたユーザIDを用いて管理してもよい。
項目名「ユーザ名」は、上記のユーザIDに対応するユーザ名である。ユーザIDとユーザ名との対応テーブル(図示省略)は、あらかじめ外部メモリ211に格納されている。また、その他の手法として、ユーザIDとユーザ名の対応テーブルを有している認証サーバに、ユーザIDをキーにしてユーザ名の問い合わせを行い、その応答でユーザ名を取得して、申請ファイルに設定してもよい。
項目名「更新日時」は、交通費精算入力画面で登録ボタンが押下されたときのタイムスタンプを設定する。
項目名「スキャン予約ジョブID」は、交通費精算入力画面で登録ボタンが押下されたときに、スキャン予約情報(スキャンチケット)作成処理で採番されたジョブIDを設定する。
項目名「スキャン予約ジョブ名」は、交通費精算入力画面で登録ボタンが押下されたときに、スキャン予約情報(スキャンチケット)作成処理で作成されたジョブ名を設定する。設定内容としては、例えば、「交通費領収書(yyyymmdd−日付の連番)」というジョブ名称でよい。ここで設定されるジョブ名称は、後述するように、複合機300の操作部にジョブリストとして一覧表示される。
項目名「スキャンフラグ」は、スキャンの状態を設定するフラグである。スキャンが実行され、スキャン結果のPDFファイルがFTP送信されて管理サーバ100に格納された際に、フラグを「1」に設定する。スキャン待ちの状態では、フラグは「0」となっている。
項目名「スキャンファイル名」は、スキャン結果のファイル名が設定される。スキャンが実行され、FTPでPDFファイルがいるが送信されて管理サーバ100に格納された際に、そのファイル名を設定する。このファイル名は、複合機300で付与されるものであるが、本実施の形態では、「スキャン予約ジョブID+タイムスタンプ.pdf」というファイル名となる。
図4のフローチャートに説明を戻す。ステップS406では、ユーザ操作に従って、図10の交通費精算入力画面を介して申請情報の入力を受け付ける。そして、ステップS407では、登録ボタン12が押下されて、申請の指示を受け付けたかを判断する。申請の指示を受け付けたと判断されるとステップS408で、交通費精算入力画面を介して入力されている申請情報の内容を示す申請内容情報を、管理サーバ100へ送信することで申請を行う。一方、申請の指示を受け付けていない場合には、ステップS406の申請情報の入力ステップを繰り返す。また、ステップS407で、クリアボタンが押下された場合にも、入力されている設定値をクリアした後、同様にステップS406に処理を戻す。
次にステップS409では、管理サーバ100は、クライアント端末400から申請内容情報を受信し、ステップS410で申請処理とスキャンチケット生成処理を行う。申請処理とスキャンチケット生成処理の詳細については、次の図5のフローチャートを用いて後述する。スキャンチケット生成処理が行われると、ステップS411では、申請された結果、スキャンチケットが生成された結果を受信して、表示部に表示する。その後、ユーザはスキャンを実行するため、複合機300に赴き、ステップS412で、複合機300においてスキャン処理が実行される。このスキャン処理については、図7のフローチャートを用いて後述する。
ステップS413では、クライアント端末400から申請された申請情報に対して、承認処理がなされる。この承認処理については、図8のフローチャートを用いて後述する。
ステップS414では、ステップS413の承認処理の結果(承認、否認)を、クライアント端末400からの要求に従って、送信する。
ステップS415では、承認結果を受信して、承認結果を表示する。ステップS416で、承認結果が承認か否かを判定する。承認結果が承認であった場合には、処理を終了し。承認結果が否認であった場合には、ステップS417で申請情報の詳細を、管理サーバ100(チケットサーバ/ワークフローサーバ)から取得して、表示する。
ステップS418では、図18で入力された否認理由により、再スキャンが必要と判定された場合には、再スキャンが必要である旨の通知を表示し、再スキャンをするためにステップS412へ処理を移す。また、否認理由により、申請情報自体が間違っている場合には、ステップS419で、申請情報が間違っている旨の通知を表示し、申請情報の変更画面に推移する。そして、変更画面で入力された情報に変更するべく、管理サーバ100(チケットサーバ/ワークフローサーバ)へ、申請情報を送信して、処理を終了とする。
図5は、管理サーバ100(チケットサーバ/ワークフローサーバ)における申請内容に基づく申請処理とスキャンチケット生成処理の一例を説明するフローチャートである。なお、ステップS501〜ステップS507は、管理サーバ100のCPU201が実行する。
ステップS501では、管理サーバ100(ワークフローサーバ)は、クライアント端末400から受信されて外部メモリ211に記憶されている申請内容情報を取得する。そして、ステップS502では、領収書の添付書類の申請が必要であるか否か、すなわち、申請内容情報の「交通手段」の項目の選択値が「1:電車・バス」であるか否かを判断する。「交通手段」の項目の選択値が「1:電車・バス」であれば、領収書の添付書類の申請が不要であると判断され、「交通手段」の項目の選択値が「1:電車・バス」以外であれば、領収書の添付書類の申請が必要であると判断される。なお、この判断のために、管理サーバ100には、「交通手段」の項目の選択値がどの選択値であれば領収書の添付書類の申請が必要であるかを示す対応テーブルを設けておくか、本プログラム中に記述しておくことにより実現できる。すなわち、本ステップで、クライアント端末400から申請された申請内容情報に従って、複合機300で画像の読み取り処理が必要であるか否かを判断することになる。
ステップS502で添付書類が不要であると判断されると、ステップS503に処理を進めて、申請内容情報(申請ファイル)をワークフローの新規伝票として登録し、次のアクティビティに処理を進めるワークフロー制御処理を行う。このワークフロー制御処理の詳細は既知の技術であるため詳細な説明は省略する。
一方、ステップS502で添付書類が必要であると判断されると、複合機300で画像読み取り処理を行わせるために、新規を含むスキャンチケットの生成命令を出力する。そして、ステップS505では、スキャンチケットを生成する。このスキャンチケットの生成処理の詳細については、図6を用いて後述する。なお、管理サーバ100が、ワークフローサーバとチケットサーバ(スキャンチケットサーバ)に分けて構成されている場合には、ステップS504でワークフローサーバがスキャンチケットの生成命令を、チケットサーバに対して送信することで、スキャンチケットの生成を要求する(生成要求)。ここで、管理サーバ100が、ワークフローサーバとチケットサーバ(スキャンチケットサーバ)に分けて構成されておらず、一体のサービスとして実現する場合には、スキャンチケット生成命令の出力は不要で、ステップS505へ処理を飛ばすことも可能である。
次にステップS506では、クライアント端末400から申請された申請内容情報と、ステップS505で生成されたスキャンチケットのID(チケット識別情報)とを紐づけて(対応づけて)外部メモリ211に記憶する。そして、ステップS507では、申請内容情報(申請ファイル)をワークフローの新規伝票として登録する。このときは、必要な情報(添付書類)が揃っていないため、ワークフロー制御では、次のアクティビティに進めない。
図6は、管理サーバ100(チケットサーバ/ワークフローサーバ)におけるスキャンチケット生成処理の具体例を示すフローチャートである。なお、ステップS601〜ステップS606は、管理サーバ100のCPU201が実行する。
ステップS601では、管理サーバ100のチケットサーバは、ワークフローサーバからスキャンチケット生成命令を受信する。なお、前述したように、チケットサーバとワークフローサーバの各機能を同一筺体の管理サーバ100で実現する場合には、スキャンチケット生成命令の送受信は省略可能である。また、承認者によって申請情報が否認された場合で、再スキャンが必要な否認理由であった場合にも、スキャンチケット生成命令を受信する。なお、スキャンチケット生成命令を用いる場合には、例えば、新規、追加、差替が含まれ、これにより、後述のステップS605で種別が決定される
ステップS602では、ユーザ名を取得する。この「ユーザ名」は、ワークフローにログインしているユーザのユーザIDに対応するユーザ名である。ユーザIDとユーザ名との対応テーブル(図示省略)は、あらかじめ管理サーバ100の外部メモリ211に格納されているので、ワークフローサーバからユーザIDを受け取ることにより、ユーザ名を取得することができる。また、ワークフローサーバ側で対応テーブルを保持している場合は、ユーザ名自体を送信してもらうことで取得してもよい。また、その他の手法として、ユーザIDとユーザ名の対応テーブルを有している認証サーバに、ユーザIDをキーにしてユーザ名の問い合わせを行い、その応答でユーザ名を取得してもよい。
次に、ステップS603では、スキャン設定情報を外部メモリ211から取得する。スキャン設定情報は、あらかじめ外部メモリ211に保存されている。スキャン設定情報は、画像処理装置である複合機300で画像の読み取りを実行するための指示内容が定義されている。この指示内容は、例えば、複合機300の画像読み取り機構(スキャナ部314)の読み取り解像度、カラー/モノクロ指定、読み取り原稿サイズを含んでいる。なお、スキャン設定情報には、更に、スキャンした画像ファイルをFTP送信する際の送信先であるFTP送信パスも含まれている。このFTP送信パスは、ワークフローサーバにおいて申請された交通費精算伝票ジョブに添付書類として保管するためのファイルパスであり、FTP送信パスは、ワークフローサーバ内の外部メモリ211に用意されているファイル管理領域である。
ステップS604では、管理サーバ100(チケットサーバ)は、スキャンチケットID(スキャン予約ジョブID)を発行する。このスキャンチケットIDは、クライアント端末から管理サーバ100(ワークフローサーバ)に交通費精算の申請がなされたときに、採番される。スキャンチケットID(スキャン予約ジョブID)は、例えば、yyyymmdd−日付の連番を用いて、「200912100001」(2009年12月10日に採番された0001番目のID)として採番される。よって、ステップS604の管理サーバ100のチケットサーバにおける処理は、ワークフローサーバから採番されたスキャンチケットID(チケット識別情報)を取得する処理に相当する。
次に、ステップS605では、スキャンチケットの種別を決定する。種別の決定は、申請情報が新規に登録された(申請された)場合には、チケット種別として、「1:新規」が決定される。また、承認者により、申請情報が否認された場合には、否認理由に応じてチケット種別に「2:追加」「3:差替」のフラグが決定される。より詳細には、図18にて否認理由「ファイル差し替え」が選択された場合には、チケット種別として「3:差替」に決定され、図18にて否認理由「ファイル追加」が選択された場合には、チケット種別として「2:追加」に決定される。これらに情報に従ってスキャンチケットが生成される。スキャンチケットのデータ構造の一例を図13を用いて説明する。
図13は、チケットサーバで生成されるスキャンチケットのデータ構成の一例を示す図である。
項目「ユーザID」は、図12で管理されている申請ファイルのユーザIDに対応し、ステップS601で取得されて設定される。
項目「スキャン予約のジョブID」は、図12で管理されている「スキャン予約ジョブID」に対応しており、このIDはワークフローサーバで採番されており、ステップS604でチケットサーバが取得し、ステップS605でスキャンチケットを生成するときに設定される。
項目「スキャン予約のジョブ名」は、図12で管理されている「スキャン予約ジョブ名」に対応しており、このジョブ名はワークフローサーバで生成されており、ステップS605でチケットサーバがスキャンチケットを生成するときに、スキャンチケットに設定される。
項目「機密フラグ」は、ワークフローサーバで、クライアント端末400から申請された申請内容に従って、画像読み取りすべき書類の重要度を判定し、その判定結果に応じて、「1:一般」「2:秘」「3:極秘」のいずれかの機密フラグが割り当てられる。ここで設定される機密フラグは、後述する複合機300の表示部にジョブリストを一覧表示する際に、ジョブ名称に引き続いて表示されることになる。書類の重要度の判定については、例えば、ワークフローにおける申請内容が「交通費精算」であれば、「1:一般」になり、機密情報を扱うワークフローで発生した画像読み取りであれば、「2:秘」や「3:極秘」として設定されることになる。ワークフローサーバでは、申請内容と極秘フラグを対応づける機密対応テーブル(図示省略)を外部メモリ211に保持しており、そのテーブルを検索することで、機密フラグの値を設定することができる。そして、チケットサーバは、ワークフローサーバから取得した機密フラグの値を、スキャンチケットに設定することになる。
項目「チケット種別」は、ワークフローサーバで、申請情報が新規に登録された(申請された)場合には、チケット種別として、「1:新規」が設定される。また、承認者により、申請情報が否認された場合には、否認理由に応じてチケット種別に「2:追加」「3:差替」のフラグが設定される。より詳細には、図18にて否認理由「ファイル差し替え」が選択された場合には、チケット種別として「3:差替」が設定され、図18にて否認理由「ファイル追加」が選択された場合には、チケット種別として「2:追加」が設定される。
項目「ジョブ実行時間」は、スキャン予約を行った日時が設定される項目であり、具体的には、ワークフローサーバからチケットサーバに依頼された時間を設定する。また、管理サーバ100の1サービスで実現する場合には、クライアント端末400から、交通費精算の申請がなされた時間を設定してもよい。
項目「FTP送信パス」は、スキャンした画像ファイルをFTP送信する際の送信先のファイルパスである。このFTP送信パスは、ワークフローサーバにおいて申請された交通費精算伝票ジョブに添付書類として保管するためのファイルパスであり、FTP送信パスは、ワークフローサーバ内の外部メモリ211に用意されているファイル管理領域である。
項目名「スキャンフラグ」は、図12で管理されている「スキャンフラグ」に対応しており、スキャンの状態を設定するフラグである。スキャンが実行され、スキャン結果のPDFファイルがFTP送信されて管理サーバ100に格納された際に、フラグを「1」に設定する。スキャン待ちの状態では、フラグは「0」となっている。
項目名「スキャンファイル名」は、図12で管理されている「スキャンファイル名」に対応しており、スキャン結果のファイル名が設定される。スキャンが実行され、FTPでPDFファイルがいるが送信されて管理サーバ100に格納された際に、そのファイル名を設定する。このファイル名は、複合機300で付与されるものであるが、本実施の形態では、「スキャン予約ジョブID+タイムスタンプ.pdf」というファイル名となる。
以上説明したようなデータ構成で、スキャンチケットが、チケットサーバにより生成される。
そして、ステップS606では、管理サーバ100のチケットサーバは、生成されたスキャンチケットを外部メモリ211に登録して処理を終了する。なお、このときに、ステップS603で取得されたスキャン設定情報が、生成されたデータ構造のスキャンチケットに登録される。このデータ構造では、スキャンファイル名の項目の後に、スキャン設定情報として引き続き持たせている。
このように、クライアント端末400から申請された申請内容に基づいて、複合機300で画像の読み取り処理が必要であると判断された場合に、管理サーバ100は、複合機300で画像の読み取りを実行するための指示内容が定義されているスキャンチケットを生成する(スキャンチケット生成)。より詳細には、クライアント装置からの申請内容情報の新規申請があった場合には、当該申請内容情報に新規に画像データを対応付けるためのスキャンチケットを生成する。
また、申請内容情報が否認されてスキャンチケットが生成される際、否認理由が差し替えを示す場合に、否認された申請内容情報に対応付けて記憶されている画像データを差し替えるためのスキャンチケットを生成し、否認理由が追加を示す場合に、否認された申請内容情報に対応付けて記憶されている画像データに加えて他の画像データを追加するためのスキャンチケットを生成する。
図7は、管理サーバ100と複合機300におけるログイン処理からスキャン処理を実行する処理手順の一例を示すフローチャートである。また、ステップS412のスキャン処理の詳細を示すフローチャートである。なお、ステップS701、S702、S705〜S709、S714〜S717は、複合機300のCPU301または画像処理部317が実行し、ステップS703、S704、S710〜S713、S718〜S723は、管理サーバ100のCPU201が実行する。
ステップS701では、複合機300は、操作者であるユーザからログイン要求を受け付け、認証サーバ200に認証要求を行い、認証されるとログイン成功として、複合機300の利用を許可する処理である。具体的な一例では、ユーザがICカードをカードリーダ319にかざすと、ICカードからカードIDが読み取られ、そのカードIDを用いて認証サーバ200に認証要求を行う。認証サーバ200では、ユーザIDとカードIDの対応テーブルを保管しており、複合機300から認証要求されたカードIDに対応するユーザIDが登録されているか判断し、登録されていれば認証成功とユーザIDを、登録されていなければ認証失敗の応答を行う。
ステップS702では、認証成功されたユーザIDをHDD304に記憶し、そのユーザIDを用いて管理サーバ100に対して、スキャンチケットの一覧要求を行う。この一覧要求には、ユーザIDが含まれている。また、複合機300では、ユーザがログアウトするまで、ログインしているユーザIDをHDD304に記憶しておき、ログイン中のユーザを把握している。
ステップS703では、管理サーバ100は、複合機300から送信されたスキャンチケットの一覧要求を受信し、その一覧要求に含まれるユーザIDに対応するスキャンチケットを特定する。そして、特定されたスキャンチケットのスキャンチケットID(スキャン予約ジョブID)、スキャン予約ジョブ名を含む一覧情報を生成・取得する。
ステップS704では、生成されたスキャンチケットの一覧情報を、要求元の複合機300に送信する。すなわち、複合機300からの一覧要求に応じて、スキャンチケット生成部により生成されているスキャンチケットを特定するためのチケット識別情報(スキャンチケットID)を含むスキャンジョブの一覧情報を、複合機300に送信する(一覧送信)。
ステップS705では、複合機300は、管理サーバ100からスキャンチケットの一覧情報を受信し、受信したスキャンチケットの一覧情報を、ステップS706で表示部(タッチパネルであるため操作部308)に表示する。ここで表示される操作画面の一例を、図14に示す。
図14は、複合機300において表示されるユーザログイン後の表示画面の一例を示す図である。表示画面1401は、複合機300においてユーザがログインした際に最初に表示される表示画面である。
この表示画面には、スキャン予約の表示領域、プリント予約の表示領域の他、マイメニューとして簡易な操作ボタンが用意されている。スキャン画面への遷移ボタン1402が押下されると、スキャン予約の表示領域に表示されているスキャン予約ジョブの一覧が拡大表示される(図15)。
また、マイメニューの表示領域中にあるスキャンボタン1403は、通常の複合機300における画像読み取りの開始ボタンであり、このボタン1403が押下されると、画像読み取り機構(スキャナ部314)が駆動し、原稿台に乗せられている原稿の画像読み取り処理が行われる。この通常の画像読み取り処理は、本発明の主要部に密接に関連する処理ではないため、詳細な説明は省略する。
図15に、複合機300において表示される、スキャン予約ジョブの一覧を表示する画面であり、かつ、スキャンチケットに基づくスキャン指示を行う際のスキャン確認画面の一例を示す図である。
1501には、管理サーバ100から送信されてきた一覧情報に含まれるスキャン予約ジョブ名が「文書名」の欄に表示される。また、チケット種別フラグの値が「種別」の欄に表示され、機密フラグの値が、「機密」の欄に表示され、スキャンチケットのジョブ実行時間の値が「予約日時」の欄に表示される。なお、この一覧に表示する値は、「文書名」の欄にスキャン予約ジョブ名を表示すれば、ユーザは画像読み取り処理が必要であることが認識できるので、少なくともこの「文書名」を表示することになる。
そして、一覧取得ボタン1502は、再度、管理サーバ100からスキャン予約ジョブの一覧情報の取得要求を行うための指示部である。ログインした後で、管理サーバ100に新たなワークフローの伝票が登録され、書類添付が必要なジョブでありスキャンチケットが発行されている場合には、この一覧取得ボタンを押下しないと、表示されないため用意されている。
このように、ステップS706のスキャンチケット一覧表示処理では、管理サーバ100に対する要求に応じて管理サーバ100から送信されるスキャンジョブの一覧情報を用いて、表示部(タッチパネル機能を有する操作部308)にスキャンジョブの一覧を表示する(表示制御)。
次にステップS707では、図15に表示されたスキャンチケットの一覧表示の操作画面(タッチパネル)から、ユーザにより画像読み取り処理を行う文書名の選択を受け付ける。具体的には、タッチパネル機能を備える操作画面(図15)上で、個別の文書名の部分がタッチされると、画像読み取り処理を行う文書名の選択を受け付けたことになる。
すなわち、表示部に表示されたスキャンジョブの一覧から、実行するスキャンジョブの選択と、実行の指示とを受け付ける(ユーザ操作受付)ことができる。
ステップS708では、文書名の選択がなされたことにより、図16の操作画面を表示し、スキャン指示を受け付けたか否かを判断する。図16の操作画面は、図15の操作画面において任意の文書名が選択されることにより表示される。図16の表示例では、先頭の文書1601が選択されたことにより、実行の可否を問い合わせるダイアログが表示されている例を示している。ここで、OKボタン1602が押下されると、スキャン指示を受け付けたと判断される。
スキャン指示が受け付けられると、ステップS709において、スキャン指示で選択されているスキャンチケットID(チケット識別情報)を含むスキャン要求を管理サーバ100へ送信する。このスキャン要求は、具体的にはスキャンチケットそのものを管理サーバ100から複合機300へ送信してもらうための取得要求ということもできる。すなわち、この処理では、タッチパネルの操作部(ユーザ操作受付)により受け付けたスキャンジョブに対応するスキャンチケットを識別するチケット識別情報を含むスキャンチケット取得要求を、管理サーバ100に送信する(スキャンチケット取得要求手段)。
そして、ステップS710では、管理サーバ100は複合機300からスキャン要求を受信し、受信されたスキャン要求中に含まれるスキャンチケットIDを読みだして、対応するスキャンチケットを特定する。そして、ステップS711では、特定されたスキャンチケットに対応するスキャン設定情報を取得する。ここでいうスキャン設定情報とは、複合機300で画像の読み取りを実行するための指示内容が定義されている情報であり、ステップS603で取得され、生成されるスキャンチケットの内部に、ステップS606で登録されている。なお、スキャン設定情報は、スキャンチケットのデータ構造中に持たせてあるが、スキャンチケットに対応させて(紐づけて)記憶しておき、このスキャン設定情報部分をまとめて、スキャンチケットと呼ぶことにする。
ステップS712では、特定されたスキャンチケットからチケット種別を判別し、種別ごとに異なる処理を行う。チケット種別が新規である場合は、ステップS713の処理に移行し、スキャン命令送信処理を行う。
また、チケット種別が新規以外の場合は、ステップS722の処理に移行し、さらにスキャン種別の判別を行い、チケット種別が追加の場合は、ステップS713の処理に移行し、スキャン命令送信処理を行う。チケット種別が差替の場合は、ステップS723の処理に移行する。
ステップS723では、スキャンチケットに対応する申請内容情報の画像ファイル(否認された申請内容情報のスキャンによって登録されたファイル)の削除命令を発行し、削除を実行する。すなわち、否認理由が差し替えを示す場合に、否認された申請内容情報に対応付けて記憶されている画像データを削除する(画像データ制御)。否認理由が追加を示す場合に、否認された申請内容情報に対応付けて記憶されている画像データを削除されないように制御する。
なお、本実施形態では、スキャンチケットが選択された場合に、申請内容情報の画像ファイルを削除するようにしたが、否認されてチケット種別が「差替」として設定されたスキャンチケットが生成された際に、スキャンチケットに対応する申請内容情報の画像ファイルを削除するようにしてもよい。
これにより、一度申請した申請内容情報に対応する申請に必要な画像ファイルを差し替えることができる。
ステップS713では、スキャン設定情報を含むスキャン命令を複合機300に送信する。このスキャン命令は、スキャンチケットのファイルとして送信されてもいいし、リモートスキャン命令のように、ファイル形式でない命令形式であってもよい。いずれの場合でも、複合機には、スキャン設定情報と、FTP送信先パスと、スキャン指示を含んでおり、どちらの形式で送信されても、送信される内容をここでは便宜的にスキャンチケットと呼ぶ。つまり、実際に管理サーバ100から複合機300へ送信されるスキャンチケットには、少なくともスキャン設定情報と、FTP送信先パスと、スキャン指示とを含むものであり、図13で示したスキャンチケットのすべてのデータ構成を備えていなくてもよい。
このように、複合機300からのチケット識別情報を含むスキャンチケット取得要求に応じて、生成済みの複数のスキャンチケットからこのスキャンチケット取得要求に含まれるチケット識別情報で識別される指示内容が定義されているスキャンチケットを特定し、複合機300に送信することができる(ステップS713:チケット送信)。
ステップS714では、複合機300は、管理サーバ100からスキャンチケット(スキャン命令)を受信し、ステップS715で、スキャンチケット(スキャン命令)に含まれるスキャン設定情報をRAM302に登録する。そして、ステップS716で、RAM302に登録されているスキャン設定情報を画像処理部317で画像読み取り設定として反映して、スキャナ部314を駆動して画像読み取り処理を実行する。
そして、ステップS717では、読み取られた画像を画像処理部317で送信ファイル形式(本実施例では、PDFファイル形式)に変換し、スキャンチケットIDを属性情報として記憶させ、得られた画像ファイルを、管理サーバ100へ送信する。なお、スキャンチケットIDは、画像ファイルの属性情報の記憶領域に書き込んでもいいが、XMLファイルを別に用意して、画像ファイルとXMLファイル(属性情報)とを別ファイルとして送信してもよい。また、送信される画像ファイルには、前述したように、スキャンファイル名が、「ジョブID+タイムスタンプ.pdf」として生成される。
このように、複合機300では、管理サーバ100から送信されるスキャンチケット(一部でもよい)を用いて、画像読み取り機構を用いて画像読み取り処理を行い、得られた画像を、スキャンチケットで指定されるFTP送信先である管理サーバに送信することができる(画像処理)。
ステップS718では、管理サーバ100は、複合機300からスキャンされた画像ファイルと属性情報とを受信する(画像受信)。
そして、ステップS719で、受信された画像ファイルに対応する申請内容情報を特定する。具体的には、画像ファイルの属性情報に記述されているスキャンチケットID(スキャン予約ジョブID)を検索条件として、管理サーバ100のワークフローサーバの外部メモリ211に格納されている申請内容情報を検索する。前述したように、ステップS506では、クライアント端末400から申請された申請内容情報と、ステップS505で生成されたスキャンチケットのID(チケット識別情報)とを紐づけて(対応づけて)外部メモリ211に記憶しているため、検索可能である。
ステップS720では、管理サーバ100は、特定された申請内容情報と、受信した画像ファイルを紐づけて登録する。なお、ワークフローシステムにおいて、ワークフローで順に処理される伝票(ジョブ)と、その伝票に関連して登録(アップロード)する添付ファイルの紐づけ処理は既知の技術であるため、その詳細な説明は省略する。
また、チケット種別が「追加」のスキャンチケットを用いてスキャンされた場合には、先のスキャンで紐づけられた画像ファイルに加えて、このスキャンによる画像ファイルが紐づけられるものとする。
すなわち、管理サーバ100では、画像読み取り処理で用いたスキャンチケットのチケット識別情報を用いて、受信された画像を、クライアント端末400から申請された申請内容情報と対応づけて記憶することができる。
そして、ステップS720でスキャンされた画像ファイルを申請内容情報と紐づけて記憶することができた場合には、管理サーバ100のワークフローサーバは、申請内容情報に必要な添付書類が用意できたとして、ワークフローシステムの伝票(ジョブ)を次の承認アクティビティに処理を進めることができる。承認アクティビティに処理が進むと、承認者である上司に処理が移り、承認の可否を指定してもらうことになる。
そして、ステップS721で、管理サーバ100は、申請内容情報に紐づけて画像ファイルを登録できた際に、登録した画像ファイルのスキャンチケットIDに対応するスキャンチケットを削除して処理を終了する。
図8は、管理サーバ100のワークフローサーバとクライアント端末500の管理者端末における申請済みの伝票(ジョブ)の承認処理行う処理手順の一例を示すフローチャートである。またステップS413の承認処理の詳細を示すフローチャートである。なお、ステップS801、S805〜S808、S810〜S811は、クライアント端末500のCPU201が実行し、ステップS802〜S804、S809、S812〜S815は、管理サーバ100のCPU201が実行する。
ステップS801では、クライアント端末500は、管理サーバ100のワークフローサーバに対して、未承認申請情報の要求を行う。具体的には、図9のメインメニュー920で、未承認一覧ボタン903が押下されることにより、図17の交通費精算一覧画面1701を表示するための要求に相当する。
ステップS802では、管理サーバ100のワークフローサーバは、未承認申請情報要求を受信し、ステップS803で、未承認申請情報を外部メモリ211から取得する。ここで、未承認申請情報とは、クライアント端末400から申請された伝票(ジョブ)のうち、承認者である上司に承認されていない伝票のことである。図5のステップS502で説明したが、領収書等の添付書類が必要な申請であるか否かを判定しており、添付書類が不要な申請の場合には、承認者の承認アクティビティに処理を進めている。また、領収書等の添付書類が必要な申請である場合であっても、ステップS720で、添付書類の紐づけが完了すると、承認者の承認アクティビティに処理を進めている。このように、次の承認アクティビティに処理が進んでいる状態であっても、承認者に承認されていない伝票が取得されることになる。ここでは、クライアント端末500からのユーザ識別情報を含む申請済み情報の取得要求に応じて、前記申請済み情報の表示画面の画面情報を生成することができる(申請済み画面情報生成)。
ステップS804では、取得された未承認申請情報の一覧情報をクライアント端末500に送信する。ここでは、図17の交通費精算一覧画面1701の画面情報(HTML形式のファイル)を送付することになる。
そして、複合機300で画像の読み取り処理が必要である申請内容情報(図17の1702と1703)について、画像読み取り処理により得られた画像が登録済みであるか否かを識別可能に表示画面の画面情報を生成することができる。図17の1701の例では、画像読み取り処理により得られた画像が登録済みであれば1703のように、PDFボタンが明確に表示され、画像読み取り処理により得られた画像が登録済みでなければ1702にように、PDFボタンがグレイアウトで表示されることになる。なお、1701の例では、1702は画像が登録されていないため、チェックできないようにチェックボックスが制御されている。
そして、ステップS805では、クライアント端末500は、管理サーバ100から未承認申請情報である図17の交通費精算一覧画面1701の画面情報を受信し、ステップS806で、交通費精算一覧画面をブラウザを用いて表示部に表示する。
ステップS807では、選択された伝票に対して承認ボタンが押下されたか否かを判定する。より詳細には、承認者が操作するクライアント端末500で、交通費精算一覧画面1701から、承認可能な伝票(例えば、1行目の添付書類不要の伝票、もしくは、3行目1703の添付書類が必要で準備できている伝票)が選択されると、図18の1800のように承認するか否かを選択できるダイアログが表示され、承認または否認することを指定できる。そして、承認の指定がなされると、ステップS808へ処理を移す。また、否認が指定されると、ステップS810へ処理を移す。
ステップS808では、伝票を識別する情報(ジョブを識別する情報)とともに承認された旨の情報が管理サーバ100に送信され、ステップS809では、指定された伝票の申請内容情報が承認登録される。
ステップS810では、図18で示すように否認が選択されると、1801で否認理由を選択するダイアログを表示する。そして、承認者の選択に応じて否認理由が入力され、OKボタンが押下されると、ステップS811では、伝票を識別する情報(ジョブを識別する情報)とともに否認された旨の情報(例えば、否認理由を示すフラグ)を管理サーバ100に送信する。
ステップS812では、否認理由と伝票を識別する情報(ジョブを識別する情報)を受信する。
ステップS813では、受信した否認理由に従って、再スキャンが必要か否か(スキャンチケットを再生成するか否か)を判定する。否認理由が「ファイル差し替え」「ファイル追加」である場合には、ステップS814へ処理を移し、否認理由が「申請データ変更」である場合にはステップS815へ処理を移す。なお、「申請データ変更」とは、クライアント端末400で入力された申請内容情報(例えば、金額)に誤りがあった場合に選択される。
なお、本実施形態では、ステップS809とステップS812の処理を便宜上分けて説明したが、より詳細には、管理サーバでは、クライアント端末500からの要求(S808、S811)を受信すると、要求を判定(否認されたか否かを判定)し、否認された場合には、スキャンチケットを生成する。すなわち、ステップS809とステップS812は、申請内容情報が承認者によって否認されたか否かを判定する(否認判定)。またステップS814は、申請内容情報が否認されたと判定された場合に、否認された申請内容情報に再度画像データを対応づけて記憶させるべく、否認された申請内容情報に従って、複合機で画像の読み取りを実行するためのスキャンチケットを生成する。
さらに、否認された否認理由を判定し、否認理由が差し替えを示す場合には、否認された申請内容情報に対応付けて記憶されている画像データを差し替えるためのスキャンチケットを生成する。また、否認理由が追加を示す場合には、否認された申請内容情報に対応付けて記憶されている画像データに加えて他の画像データを追加するためのスキャンチケットを生成する。
また、否認された場合でも、上述のステップS813のように否認理由によりスキャンチケットを生成するか否かを判定する。
ステップS814では、否認理由が「ファイル差し替え」「ファイル追加」であったため、再度画像ファイルを添付して申請をさせるために、スキャンチケットを生成する。ここでスキャンチケットを生成するために追加又は差替を含むスキャンチケット生成命令を出力する。なお、スキャンチケットの生成は、否認された申請内容情報に従って、上述の図6の処理で生成される。
ステップS814でスキャンチケットを生成する場合には、ステップS605で、否認理由が「ファイル差し替え」の場合には、チケット種別として「3:差替」が決定され、否認理由が「ファイル追加」の場合には、チケット種別として「2:追加」が決定される
ステップS815では、ステップS815では、指定された伝票の申請内容情報が否認登録される。
以上説明した本実施の形態によれば、申請内容情報の否認結果に応じて、画像読み取りを行うためのスキャンチケットを発行し、否認された申請内容情報の画像データを容易に更新できる。
そして本実施の形態によれば、新規に生成されたスキャンチケットか、否認によって生成されたスキャンチケットかを判別することができるため申請者の負担も軽減できるという効果が得られる。
以上説明したように、本発明におけるプログラムは、図4〜図8に示すフローチャートの処理に従って管理サーバ100、複合機300としてのコンピュータが実行可能なプログラムであり、本発明の記憶媒体は図4〜図8の処理方法を管理サーバ100、複合機300が実行可能なプログラムを記憶されている。なお、本発明におけるプログラムは図4〜図8の各装置の処理方法ごと、別の独立したプログラムであってもよい。
(本発明の他の実施形態)
以上のように、前述した実施形態の機能を実現するプログラムを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
この場合、記録媒体から読み出されたプログラム自体が本発明の新規な機能を実現することになり、そのプログラムを記憶した記録媒体は本発明を構成することになる。
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク,ハードディスク,光ディスク,光磁気ディスク,CD−ROM,CD−R,DVD−ROM,磁気テープ,不揮発性のメモリカード,ROM,EEPROM,シリコンディスク等を用いることができる。
また、サーバ、情報処理端末、コンピュータ、または撮像装置が読み出したプログラムを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
また、本発明は、複数の機器から構成されるシステムに適用しても、1つの機器からなる装置に適用してもよい。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
さらに、本発明を達成するためのプログラムをネットワーク上のサーバ,データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
なお、上述した各実施形態およびその変形例を組み合わせた構成も全て本発明に含まれるものである。
また上記のソフトウェアで実現する各処理を、ファームウェアやハードウェア構成にして、各処理を各手段として実現することも可能であり、本発明の技術的範囲はこのようなファームウェアやハードウェア構成による実現も含むものである。