<第1実施形態>
第1実施形態の例による情報処理装置は、予め設定された形式に従って作成された電子文書を印刷し、この印刷された紙文書が1人以上のユーザに回付されて処理される状況において、当該紙文書に対する操作に関する情報を管理する。以下、文書の形式を定義する雛形ファイルである帳票ファイルを用いて作成された電子文書を印刷した紙文書を管理する場合を例にとり第1実施形態について説明する。なお、以下の説明では、帳票ファイルを用いて作成された電子文書および当該電子文書を印刷した紙文書を「帳票」と呼ぶ。
図1に、第1実施形態の例による情報処理装置の内部構成の概略の例を示す。図1のサーバ10は、第1実施形態の例の情報処理装置として機能する。サーバ10は、プリンタ20に接続される。サーバ10は、ユーザ情報DB(データベース)100、ユーザ認証部102、帳票DB104、出力処理部106、帳票情報登録部108、帳票情報DB110、操作受付部112、操作履歴登録部114、操作履歴DB116、履歴情報検索部118、表示処理部120、およびチェックポイント通過判定情報DB122を備える。
ユーザ情報DB100は、帳票を作成および利用する利用者(ユーザ)の情報を記憶する。ユーザ情報DB100は、例えば、各ユーザの識別情報であるユーザIDと、各ユーザの認証情報(パスワードなど)と、を記憶する。ユーザ情報DB100は、さらに、ユーザの氏名、連絡先(住所、電話番号、ファクシミリ番号、電子メールアドレスなど)、ユーザが構成する組織におけるユーザ集合(グループ、課、部門など)の識別情報、各ユーザ集合に所属するユーザのユーザID、および各ユーザの組織における役職などを記憶しておいてよい。以下の説明では、ユーザ情報DB100は、各ユーザのユーザID、パスワード、所属グループ、所属部門、および役職を記憶しているものとする。なお、本例では、ユーザが所属する「グループ」の1以上から1つの「部門」が構成される。また、「役職」は、組織におけるユーザの職務上の役割を表す。ただし、特定の「役職」を持たないユーザも存在し得る。
ユーザ認証部102は、サーバ10の後述の各部の機能を利用する要求を受け付けた場合に、当該要求を行ったユーザの認証を行う。例えば、要求を行ったユーザのユーザIDおよびパスワードの入力を受け付け、受け付けたユーザIDおよびパスワードの組がユーザ情報DB100に登録されたユーザIDおよびパスワードの組に一致するか否かを確認することでユーザ認証を行う。ユーザ認証部102が認証に成功した場合にのみ、その要求を行ったユーザに対し、サーバ10の後述の各部の機能の利用を許可する。
帳票DB104は、帳票ファイルと帳票スキーマとを記憶する。帳票ファイルは、帳票の作成の基となる雛形のファイルである。帳票スキーマは、各帳票ファイルのレイアウトを表す情報である。帳票スキーマは、例えば、当該帳票ファイルにおいて、どの領域にどのような情報が配置されるかを記述したものであってよい。帳票スキーマの例の詳細は後述する。帳票DB104は、図2に例示するように、各帳票ファイルの名称である「帳票ファイル名」と、当該帳票ファイルの帳票スキーマの番号である「スキーマ番号」と、を関連付ける帳票スキーマ選択表を記憶する。なお、帳票スキーマ選択表を帳票DB104に記憶しておけば、帳票ファイル自体は帳票DB104に記憶しておかずに、サーバ10と異なる装置が保持しておいてもよい。
出力処理部106は、電子的な帳票を用紙に印刷して紙文書を出力するための処理を行う。この電子的な帳票は、帳票DB104中の帳票ファイルのいずれかに対して情報を書き込むことで生成されたものであるとする。例えば、電子的な帳票の印刷要求をクライアント端末(図示しない)からサーバ10が受け付けて、当該印刷要求についてユーザ認証部102による認証が成功すると、出力処理部106は、プリンタ20に対して、当該印刷要求の対象の帳票の識別情報である帳票IDと当該帳票とを用紙に印刷するよう印刷指示を出す。出力処理部106は、帳票ID付与部1060、印刷指示部1062、および帳票情報抽出部1064を備える。
帳票ID付与部1060は、印刷対象の帳票に対し、帳票IDを生成して付与する。帳票IDは、サーバ10が管理する帳票のうちで一意な識別情報であればよい。帳票ID付与部1060は、印刷対象の帳票と当該帳票に対して付与した帳票IDとを帳票情報登録部108に渡す。
印刷指示部1062は、印刷対象の帳票と当該帳票に対して帳票ID付与部1060が付与した帳票IDと、を用紙に印刷することをプリンタ20に指示する。このとき、本実施形態の例では、印刷指示部1062は、帳票IDを機械読み取り可能な符号に変換して印刷するようプリンタ20に指示する。帳票IDを表す符号の例として、バーコードなどの一次元コードや、QRコードなどの二次元コードが挙げられる。印刷指示部1062の指示に従って、プリンタ20は、帳票IDを表す符号と共に帳票を用紙に印刷した紙文書を出力する。出力処理部106は、プリンタ20により帳票IDと共に帳票を印刷した紙文書を出力させると、その旨を操作履歴登録部114に対して通知する。この通知を受けた操作履歴登録部114の処理は後述する。
帳票情報抽出部1064は、帳票DB104中の帳票スキーマを参照し、印刷対象の帳票から、帳票スキーマで示される情報を抽出する。例えば、帳票情報抽出部1064は、帳票DB104に記憶された帳票スキーマ選択表(図2参照)から、印刷対象の帳票のファイル名に対応づけられた帳票スキーマのスキーマ番号を取得する。そして、取得したスキーマ番号の帳票スキーマを帳票DB104から読み出し、この帳票スキーマで記述されている各領域に配置された情報を当該帳票から抽出する。印刷対象の帳票のデータは、プリンタ20による印刷処理に適した形式で表されるデータであり、例えばPDL(Page Description Language;ページ記述言語)で記述される。帳票情報抽出部1064は、例えば、PDLで記述された帳票のデータを解釈し、この帳票において、帳票スキーマで記述されている各領域に配置された文字列を特定する。そして、特定した文字列を当該領域の情報として抽出する。帳票情報抽出部1064は、帳票のデータの各領域から抽出した文字列を、当該帳票の帳票IDと共に帳票情報登録部108に渡す。
一具体例として、図2を参照し、印刷対象の帳票のファイル名が「ringisho.doc」であり、対応するスキーマ番号「2」の帳票スキーマとして、図3に例示する情報が読み出されたとする。図3の例の帳票スキーマは、XML(Extensible Markup Language)形式で記述されている。図3において、「rectangle」要素は、帳票から文字列(情報)を抽出する矩形領域を表す。「rectangle」要素の「left」,「right」,「top」,「bottom」属性は、それぞれ、矩形領域の左端、右端、上端、下端の座標を表し、「name」属性は矩形領域の名前を表す。図3では、「議案名」、「起案者」、および「回付範囲」とそれぞれ名付けられた3つの矩形領域について記述されている。帳票情報抽出部1064は、図3の例の帳票スキーマで記述された3つの矩形領域のそれぞれに含まれる文字列を、印刷対象の帳票のデータから抽出する。また、帳票情報抽出部1064は、各矩形領域から抽出した文字列を、当該矩形領域の名前に関連付けて帳票情報登録部108に渡す。
帳票情報抽出部1064が印刷対象の帳票のデータから抽出する情報は、当該帳票の内容の一部であると言える。以下の説明では、帳票情報抽出部1064により帳票のデータから抽出される情報を「帳票情報」と呼ぶ。
再び図1を参照し、帳票情報登録部108は、出力処理部106の帳票情報抽出部1064から帳票IDおよび帳票情報を受け取ると、受け取った帳票IDに関連付けて、受け取った帳票情報を帳票情報DB110に登録する。
帳票情報DB110は、プリンタ20で印刷される帳票のデータから帳票情報抽出部1064が抽出した帳票情報を記憶する。図4に、帳票情報DB110のデータ内容の例を示す。
図4は、図3の例の帳票スキーマを参照して帳票から抽出された情報を登録した場合の例である。図4の例の表では、各帳票の帳票IDに関連付けて、「議案名」、「起案者」、および「回付範囲」の各項目の内容を表す文字列が登録されている。「議案名」、「起案者」、および「回付範囲」の各項目の名前は、帳票スキーマで記述された各矩形領域の名前に対応する(図3参照)。図4の帳票ID「ID1」の行を参照すると、当該帳票において、「議案名」の矩形領域に文字列「実験サーバ購入」が記載され、「起案者」の矩形領域に文字列「userA」が記載され、「回付範囲」の矩形領域に文字列「部内」が記載されていたことがわかる。
再び図1を参照し、操作受付部112は、出力処理部106の処理によりプリンタ20から出力された紙の帳票(帳票IDの符号と共に帳票の内容が印刷された紙文書)に対する操作に関する情報を受け付ける。本実施形態の例では、紙の帳票は、複数のユーザに回付され、各ユーザにより当該紙の帳票に対して何らかの操作が行われる。この操作の例として、帳票の内容の確認・承認、および帳票への手書き情報の書込みなどが挙げられる。本実施形態の例において、紙の帳票に対して操作を行うユーザは、サーバ10に接続された読取装置(図示しない)を用いて、紙文書に印刷された帳票IDの符号を読み取りさせる。読取装置としては、帳票IDの符号の形式に応じた装置を用いればよい。例えば、帳票IDがバーコードで印刷されていればバーコードリーダを用い、帳票IDがQRコードで印刷されていればQRコードリーダを用いればよい。帳票IDの符号の読み取りは、操作の実行の前であってもよいし、後であってもよい。紙の帳票に対する1回の操作につき、1回の帳票IDの読み取りが行われるようにすればよい。操作受付部112は、読取装置により読み取られた帳票IDの符号を解釈して帳票IDを認識する。本実施形態の例の操作受付部112は、さらに、帳票IDの読み取りを指示したユーザのユーザID、つまり、紙文書に対して操作を実行した操作者のユーザIDを取得する。上記では説明を省略したが、帳票IDの読み取りに先立って、あるいは、帳票IDの読取情報をサーバ10が受け取ったときに、ユーザ認証部102においてユーザ認証が行われる。よって、操作受付部112は、ユーザ認証部102から操作者のユーザIDを取得すればよい。操作受付部112は、受け付けた帳票IDおよび操作者のユーザIDを操作履歴登録部114に渡す。
操作履歴登録部114は、帳票に対して実行された操作の履歴を表す情報を操作履歴DB116に登録する。操作履歴登録部114は、例えば、操作受付部112が受け付けた帳票IDおよび操作者のユーザIDを操作受付部112から取得すると、当該帳票IDに関連付けて、当該ユーザID、当該ユーザIDに関連付けてユーザ情報DB100に登録された情報、および操作受付部112が帳票IDを受け付けた日時を操作履歴DB116に登録する。これにより、紙の帳票に対する操作の履歴が記録されることになる。操作履歴登録部114は、また、電子的な帳票をプリンタ20に印刷させた出力処理部106から、印刷対象の帳票の帳票IDおよび印刷要求を行ったユーザのユーザIDを通知されると、当該帳票IDに関連付けて、当該ユーザID、当該ユーザIDに関連付けてユーザ情報DB100に登録された情報、および印刷が実行された日時を操作履歴DB116に登録することもある。これにより、電子的な帳票に対する「印刷」操作の履歴が記録されることになる。
操作履歴DB116は、紙の帳票に対する操作の履歴を記憶するデータベースである。図5に、操作履歴DB116のデータ内容の一例を示す。図5の例の表では、帳票ID、操作者、所属グループ、所属部門、役職、操作日時の各項目の値が登録されている。図5の例の表の1行は、1回の操作の履歴を表す。帳票IDは、操作履歴登録部114が操作受付部112または出力処理部106から受け取った、操作の対象の帳票の帳票IDである。ユーザIDは、当該操作を行った操作者のユーザIDである。所属グループ、所属部門、および役職の各項目は、対応する操作者のユーザIDに関連付けてユーザ情報DB100に登録された情報であり、操作者の組織における所属グループ、所属部門、および役職を表す。これらの各項目の値は、ユーザ情報DB100から読み出されて登録される。操作日時は、操作が実行された日時を表す。電子的な帳票の印刷操作については、出力処理部106がプリンタ20に帳票を印刷させた日時を操作日時として登録し、紙の帳票に対する操作については、操作受付部112が帳票IDの入力を受け付けた日時を操作日時として登録すればよい。
図1の説明に戻り、履歴情報検索部118は、検索条件の指定を受け付けて、帳票情報DB110および操作履歴DB116を参照し、当該検索条件を満たす帳票を検索する。検索条件は、帳票情報DB110に登録された帳票情報に関する条件であってよい。例えば、図4に示す「議案名」、「起案者」、「回付範囲」など、帳票情報の特定の項目が特定の値であることを検索条件とする。また、検索条件は、操作履歴DB116に登録された操作履歴に関する条件であってもよい。例えば、図5に示す「操作者」、「所属グループ」、「所属部門」、「役職」、「操作日時」など、操作履歴の特定の項目が特定の値であることを検索条件とする。操作日時に関する検索条件の場合、操作日時が特定の期間に該当することを条件としてもよい。また、以上の例の検索条件の複数をAND条件またはOR条件で組み合わせた条件を検索条件としてもよい。履歴情報検索部118は、帳票情報DB110および操作履歴DB116の少なくとも一方を参照し、検索条件を満たす帳票IDを検索する。そして、検索結果の帳票IDに関連付けられた帳票情報および操作履歴を、それぞれ帳票情報DB110および操作履歴DB116から読み出し、検索結果の帳票IDと共に表示処理部120に渡す。
表示処理部120は、帳票の状態の表示を要求する表示要求に応じて、表示対象の帳票を履歴情報検索部118に検索させ、検索された帳票の帳票情報および操作履歴を用いて帳票の状態を評価し、評価結果を表示装置(図示しない)に表示させる。表示要求は、例えば、帳票を用いた業務に関わるユーザが帳票の処理の状況を把握することを望む場合に、当該ユーザの指示を受けたクライアント端末(図示しない)から発せられる。この場合、評価結果は、要求元のクライアント端末の表示装置に表示される。表示要求は、表示の対象の帳票を検索する検索条件を含む。検索条件の例は、履歴情報検索部118に関連して上述したとおりである。また、表示要求は、上述の例のような検索条件の代わりに、表示対象の帳票の帳票IDを直接指定する情報を含んでいてもよい。表示処理部120は、表示要求に含まれる検索条件を満たす帳票の検索結果を履歴情報検索部118から受け取ると、検索結果の帳票情報および操作履歴を用いて帳票の状態を評価する。この評価において、表示処理部120は、チェックポイント通過判定情報DB122を参照する。
チェックポイント通過判定情報DB122は、紙の帳票がユーザに回付される際の通過条件、通過後のステータス等に関する情報を記憶する。通過条件は、例えば、帳票に対して、どのようなユーザが操作を行うべきか、あるいは、どのような操作を行うべきか、を表すものであり、チェックポイントとなる内容を規定したものである。チェックポイントとなるべき内容であるため、帳票に対して操作を行うユーザや行われる操作の全てを規定しておく必要は必ずしも無い。本実施形態の例では、帳票に記載された「回付範囲」に応じて異なる通過条件が設定される。チェックポイント通過判定情報DB122は、どの回付範囲に対してどの通過条件が用いられるかを表す情報を記憶する。図6に示す表は、回付範囲と通過判定番号とを対応づける表の例である。図6の表に示す回付範囲「グループ内」,「部内」,「本部内」は、帳票において回付範囲の領域に記載され得る値、つまり、帳票情報DB110に登録され得る回付範囲の値に対応する。
また、チェックポイント通過判定情報DB122は、さらに、通過判定番号ごとに、その通過条件の内容を定義する情報を記憶する。図7に示す表は、各通過判定番号の通過条件の内容の例を表す。図7の表では、通過判定番号ごとに、チェックポイント番号、通過条件、および通過後のステータスが登録される。チェックポイント番号、通過条件、および通過後のステータスの組により、対応する通過判定番号の通過条件において帳票が取り得る状態および帳票が当該状態を取るための条件が表される。チェックポイント番号は、通過条件を評価する順番を表す。通過条件は、帳票情報に関する条件と操作履歴に関する条件との組合せによって表される。例えば図7の通過判定番号「2」、チェックポイント番号「1」の通過条件「起案者と操作者の所属グループが同じ、かつ、操作者の役職がグループ長」は、帳票情報における起案者の所属グループと操作履歴における操作者の所属グループが同一であり、かつ、操作履歴における操作者の役職がグループ長である場合に満たされる。通過後のステータスは、対応する通過条件を満たす帳票が取る状態を表す。チェックポイント通過判定情報DB122のデータ内容は、システムの管理者などにより予め設定される。本例では、チェックポイント番号の昇順に各通過条件を満たす操作が帳票に対して実行され、帳票の状態(ステータス)が変化することを想定して通過条件の内容が設定される。
図1の説明に戻り、表示処理部120は、例えば、履歴情報検索部118から、検索結果の帳票IDと当該帳票IDの帳票情報および操作履歴とを受け取ると、チェックポイント通過判定情報DB122を参照し、各帳票IDについて、帳票情報における回付範囲の値に対応する通過判定番号を特定する。そして、その通過判定番号に関連付けられたチェックポイント番号それぞれの通過条件をチェックポイント通過判定情報DB122から取得する。さらに、チェックポイント番号の順に当該帳票IDの帳票情報および操作履歴が通過条件を満たすか否かを判定し、通過条件が満たされるチェックポイントのうち番号が最大のものに対応する「通過後のステータス」をチェックポイント通過判定情報DB122から取得して当該帳票の状態とする。また、通過条件が満たされるチェックポイントが存在しない場合、いずれのチェックポイントも通過していないことを表す情報を当該帳票IDの帳票の状態とする。検索結果の帳票IDのすべてについて帳票の状態を評価すると、表示処理部120は、各帳票IDと当該帳票の状態とを対応づけて表示装置(図示しない)に表示させる。
図4から図7を参照し、表示処理部120による評価の一具体例を説明する。表示対象の帳票の帳票IDが「ID1」であり、履歴情報検索部118から、図4に示す帳票ID「ID1」の帳票情報(議案名「実験サーバ購入」,起案者「userA」,回付範囲「部内」)と図5に示す帳票ID「ID1」の操作履歴とを表示処理部120が取得したとする。表示処理部120は、帳票情報における回付範囲が「部内」であることから、チェックポイント通過判定情報DB122において特定される通過判定番号「2」(図6参照)を特定する。そして、帳票ID「ID1」の帳票情報および操作履歴が、通過判定番号「2」に対して定義されたチェックポイント番号「1」,「2」の順に各通過条件(図7参照)を満たすか否かを判定する。チェックポイント番号「1」の通過条件「起案者と操作者の所属グループが同じ、かつ、操作者の役職がグループ長」について、表示処理部120は、例えば、帳票情報における起案者「userA」の所属グループをユーザ情報DB100から読み出し(ここでは、「1G」)、読み出した所属グループと同一の所属グループの操作者を含む操作履歴の有無を確認する。本例では、所属グループが「1G」である操作者「userA」,「userB」を含む操作履歴が存在する(図5参照)。これらの操作履歴について、表示処理部120は、「役職」の値を確認し、操作者「userB」の「役職」が「グループ長」であることを確認する。これにより、操作者「usserB」の操作履歴がチェックポイント「1」の通過条件を満たすと判定される。チェックポイント「2」の通過条件「起案者と操作者の所属部門が同じ、かつ、操作者の役職が部長」について、表示処理部120は、帳票情報における起案者「userA」の所属部門をユーザ情報DB100から読み出し(ここでは、「営業部」)、読み出した所属部門と同一の所属グループの操作者を含む操作履歴の有無を確認する。本例では、所属部門が「営業部」である操作者「userA」,「userB」,「userC」の操作履歴が存在する(図5参照)。しかしながら、これらの操作履歴のうち、いずれも、操作者の「役職」は「部長」ではない。よって、表示処理部120は、チェックポイント番号「2」の通過条件は満たされないと判定する。以上の処理の結果、表示処理部120は、帳票ID「ID1」の帳票について、チェックポイント番号「1」の通過条件を満たすことから、対応する通過後のステータス「部長承認待ち」を当該帳票の状態であると評価する。
図8は、表示処理部120により表示装置に表示される情報の態様の一例である。図8の表は、帳票ID、議案名、起案者、起案日、およびステータスを互いに関連付けて表示させる。帳票IDは、表示対象の帳票IDである。議案名および起案者の値は、対応する帳票IDの帳票情報に含まれる値である。起案日は、対応する帳票IDの操作履歴のうち操作日時が最も古いもの(当該帳票の印刷の履歴)の操作日時であってよい。ステータスは、対応する帳票IDの帳票について表示処理部120が評価した状態である。図8の表において、帳票ID「ID1」のステータスは、上述の具体例のとおり「部長承認待ち」である。また、図8の表の帳票ID「ID3」のステータス「処理待ち」は、当該帳票の帳票情報および操作履歴が、対応するチェックポイントの通過条件をいずれも満たさないことを表す。
なお、図8の例のように、表示処理部120は、帳票IDおよび当該帳票の状態に加えて、当該帳票IDの帳票について帳票情報または操作履歴から得られる情報をさらに表示させてもよい。
以下、第1実施形態におけるサーバ10の動作の例を説明する。
図9は、帳票の印刷要求を受け付けた場合にサーバ10が実行する処理の手順の例を示すフローチャートである。
出力処理部106は、帳票の印刷要求を取得し(ステップS10)、帳票ID付与部1060において、印刷対象の帳票に新たに付与される帳票IDを生成する(ステップS12)。
次に、出力処理部106の印刷指示部1062は、ステップS12で生成された帳票IDと共に帳票を用紙に印刷するようプリンタ20に指示する(ステップS14)。本例では、印刷指示部1062は、帳票IDを機械読み取り可能な符号に符号化し、帳票IDの符号を帳票と共に用紙に印刷するようプリンタ20に指示する。出力処理部106は、プリンタ20によって帳票を印刷させると、その旨を操作履歴登録部114に通知する。
帳票情報抽出部1064は、印刷対象の帳票に対応する帳票スキーマを帳票DB104から取得する(ステップS16)。例えば、帳票情報抽出部1064は、帳票DB104の帳票スキーマ選択表(図2参照)を参照して印刷対象の帳票のファイル名に関連付けられたスキーマ番号を特定し、特定したスキーマ番号の帳票スキーマを帳票DB104から取得する。
ステップS16で取得した帳票スキーマに従って、帳票情報抽出部1064は、印刷対象の帳票のデータから帳票情報を抽出する(ステップS18)。例えば、PDLなどによって記述された印刷対象の帳票のデータを解釈し、帳票スキーマで記述された各領域に含まれる文字列を当該帳票のデータから抽出する。帳票情報抽出部1064は、当該帳票のデータの各領域から抽出した文字列と、ステップS12で当該帳票に付与された帳票IDと、帳票スキーマの“name=”で指定された領域名と、を帳票情報登録部108に渡す。
帳票情報登録部108は、帳票情報抽出部1064から受け取った帳票IDに関連付けて、ステップS18で抽出された帳票情報を帳票情報DB110に登録する(ステップS20)。
また、操作履歴登録部114は、出力処理部106から印刷を実行した旨の通知を受けて、印刷操作の履歴を操作履歴DB116に登録する(ステップS22)。ステップS22で、操作履歴登録部114は、印刷対象の帳票の帳票IDに関連付けて、図5の例の各項目の値を操作履歴DB116に登録する。操作者としては、印刷要求を行ったユーザのユーザIDをユーザ認証部102から取得して登録し、所属グループ、所属部門、および役職としては、取得したユーザIDに関してユーザ情報DB100から読み出した値を登録する。操作日時としては、現在の日時(つまり、印刷が行われた日時)を登録すればよい。ステップS22の後、図9の例の手順の処理は終了する。
以上で説明した図9の手順において、処理の順番を一部入れ替えてもよい。例えば、帳票の印刷(ステップS14)の前に帳票情報の抽出・登録(ステップS16〜S18)を行ってもよいし、印刷処理と帳票情報の抽出・登録処理とを並行して行ってもよい。また、印刷操作の履歴の登録処理(ステップS22)は、ステップS12の直後に行ってもよい。
図9の例の手順の処理により、帳票IDの符号と帳票の内容とを印刷した紙の帳票が出力されると共に、当該帳票から抽出された帳票情報が帳票情報DB110に登録され、印刷操作の履歴が操作履歴DB116に登録される。
紙の帳票を回付されたユーザは、その帳票に対する操作を行うに当たり、まず、自身のユーザIDおよびパスワードを入力し、この入力に応じて、サーバ10のユーザ認証部102によりユーザ認証が行われる。ユーザ認証に成功すると、当該ユーザは、読取装置を用いて帳票に印刷された帳票IDの符号を読み取りさせる。読取装置が読み取った符号はサーバ10に入力され、この入力に応じて、サーバ10は、図10に例示する手順の処理を行う。
図10を参照し、操作受付部112において、帳票IDの入力を受け付ける(ステップS30)。操作受付部112は、また、帳票IDの入力を指示したユーザのユーザIDをユーザ認証部102から取得する。操作受付部112は、受け付けた帳票IDおよび取得したユーザIDを操作履歴登録部114に渡す。
操作履歴登録部114は、操作受付部112から取得した帳票IDの帳票の操作履歴を操作履歴DB116に登録する(ステップS32)。本例では、ステップS32で、操作履歴登録部114は、操作受付部112から取得した帳票IDに関連付けて、図5の表に示す各項目の値を操作履歴DB116に登録する。操作者としては操作受付部112から取得したユーザIDを登録し、所属グループ、所属部門、および役職としては、取得したユーザIDに関してユーザ情報DB100から読み出した値を登録する。操作日時としては、現在の日時(つまり、操作受付部112が帳票IDを受け付けた日時)を登録すればよい。
図10の例の手順の処理により、紙の帳票に対して実行された操作の履歴が操作履歴DB116に登録される。
図11は、帳票の状態を表示させる表示要求を受けた場合のサーバ10の処理の手順の例を示すフローチャートである。
表示処理部120は、表示対象の帳票の帳票IDまたは検索条件を含む表示要求を取得する(ステップS40)。表示処理部120は、履歴情報検索部118に対して、表示要求に含まれる帳票IDまたは検索条件を渡し、表示対象の帳票の帳票情報および操作履歴の検索を指示する。
履歴情報検索部118は、表示対象の帳票の帳票情報および操作履歴を取得する(ステップS42)。表示対象の帳票の帳票IDを表示処理部120から受け取った場合、履歴情報検索部118は、帳票情報DB110および操作履歴DB116から当該帳票IDに関連付けられた帳票情報および操作履歴を取得する。表示対象の帳票の検索条件を表示処理部120から受け取った場合、履歴情報検索部118は、この検索条件に応じて帳票情報DB110および操作履歴DB116の少なくとも一方を参照し、検索条件を満たす帳票の帳票IDを検索する。そして、検索結果の帳票IDの帳票情報および操作履歴をそれぞれ帳票情報DB110および操作履歴DB116から取得する。履歴情報検索部118は、表示対象の帳票の帳票IDと当該帳票IDについて取得した帳票情報および操作履歴を表示処理部120に渡す。
表示処理部120は、履歴情報検索部118から受け取った帳票IDのそれぞれについて、チェックポイント通過判定情報DB122から通過条件を取得する(ステップS44)。本例では、表示処理部120は、まず各帳票IDの帳票情報における「回付範囲」に対応する通過判定番号を特定し(図6参照)、特定した通過判定番号の通過後のステータス(図7参照)を取得する。
次に、表示処理部120は、各帳票IDの帳票情報および操作履歴と、ステップS44で取得した通過後のステータスとを用いて、表示対象の各帳票の状態を評価する(ステップS46)。本例では、各帳票IDについて、対応する通過判定番号におけるチェックポイントの番号の順に、当該帳票IDの帳票情報および操作履歴が通過条件を満たすか否かを判定する。そして、通過条件が満たされるチェックポイントのうち番号が最大のものに対応する「通過後のステータス」をチェックポイント通過判定情報DB122から取得して当該帳票の状態とする。また、通過条件が満たされるチェックポイントが存在しない場合、その旨を表す情報を当該帳票の状態とする。
なお、ステップS46において、表示処理部120は、チェックポイントの番号順に評価していき、通過条件を満たさないチェックポイントが発見された時点で、残りのチェックポイントの通過条件の評価を省略してもよい。この場合、通過条件を満たさないチェックポイントの直前に評価されたチェックポイントの通過後のステータスを当該帳票の状態とすればよい。あるいは、表示処理部120は、すべてのチェックポイントの通過条件を評価してもよい。この場合、通過条件を満たすチェックポイントのうち番号が最大のものよりも小さい番号のチェックポイントの通過条件が満たされないこともあり得る。例えば、チェックポイント番号「1」,「3」の通過条件が満たされてチェックポイント番号「2」の通過条件が満たされないことがあり得る。このような場合、例えば、チェックポイント番号「3」の通過後のステータスを当該帳票の状態とすると共に、チェックポイント番号「3」よりも前に評価されたチェックポイント番号「2」の通過条件を満たさない旨を表す情報をさらに当該帳票の状態に含めてもよい。あるいは、チェックポイント番号「2」の通過条件を満たすか否かにかかわらず、チェックポイント番号「3」の通過後のステータスを当該帳票の状態としてもよい。
表示対象の帳票のそれぞれについて評価が終了すると、表示処理部120は、評価結果を表示する(ステップS48)。例えば、表示処理部120は、表示要求の要求元のクライアント端末に対し、表示の内容を制御する制御情報を送信し、この制御情報に従ってクライアント端末の表示装置における表示が行われる。ステップS48による表示の態様の例は、図8を参照して上述したとおりである。領域名は、表示される表の2列目から5列目の列のラベルとして表示されるもので、この例では「議案名」、「起案者」、「起案日」、「ステータス」が該当する。
以上で説明した第1実施形態では、電子的な帳票の印刷をトリガとして、帳票IDの付与ならびに帳票情報の抽出および登録が行われる。また、帳票は帳票IDと共に用紙に印刷され、紙の帳票に対する操作のたびに帳票IDの読み取りが行われて操作履歴の登録が行われる。
<第2実施形態>
第2実施形態の例による情報処理装置として機能するサーバ10は、図12に例示するように、LAN(Local Area Network)またはインターネットなどのネットワーク30を介してワークフローシステム40に接続される。ワークフローシステム40は、文書を用いた業務の流れを管理するシステムである。ワークフローシステム40は、ワークフロー管理部42および電子文書管理部44を備える。ネットワーク30には、さらに、プリンタ20およびスキャナ50が接続される。サーバ10およびワークフローシステム40は、ネットワーク30を介してプリンタ20およびスキャナ50を利用する。
ワークフローシステム40のワークフロー管理部42は、ワークフローのフロー定義に基づいて、ワークフローインスタンス(個々のワークフロー)を作成し、これを実行する。例えば、同じ請求書処理フローでも個別事案ごとにそれぞれ個別に請求書が起案され、必要な承認を経て発行されていく。この場合、請求書処理のフロー定義をもとに個別の請求書の処理のためのインスタンスが作成され、このインスタンスが実行されることで、その請求書に関するワークフローが実行されることになる。ワークフロー管理部42が行うワークフロー管理のための処理の代表例には、例えば電子文書の回覧、アクティビティ(処理)を実行する担当者の特定、アクティビティの担当者または関係者への通知、などがある。ワークフロー管理部42は、文書に対して行われた処理の履歴を記録する。
図13は、ワークフローシステム40で記録される処理の履歴の例である。図13の例の表では、案件ID、操作者、処理内容、および操作日時の各項目が互いに関連付けられて登録されている。図13の表の1行は、1回の処理の履歴を表す。案件IDは、ワークフローのインスタンスを識別する識別情報である。本例では、1つのワークフローインスタンスにおいて1つの電子文書が用いられることから、案件IDを電子文書の識別情報として捉えてもよい。ユーザIDは、処理を行ったユーザのユーザIDを表す。処理内容は、電子文書に対して行われたアクティビティの内容であり、フロー定義で定義された複数のアクティビティのうちの1つに対応する。操作日時は、対応するアクティビティが実行された日時を表す。
図12の説明に戻り、電子文書管理部44は、ワークフローにおいて使用される電子文書群を保持し管理する。ワークフロー中では、例えば文書が人々の間を回覧され、その文書には必要に応じてコメント記入や押印または署名などが行われる。また、個々のアクティビティの中で必要となる文書もある。このように、ワークフロー中で用いられる文書の電子データが電子文書管理部44で管理されている。また、電子文書管理部44は、ワークフロー管理部42から提供される情報に従い、各管理している電子文書群に対するアクセス権管理を行う。一般に、ワークフローインスタンスやその中の個々のアクティビティで使用される電子文書に対するアクセスは、そのワークフローインスタンスまたはアクティビティの担当者や関係者にしか認められない。ワークフロー管理部42は、ワークフローインスタンスや各アクティビティの担当者や関係者の情報を管理しているので、その情報に基づき、電子文書管理部44が個々の電子文書についてのアクセス権管理を実行する。なお、以下では、ワークフローシステム40が管理する電子文書は、予め設定された形式に従って作成された帳票であるとして第2実施形態の例を説明する。
以上に説明したワークフロー管理部42および電子文書管理部44は、従来のワークフロー管理システムに存在するものであり、既存のものを用いればよい。
第2実施形態において、サーバ10は、ワークフローシステム40の管理対象の電子文書(電子的な帳票)が印刷されて生成された紙文書に対する操作を管理する。なお、このような紙文書がスキャナ50によって読み取られて電子文書が生成されると、当該電子文書は、ワークフローシステム40の電子文書管理部44に送られ、ワークフローシステム40の管理対象となる。
図12に示すワークフローシステム40は、電子的な帳票の印刷要求を受け付けた場合、当該帳票において予め設定された領域に案件IDを配置した印刷用の帳票データを生成し、生成した帳票データの印刷を指示する印刷指示をサーバ10に送信する。
図14は、第2実施形態におけるサーバ10の内部構成の概略の例を示す。図14において、図1と同様の構成要素には図1と同様の符号を付し、その詳細な説明を省略する。以下、図14に示すサーバ10について、図1に例示する第1実施形態のサーバ10との相違点を中心に説明する。
図14のサーバ10は、図1のチェックポイント通過判定情報DB122の代わりに工程情報DB130を備える。また、図14のサーバ10は、さらに、アクション情報DB140およびアクション実行部142を備える。工程情報DB130、アクション情報DB140、およびアクション実行部142の詳細は後述する。
図14のサーバ10の出力処理部106は、図1に示す帳票ID付与部1060を備えない。出力処理部106は、印刷対象の帳票データ(案件IDが配置されている)を含む印刷指示をワークフローシステム40から受信すると、帳票情報抽出部1064において、受信した帳票データから案件IDおよび帳票情報を抽出する。このように抽出された案件IDが当該帳票の帳票IDとして用いられる。帳票情報抽出部1064は、ワークフローシステム40の管理対象の帳票のレイアウトを表す帳票スキーマを帳票DB104から読み出し、この帳票スキーマを用いて帳票データからの情報の抽出を行う。ここでは、説明を簡略化するため、ワークフローシステム40の管理対象の帳票がすべて共通のレイアウトに従って作成されており、このレイアウトを表す1種類の帳票スキーマが予め帳票DB104に記憶されているものとする。当然ながら、第2実施形態においても、第1実施形態の例と同様、複数の帳票スキーマと、帳票の種類と帳票スキーマとを対応づける情報とを帳票DB104に予め記憶させておき、帳票の種類に応じて異なる帳票スキーマを用いてもよい。
図15に、第2実施形態のサーバ10が用いる帳票スキーマの例を示す。図15に示す帳票スキーマは、図3の例と同様、XML形式で記述されている。ただし、図15の帳票スキーマは、帳票において案件IDが配置される領域を表す記述を含む。図15の帳票スキーマにおいて、「name」属性が「帳票ID」である「rectangle」要素は、案件IDが配置される矩形領域を表し、この矩形領域から抽出された文字列を帳票IDとみなすことを意味する。さらに、「帳票ID」の「rectangle」要素は、当該矩形領域から抽出された文字列のフォントを置き換えて印刷を行うことを指示する記述を含む。この指示は、「replaceFontFrom」属性および「replaceFontTo」属性により記述される。図15の例では、抽出された文字列のフォントを「MS Pゴシック」から「OCRB」に置き換えて印刷することを意味する。置換後のフォントは、帳票IDの読取装置に対応するフォントに設定される。本例では、OCRBフォントを読み取り可能な読取装置によって紙の帳票に印刷された帳票IDの読み取りが行われることから、OCRBフォントに設定されている。なお、図15の例において、「name」属性が「案件名」、「申請者」、「開始日」、「完了希望日」、「顧客名」、および「連絡先」である「rectangle」要素は、各名称が表す帳票情報の文字列が配置される矩形領域を表す。
再び図14を参照し、出力処理部106の印刷指示部1062は、帳票情報抽出部1064が抽出した帳票ID(案件ID)について、帳票スキーマで記述されたフォントの変換を行った上で、帳票IDを含む帳票データの印刷をプリンタ20に指示する。プリンタ20は、この指示に従って、帳票IDと帳票の内容とを用紙に印刷して出力する。出力処理部106は、帳票の印刷を行った旨を当該帳票IDと共に操作履歴登録部114に通知する。
帳票情報登録部108は、印刷対象の帳票データから抽出された帳票IDおよび帳票情報を帳票情報抽出部1064から受け取り、帳票情報DB110に登録する。
図16は、図15の例の帳票スキーマを用いて帳票情報を抽出した場合の帳票情報DB110のデータ内容の例である。図16の表では、図15の例の各「rectangle」要素に対応する帳票ID、案件名、申請者、開始日、完了希望日、顧客名、および連絡先の各項目の値が登録されている。
再び図14を参照し、第2実施形態における操作受付部112は、紙の帳票から読み取りされた帳票IDだけでなく、当該帳票に対して実行された操作の種別を表す情報も受け付ける。第2実施形態の例において、ユーザは、案件IDである帳票IDが印刷された紙の帳票に対して操作を行うときに、例えば、クライアント端末(図示しない)に接続された読取装置を用いて帳票IDを読み取りさせると共に、クライアント端末の入力装置を用いて、当該操作の種別を入力する。操作の種別としては、例えば、帳票の内容の確認や承認、帳票の発送、帳票の発送先から返送された帳票の受領などが挙げられる。操作の種別の入力を受け付ける手順の例として、サーバ10の操作受付部112は、例えば、読取装置で読み取られた帳票IDをクライアント端末から受信すると、操作の種別の入力をユーザに促す情報を表示させる制御情報をクライアント端末に送信し、当該情報をクライアント端末に表示させる。この制御情報は、例えば、予め設定された操作の種別のリストを表示させ、当該リストから操作の種別を選択するようユーザに促す情報を表示させるものであってよい。この制御情報に従った表示に応じて、ユーザは操作の種別を入力し、入力された種別がクライアント端末からサーバ10へ送信されて操作受付部112により取得される。
操作履歴登録部114は、操作受付部112が受け付けた帳票IDおよび操作の種別と、当該操作の操作者のユーザID(ユーザ認証部102から取得される)とを操作受付部112から取得し、当該操作の履歴を操作履歴DB116に登録する。操作履歴登録部114は、また、出力処理部106から帳票の印刷を行った旨の通知を受けて、当該印刷操作の履歴を操作履歴DB116に登録する。
図17は、第2実施形態における操作履歴DB116のデータ内容の例である。図17の例では、各帳票の帳票IDに関連付けて、操作者、操作、種別、および操作日時の各項目が登録されている。このうち操作者および操作日時の各項目の意味は、第1実施形態の例と同様である(図5参照)。「操作」の項目には、サーバ10が特定する操作の種類が登録される。図17の例では、「操作」の項目の値として、電子的な帳票の「印刷」操作と、紙の帳票に対する操作を表す「確認」操作との2種類の値のうちの一方が登録されている。「種別」の項目には、紙の帳票に対する操作の実行の際に操作者であるユーザが当該操作の種別として入力した情報が登録される。図17では、「種別」の項目の値の例として「承認」および「発送」が示されている。
図14の履歴情報検索部118の処理は、第1実施形態の例の履歴情報検索部118と同様であってよい。
図14の表示処理部120は、チェックポイント通過判定情報DB122の代わりに工程情報DB130を参照して表示対象の帳票の状態を評価する点で、第1実施形態の例の表示処理部120と異なる。
工程情報DB130は、紙の帳票に対して行われるべき処理の工程を表す情報を記憶する。例えば、帳票の処理工程の名称と、帳票の操作履歴が満たすべき条件と、を対応づける情報を記憶する。図18に、工程情報DB130のデータ内容の例を示す。図18の表では、工程ID、工程名、操作、および種別が互いに関連付けられて登録されている。工程IDは、紙の帳票に対して行われるべき処理工程の識別情報である。本例において、工程IDは、各処理工程が行われるべき順番も表す。つまり、図18の例の表は、工程IDの番号の順に各処理工程が帳票に対して行われるべきことを表す。工程名は、帳票に対して行われるべき処理工程に付与された名称を表す。操作および種別の各項目は、操作履歴における操作および種別に対応する。図18の例の工程情報DB130を参照する表示処理部120は、ある帳票の操作履歴において、各工程名に対応づけられた操作および種別の値の組が含まれる場合に、当該帳票に対して対応する工程名の処理工程が完了したと評価する。例えば、図17に示す帳票ID「A001」の操作履歴について、図18の例の工程情報DB130を参照し、表示処理部120は、操作が「印刷」で種別が空の操作履歴に対応する工程名「アクション開始」、操作が「確認」で種別が「承認」の操作履歴に対応する工程名「承認・捺印」、および操作が「確認」で種別が「発送」の操作履歴に対応する工程名「発送」の処理工程が完了したと評価する。なお、工程情報DB130において、紙の帳票に対して行われるべき全ての処理工程を記憶しておく必要は必ずしも無く、例えば検知すべき操作に対応する処理工程のみを記憶するものであってもよい。
図14の説明に戻り、サーバ10は、帳票情報DB110および操作履歴DB116のデータ内容を監視し、帳票情報および操作履歴に関して予め設定された条件が満たされた場合に、予め設定された処理(ユーザへの通知など)を実行する。アクション情報DB140およびアクション実行部142は、このような処理のための構成要素である。
アクション情報DB140は、処理の実行の条件と、当該条件が満たされた場合に実行すべき処理と、を対応づけて記憶する。図19に、アクション情報DB140のデータ内容の例を示す。図19の表は、アクション起動条件とアクション内容との組が登録される。図19の「No.」は、アクション起動条件とアクション内容との組に対して付された番号である。アクション起動条件は、対応するアクション内容の処理を開始する条件であり、帳票情報に関する条件と操作履歴に関する条件との組合せにより表される。例えば、図19のNo.1のアクション起動条件の前半の条件「承認締切日時までの時間が24時間以下」は、帳票情報に関する条件である。この条件は、帳票情報における完了希望日から予め定められた期間だけ前の日時を「承認締切日時」として、現在の日時から承認締切日時までの時間が24時間以下であるか否かを判定することで評価される。また、No.1のアクション起動条件の後半の条件「操作種類が『確認』で種別が『承認』である操作履歴が存在しない」は、操作履歴に関する条件である。この条件は、操作履歴における「操作」項目の値と「種別」項目の値とを参照して判定される。アクション内容は、対応するアクション起動条件を満たす帳票が存在する場合にサーバ10が実行すべき処理の内容を表す。なお、図19には示していないが、例えば「定義された工程情報と異なる順序で処理が行われている」ことをアクション起動条件とし、当該アクション起動条件に対応するアクション内容として「処理を再度実行する必要があることを関係者に通知する」ことを記憶してもよく、アクション起動条件とアクション内容との組は任意に定めることができる。
再び図14を参照し、アクション実行部142は、帳票情報DB110および操作履歴DB116のデータ内容を監視し、アクション情報DB140に登録されたアクション起動条件が満たされると、対応するアクション内容を実行する。アクション実行部142は、起動条件評価部1420を備える。起動条件評価部1420は、帳票情報DB110および操作履歴DB116のデータ内容を参照し、帳票IDごとに、当該帳票の帳票情報および操作履歴がアクション情報DB140に登録された各アクション起動条件を満たすか否かを判定する。アクション実行部142は、起動条件評価部1420においてアクション起動条件を満たすと判定された帳票に関して、当該アクション起動条件に対応するアクション内容の処理を実行する。例えば、ある帳票IDの帳票について、図19のNo.1のアクション起動条件が満たされると起動条件評価部1420が判定した場合、アクション実行部142は、対応するアクション内容「操作が『印刷』である操作履歴の操作者であるユーザの承認者として設定されたユーザに対して承認依頼メールを送信。」の処理を実行する。例えば、当該帳票IDの操作履歴を操作履歴DB116から読み出し、読み出した操作履歴において、「印刷」操作の操作者のユーザIDを取得する。そして、ユーザ情報DB100を参照し、当該ユーザIDのユーザの承認者として予め設定されたユーザIDを特定し、特定したユーザIDのユーザの電子メールアドレスに対して、当該帳票IDの帳票に対する承認操作を行うよう依頼するメッセージを含む電子メール(承認依頼メール)を送信する。
なお、各ユーザIDのユーザの承認者および電子メールアドレスは、予めユーザ情報DB100に記憶させておけばよい。この場合のユーザ情報DB100のデータ内容の例を図20に示す。図20の表では、各ユーザのユーザIDに関連付けて、当該ユーザの電子メールアドレスおよび承認者が登録されている。承認者は、対応するユーザが文書に対する操作を行った場合に当該操作を承認する役割を有するユーザである。あるユーザの承認者は、例えば、組織における当該ユーザの上司などであってよい。
以下、第2実施形態におけるサーバ10の動作の例を説明する。
図21に、案件IDを配置した印刷対象の帳票データを含む印刷指示をワークフローシステム40から受け取った場合にサーバが行う処理の手順の例を示す。
図21を参照し、出力処理部106は、印刷対象の帳票データを取得する(ステップS11)。
次に、出力処理部106の帳票情報抽出部1064は、帳票DB104から帳票スキーマを取得し(ステップS16)、取得した帳票スキーマに従って、印刷対象の帳票データから帳票ID(案件ID)および帳票情報を抽出する(ステップS17)。
出力処理部106の印刷指示部1062は、プリンタ20に対し、帳票IDと共に帳票の内容を用紙に印刷するよう指示する(ステップS19)。図15に示す帳票スキーマを用いる例では、印刷指示部1062は、ステップS19で、帳票IDをOCRBフォントに置き換えた上で、プリンタ20に対して印刷指示を出す。帳票スキーマにおいて、帳票IDのフォントを指定する情報が含まれていない場合、印刷指示部1062は、帳票データから抽出した帳票IDのフォントを変更せずに印刷指示を行えばよい。あるいは、例えば、第1実施形態の例の印刷指示部1062と同様に、帳票IDを符号化した符号を帳票の内容と共に印刷するようプリンタ20に指示してもよい。
ステップS20,S22の処理は図9を参照して上述した各ステップの処理と同様に実行すればよい。また、出力処理部106は、印刷が完了すると、その旨をワークフローシステム40に通知する。これにより、ワークフローシステム40においても、この印刷操作に関する履歴が記録され管理される。
なお、図21の例の手順において、帳票IDおよび帳票情報を帳票データから抽出する処理(ステップS17)で、帳票ID(案件ID)の抽出に失敗した場合に、その旨を表す情報を含む警告を表示させると共に、ステップS19以降の処理を行わないようにしてもよい。このような警告は、例えば、ワークフローシステム40に対して帳票の印刷を指示したユーザのクライアント端末に表示される。また、この警告の内容をワークフローシステム40に対して通知してもよい。
紙の帳票に対する操作の履歴を登録する処理は、第1実施形態と同様、図10の例の手順に従って行えばよい。ただし、第2実施形態では、ステップS30で、操作受付部112は、帳票IDの入力だけでなく、操作の種別の入力も受け付ける。ステップS32で、操作履歴登録部114は、帳票IDに関連付けて、例えば図17に示すような各項目の値を操作履歴として操作履歴DB116に登録する。
帳票の表示要求を受けた場合のサーバ10の処理の基本的な手順は、図11の例の手順と同様であってよい。ただし、第2実施形態では、チェックポイント通過判定情報DB122を参照する図11のステップS44,S46の代わりに、工程情報DB130を参照し、表示対象の各帳票の操作履歴に対応する工程名を特定する。ステップS48の表示処理では、例えば、各帳票の帳票ID(および帳票情報の少なくとも一部)に対応づけて、当該帳票について特定した工程名を表示装置(図示しない)に表示させる。ある帳票の操作履歴において工程情報DB130に登録された工程名に対応する操作および種別の組み合わせが複数含まれる場合、これら複数の工程名のすべてを表示させてもよいし、工程IDの番号が最大の工程名のみを表示させてもよい。
図22は、アクション実行部142の処理の手順の例を示す。アクション実行部142は、例えば、予め設定された時間間隔で定期的に図22の例の手順の処理を実行する。あるいは、システムの管理者などにより指定されたタイミングで図22の例の手順の処理を実行してもよい。
図22を参照し、アクション実行部142の起動条件評価部1420は、アクション情報DB140に登録されたアクション起動条件を評価する(ステップS60)。帳票情報DB110および操作履歴DB116に登録された帳票IDのそれぞれについて、その帳票情報および操作履歴がアクション情報DB140に登録された各アクション起動条件を満たすか否かを判定する。
アクション起動条件を満たす帳票が存在する場合(ステップS62でYES)、アクション実行部142は、当該アクション起動条件に対応するアクション内容の処理を実行する(ステップS64)。
アクション起動条件を満たす帳票が存在しない場合(ステップS62でNO)、ステップS64を行わずに図22の例の手順を終了する。
以上で説明した第2実施形態の変形例では、操作履歴DB116において、操作の内容を表す項目として操作および種別の2つの項目を登録する代わりに、操作の種類を表す項目を1つだけ登録しておいてもよい。また、ユーザに操作の種類を入力させる代わりに、特定のクライアント端末と操作の種類とを関連付ける情報を予めサーバ10が保持しておき、当該クライアント端末から操作を受け付けると、当該クライアント端末に予め関連付けられた操作の種類を操作履歴として登録するようにしてもよい。例えば、「承認」操作用のクライアント端末を予め決定しておき、「承認」操作を行うユーザは必ず当該クライアント端末で帳票IDを読み取りさせるようにする態様が考えられる。
さらに他の変形例では、押印や書込みなどの操作が行われた紙の帳票を、スキャナ機能を備えるクライアント端末でスキャンさせて帳票の画像データを生成してサーバ10に送信し、サーバ10において当該画像データから抽出した情報を用いて操作の種類を特定してもよい。この例の場合、例えば、紙の帳票に対して行われる操作の種類(承認、確認など)ごとに、当該帳票のどの領域にどのような文字や図形等が書込みされるかを表す情報を予め定義してサーバ10の記憶装置(図示しない)に記憶させておけばよい。このような情報を参照し、サーバ10は、紙の帳票をスキャンして得られた画像データにおいて、特定の操作の種類に対応する領域に対応する文字や図形等が含まれているか否かを判定し、含まれていれば当該種類の操作が実行された旨を表す操作履歴を操作履歴DB116に登録すればよい。なお、紙の帳票をスキャンして得られた画像データをサーバ10で処理する場合、当該画像データから帳票IDを抽出してもよい。この処理の具体例として、帳票において帳票IDが印刷される領域を予め定め、この領域の情報をサーバ10の記憶装置に予め記憶させておき、帳票の画像データにおける当該領域に対して文字認識処理または復号処理を行うことで帳票IDを抽出することが考えられる。
また、以上では、工程情報DB130において、1種類の作業の流れにおける各処理工程の工程名と操作および種別の組とを対応づけるテーブル(図18参照)が記憶される場合を例にとり説明した。変形例では、図18の例のようなテーブルを複数作成して工程情報DB130に記憶させておき、帳票情報における特定の項目(例えば、帳票の種類を表す項目など)の値に応じて異なるテーブルに従って、表示処理部120の処理を行ってもよい。同様に、アクション情報DB140においても、アクション起動条件とアクション内容とを対応づけるテーブルを複数作成して記憶させておき、これらのテーブルを帳票情報における特定の項目に応じて使い分けてもよい。工程情報DB130およびアクション情報DB140のそれぞれに記憶される複数のテーブルを、それぞれ、複数の帳票スキーマに対応させておいてもよい。この例では、表示処理部120およびアクション実行部142は、処理対象の帳票に対応する帳票スキーマを特定し、この帳票スキーマに対応するテーブルをそれぞれ工程情報DB130およびアクション情報DB140から読み出して各部の処理を行う。
<第3実施形態>
第3実施形態において、サーバ10は、第2実施形態の場合と同様に、ワークフローシステム40に接続される(図12参照)。第3実施形態では、サーバ10は、さらに、FAX(ファクシミリ)を送受信する機能を有するFAX装置に接続される。
図23に、第3実施形態の例による情報処理装置として機能するサーバ10の内部構成の概略の例を示す。図23のサーバ10の構成は、工程情報DB130を備えない点と出力処理部106において帳票ID付与部1060およびFAX送信指示部1066を備える点との他は、図14に例示する第2実施形態のサーバと同様である。
第3実施形態では、ワークフローシステム40において、FAX送信およびFAX受信をアクティビティの1つとして管理する。図24に、第3実施形態のワークフローシステム40において記録される処理の履歴の例を示す。図24の表の各項目(案件ID、操作者、処理内容、および操作日時)の意味は、第2実施形態の説明で参照した図13の表の各項目と同様である。図24の表は、製品やサービスなどの費用の見積を企業などに依頼するための見積依頼書を用いたワークフローを管理する場合の履歴の例である。図24の表の処理内容「見積先入力」の処理において複数の見積先が入力されると、これら複数の見積先に対して、処理内容「見積依頼FAX送信」の処理において見積依頼書がFAX送信される。
第3実施形態では、ワークフローシステム40は、管理対象の帳票についてFAX送信要求を受けると、当該帳票の予め設定された領域に案件IDを配置した、FAX送信用の帳票データを生成する。本例では、FAX送信用の帳票データには、FAX番号および宛名など、FAX送信の宛先の情報も含まれるとする。そして、ワークフローシステム40は、生成した帳票データをサーバ10に対して送信する。また、1つの帳票についてFAX送信の宛先が複数指定された場合、本例のワークフローシステム40は、複数の宛先のそれぞれの宛先情報を含む複数の帳票データを生成してサーバ10に送信する。なお、これらの複数の帳票データには、共通の案件IDが含まれる。
図23のサーバ10において、ワークフローシステム40からFAX送信用の帳票データを受信すると、出力処理部106の帳票ID付与部1060は、FAX送信の宛先ごとに異なる帳票IDを生成する。本例では、FAX送信の宛先が複数あれば、各宛先に対応する複数の帳票データが生成されてサーバ10に送信されるため、帳票ID付与部1060においてワークフローシステム40から受信した帳票データのそれぞれに対して帳票IDを生成することで、宛先ごとに異なる帳票IDが生成されることになる。また、出力処理部106の帳票情報抽出部1064は、第1実施形態および第2実施形態の例と同様に、帳票スキーマを参照し、各帳票データから帳票情報を抽出する。抽出された帳票情報は、各帳票IDに対応づけられて帳票情報登録部108に渡され、帳票情報DB110に登録される。
図25は、第3実施形態における帳票情報DB110のデータ内容の例を示す。案件IDが同一の帳票であっても、FAX送信の宛先が異なれば宛先に応じて異なる帳票IDが付与される。図25の表を参照すると、各帳票IDの帳票について、案件ID、案件名、申請者、開始日、完了希望日、見積回答納期、見積先、担当者、FAX番号の各項目の値がFAX送信用の帳票データから抽出されて登録されることがわかる。また、図25の表において、見積先、担当者、およびFAX番号の3つの項目は、FAX送信の宛先に関する情報である。
図23の説明に戻り、出力処理部106のFAX送信指示部1066は、FAX送信の宛先ごとに、対応する帳票IDを含む帳票データを生成し、生成した帳票データを当該宛先にFAX送信するようFAX装置60に指示する。出力処理部106は、さらに、FAX送信対象の帳票データの帳票IDとFAX送信を行った旨とを操作履歴登録部114に通知する。操作履歴登録部114は、この通知を受けて、各帳票IDに関連付けてFAX送信の操作の履歴を操作履歴DB116に登録する。
FAX装置60は、FAX送信指示部1066の指示に従って、帳票IDおよび帳票の内容を含むFAXを各宛先に送信する。このFAXを受信した各宛先のFAX装置は、帳票IDおよび帳票の内容を用紙に印刷して出力する。本例では、各宛先で出力された紙の帳票に対して各宛先の担当者が必要事項を書き込んだ上で、当該帳票を、サーバ10に接続されたFAX装置60のFAX番号宛にFAX送信(返送)するものとする。
FAX装置60でFAXが受信されると、FAX装置60は、受信したデータをサーバ10に渡す。サーバ10の操作受付部112は、FAX装置60から受け取った受信データに帳票IDが含まれるか否かを判定する。この判定は、例えば、帳票情報DB110に登録済みの帳票IDを表す文字列を受信データから検索することで行えばよい。帳票IDが含まれていれば、操作受付部112は、当該帳票IDとFAXを受信した旨とを操作履歴登録部114に通知する。この通知を受けると、操作履歴登録部114は、当該帳票IDについてFAX受信の操作の履歴を操作履歴DB116に登録する。
図26に、第3実施形態における操作履歴DB116のデータ内容の例を示す。図26の表では、各帳票IDに関連付けて、操作者、操作、および操作日時の各項目が登録されている。これらの各項目の意味は、第2実施形態の例(図17)と同様である。ただし、図26の例では、操作の項目において、操作の種類として「FAX送信」または「FAX受信」が登録されている。また、「FAX受信」操作の操作者として、システムを表す文字列「sys」が登録されている。「FAX受信」操作は、サーバ10の管理対象の帳票のユーザ(ユーザ情報DB100に登録されたユーザ)の指示に従って行われるのではなく、FAX装置60が自動的に行うものであるためである。なお、「FAX送信」操作は、ユーザの指示に従って行われ、サーバ10は当該ユーザのユーザIDをワークフローシステム40から取得し、当該ユーザIDが「FAX送信」操作の操作者として操作履歴DB116に登録される。
以上、案件IDおよび帳票IDを含む帳票のFAX送受信に関わるサーバ10の各構成要素を説明した。第3実施形態では、案件IDおよび帳票IDを含む帳票のFAX送受信が行われると、上述のサーバ10の各部による処理と並行して、ワークフローシステム40においても、案件IDを基にワークフロー管理のための処理が行われる。
第3実施形態では、上述のようにFAX送信またはFAX受信の操作履歴が登録されるため、図23のサーバ10のアクション情報DB140には、FAXの送受信の操作履歴に関する条件を含むアクション起動条件が登録され得る。図27に、第3実施形態におけるアクション情報DB140のデータ内容の例を示す。図27に示すアクション起動条件およびアクション内容によると、「FAX送信」された帳票について、帳票情報における「見積回答納期」まで72時間以内になっても当該帳票の「FAX受信」操作が行われていない場合に、当該帳票の帳票情報における見積先、担当者、およびFAX番号の宛先情報を用いて、再び当該帳票のFAX送信が行われる。
また、第3実施形態のサーバ10の表示処理部120は、表示対象の帳票の検索条件の指定を受け付けて、この検索条件を満たす帳票の帳票IDを履歴情報検索部118に検索させ、検索結果の各帳票IDの操作履歴を操作履歴DB116から読み出して表示させる。この検索条件は、第1実施形態の例と同様、帳票情報および操作履歴の少なくとも一方に関する条件であればよい。例えば図25の帳票情報を参照し、帳票情報の案件名が「PC用パーツ」であることを検索条件とすると、帳票ID「ID1」および「ID2」が履歴情報検索部118による検索結果となる。操作履歴DB116に図26の例のデータ内容が登録されている場合、表示処理部120は、例えば、上述の検索結果の帳票ID「ID1」,「ID2」の操作履歴として、図26に示す表を表示すればよい。この表示を確認したユーザは、帳票ID「ID1」の帳票についてFAX送信が行われているけれどもFAX受信は行われていないことを把握し、帳票ID「ID2」の帳票についてFAX送信およびFAX受信が行われていることを把握する。
以下、第3実施形態におけるサーバ10の動作の例を説明する。
図28は、FAX送信用の帳票データをワークフローシステム40から受信したサーバ10の処理の手順の例を示す。
まず、出力処理部106は、FAX送信用の帳票データ(案件IDおよび宛先の情報を含む)を取得する(ステップS70)。本例では、上述のように、FAX送信の宛先ごとにワークフローシステム40で生成された帳票データが取得される。
次に、出力処理部106の帳票情報抽出部1064は、FAX送信用の帳票データのレイアウトを表す帳票スキーマを帳票DB104から取得し(ステップS72)、この帳票スキーマに従って、ステップS70で取得した帳票データから帳票情報を抽出する(ステップS74)。
また、帳票ID付与部1060は、帳票IDを生成する(ステップS76)。本例では、ワークフローシステム40から取得された帳票データごとに帳票IDを生成すれば、宛先ごとに異なる帳票IDを生成することになる。
FAX送信指示部1066は、ステップS76で生成された帳票IDについて、当該帳票IDを配置した帳票データを生成し、帳票データに含まれる宛先へのFAX送信をFAX装置60に対して指示する(ステップS78)。この指示に従い、FAX装置60は、帳票IDおよび帳票の内容を含むFAXを各宛先に送信する。
帳票情報登録部108は、ステップS76で生成された帳票IDに関連付けて、ステップS74で抽出された帳票情報を帳票情報DB110に登録する(ステップS80)。この帳票情報の例は図25を参照して上述したとおりである。
操作履歴登録部114は、ステップS76で生成された帳票IDに関連付けて、FAX送信操作が行われたことを表す操作履歴を操作履歴DB116に登録する(ステップS82)。ステップS82の後、図29の例の手順の処理は終了する。
第3実施形態のサーバ10の表示処理部120の処理では、第1実施形態に関して上述した図11の例の手順において、ステップS44,S46(チェックポイント通過判定情報DB122を参照する処理)を省略すると共に、ステップS48の表示処理において、表示対象の帳票の操作履歴を表示させればよい。表示処理では、帳票の操作履歴だけでなく、帳票情報の少なくとも一部(例えば、案件名や申請者など)を表示させてもよい。
なお、第3実施形態のサーバ10のアクション実行部142の処理の手順は、第2実施形態に関して上述した図22の例の手順と同様であってよい。
なお、以上で説明した第3実施形態の例では、操作履歴DB116に登録される操作の種類の例として「FAX送信」および「FAX受信」の2種類のみを示した。しかし、第3実施形態においても、第2実施形態の例と同様に、操作受付部112において、紙の帳票に対する操作の種類の入力を受け付けて、「FAX送信」および「FAX受信」の他の操作の種類を登録してもよい。また、帳票のFAX受信データから抽出した情報を用いて、FAX受信に係る帳票に対して行われた操作の種類を特定してもよい。例えば、操作の種類ごとに、帳票のどの領域にどのような文字や図形等が書き込まれるかを表す情報を予め定めてサーバ10の記憶装置(図示しない)に記憶させておき、この情報を用いてFAX受信データを解析して操作の種類を特定することが考えられる。
以上で説明した実施形態および変形例の他にも、各種の変形例があってよい。例えば、ワークフローシステム40に接続されない第1実施形態の例において、第2実施形態および第3実施形態と同様に、アクション情報DB140およびアクション実行部142を備えていてもよい。
また、第3実施形態では、案件IDが同一の帳票であっても、異なる帳票IDが付与、管理される形態を、FAX装置を例に示したが、例えば電子文書であるアンケートを複数部数印刷出力すると共に複数人に配布して回収するような場合にも適用しうる。この場合も、複数部数のアンケートのそれぞれに異なる帳票IDを付与、管理し、任意のアクション起動条件やアクション内容を定める構成を適用しうる。
また例えば、上述のアクション情報DB140に登録されるアクション起動条件は、いずれも、特定の条件に該当する操作履歴が「存在しない」こと(つまり、ある操作が行われていないこと)をアクション内容の処理の実行の条件の一部とする(図19,図27)。しかし、他の例では、特定の条件に該当する操作履歴が「存在する」こと(つまり、ある操作が行われたこと)をアクション起動条件の一部としてもよい。例えば、帳票に対して「承認」操作が行われた旨を表す操作履歴が存在することをアクション起動条件とし、対応するアクション内容として、当該帳票の作成者に対して承認操作の完了の旨を通知することを設定しておくことが考えられる。
また、以上で説明したアクション実行部142は、図22の例の手順の処理を定期的に行ってアクション起動条件を評価してアクション内容の処理を実行する。一変形例では、アクション実行部142は、操作履歴DB116に対する操作履歴の登録を常に監視し、ある条件を満たす操作履歴が操作履歴DB116に登録されたタイミングで、当該条件に対応づけて予め登録された内容の処理を実行してもよい。この場合、条件を満たす操作が行われた時点でアクション内容の処理が実行される。
以上に例示したサーバ10は、典型的には、汎用のコンピュータにて上述のサーバ10の各部の機能又は処理内容を記述したプログラムを実行することにより実現される。コンピュータは、例えば、ハードウエアとして、図29に示すように、CPU(中央演算装置)80、メモリ(一次記憶)82、各種I/O(入出力)インタフェース84等がバス86を介して接続された回路構成を有する。また、そのバス86に対し、例えばI/Oインタフェース84経由で、ハードディスクドライブ(HDD)88やCDやDVD、フラッシュメモリなどの各種規格の可搬型の不揮発性記録媒体を読み取るためのディスクドライブ90が接続される。このようなドライブ88又は90は、メモリに対する外部記憶装置として機能する。実施形態の処理内容が記述されたプログラムがCDやDVD等の記録媒体を経由して、又はネットワーク経由で、HDD88等の固定記憶装置に保存され、コンピュータにインストールされる。固定記憶装置に記憶されたプログラムがメモリに読み出されCPUにより実行されることにより、実施形態の処理が実現される。
なお、以上では、サーバ10を1台のコンピュータにより実現する例の実施形態を説明したが、サーバ10の上述の例の各種の機能を複数のコンピュータに分散させて実現してもよい。