一連の業務処理の流れを「ワークフロー」と呼びます。
たとえば、担当者が出張申請書を作成したとします。まず、上司に渡して承認印をもらいます。次に経理に渡して承認されて手続きが完了といったような一連の流れを指します。
Forguncyではこのような業務ワークフローを処理するアプリケーションを作成できます。
まず、どのようなワークフローにするか、つまりある申請書を作成したら誰に渡すか、承認したら誰に回すかといった一連の業務処理をワークフローとして定義します。定義された内容に沿って処理が自動的に進みますが、これは今どんな状態になっているかが分かるようにその時の処理の状況をレコードに「担当者」と「状態」というフィールドを設けて格納していくことで実現しています。
このため、ワークフローの定義は、「担当者」と「状態」を格納するテーブル設定で定義していきます。詳細は[「ワークフローの設定」を参照してください。ワークフローの設定を行うと、テーブルに「状態」と「担当者」の各フィールドが自動的に作成されます(上図)。
以下は、新しいワークフロー案件を上司と経理がそれぞれ「承認」、「却下」するアプリケーションを例に説明します。
このように、レコードに記録される「担当者」と「状態」を組み合わせて、一連の業務を処理するワークフローアプリケーションを作成します。
ワークフローを実行すると、テーブルの「担当者」フィールドに次の処理担当者が設定されます。
担当者はワークフローの設定で設定します。
担当者は下記のような設定方法があります。
ユーザー |
各ユーザー |
ロール |
ロール内のユーザー |
拡張属性 |
拡張属性を設定されたユーザー |
最終編集者 |
レコードの最終編集者 |
作成者 |
レコードの作成者(ワークフローを開始したユーザー) |
ユーザーアカウント型のフィールド |
テーブル内のユーザーアカウント型フィールドの値 |
「ロール」「拡張属性」では、この中のユーザーの誰かを選択するか、誰でも処理できるかを選択できます。
ロールを指定した場合、誰がアクションを起こしても、そのロール内のユーザー全員が担当者になります。
アクションを起こすユーザーによって次の処理を行うユーザーが異なるような場合は、拡張属性を使用します。
※設定によりAさん、Bさんのどちらもが担当できる場合と、申請時にAさんまたはBさんを選べる場合があります。