連続した業務処理の流れを「ワークフロー」と呼びます。
たとえば、出張申請書を作成し、上司に回送し、承認印をもらう、というような一連の業務処理の流れを指します。
Forguncyでは業務ワークフローを処理するアプリケーションを作成することができます。
ワークフローでは各レコードの「状態」と「担当者」の値を元に処理の流れが決定されます。
ワークフローを使用するテーブルでは状態フィールドと担当者フィールドが自動的に作成されます(上図)。
ここでは、新しいワークフロー案件を上司と経理がそれぞれ「承認」、「却下」するアプリケーションを例に説明します。
① 担当者は新しいワークフロー案件を作成し「申請」処理をします。
申請データはテーブルのレコードとして作成され、「担当者」として「上司」、「状態」に「承認待ち」がセットされます。
② 上司がログインして承認画面を開くと、上司が担当する「承認待ち」状態の申請データが表示されます。
セル型「ログインユーザー」を使うと、このユーザーの未処理ワークフロー数が表示されます。
③ 上司が申請データを「承認」すると、次の「担当者」として「経理」、「状態」に「承認待ち」がセットされます。
上司が「却下」した場合は申請データは担当者に差し戻されます。
④ 経理がログインして申請データを承認すると、この申請書は正式に承認され、一連のワークフロー処理は終了します。
経理が「却下」すると上司に差し戻されます。
このように、レコードに記録される「担当者」と「状態」を組み合わせて、一連の業務を処理するワークフローアプリケーションを作成します。
ワークフローでは、テーブルの担当者フィールドで次の処理担当者が設定されます。
担当者はテーブルのワークフロー設定で設定します。
担当者は下記のような設定方法があります。
ユーザー |
各ユーザー |
グループ |
グループ内のユーザー |
拡張属性 |
拡張属性を設定されたユーザー |
最終編集者 |
レコードの最終編集者 |
作成者 |
レコードの作成者(ワークフローを開始したユーザー) |
「グループ」「拡張属性」では、この中のユーザーの誰かを選択するか、誰でも処理できるかを選択できます。
グループも拡張属性も、通常、それぞれの中に複数のユーザーが存在します。
グループを指定した場合、誰がアクションを起こしても、そのグループ内のユーザー全員が担当者になります。
アクションを起こすユーザーによって次の処理を行うユーザーが異なるような場合は、拡張属性を使用します。
・グループの例
Aさん、Bさんが経理グループに所属しています。
Cさん、Dさんが経費申請を提出した場合、経理グループに属するAさんまたはBさんが担当者になります。
※設定によりAさん、Bさんのどちらもが担当できる場合と、申請時にAさんまたはBさんを選べる場合があります。
・拡張属性の例
Aさん、Bさんは拡張属性(ユーザーアカウント型)「上司」に属しています。
拡張属性でAさんはCさんの上司に設定されています。BさんはDさんの上司に設定されています。
Cさんが出張申請を提出すると自動的にAさんが担当者になります。Dさんが申請した場合は自動的にBさんが担当者になります。