ワークフローの概要

ワークフローとは

一連の業務処理の流れを「ワークフロー」と呼びます。
たとえば、担当者が出張申請書を作成したとします。まず、上司に渡して承認印をもらいます。次に経理に渡して承認されて手続きが完了といったような一連の流れを指します。
Forguncyではこのような業務ワークフローを処理するアプリケーションを作成できます。

Forguncyのワークフローの動き

まず、どのようなワークフローにするか、つまりある申請書を作成したら誰に渡すか、承認したら誰に回すかといった一連の業務処理をワークフローとして定義します。定義された内容に沿って処理が自動的に進みますが、これは今どんな状態になっているかが分かるようにその時の処理の状況をレコードに「担当者」と「状態」というフィールドを設けて格納していくことで実現しています。

このため、ワークフローの定義は、「担当者」と「状態」を格納するテーブル設定で定義していきます。詳細は[「ワークフローの設定」を参照してください。ワークフローの設定を行うと、テーブルに「状態」と「担当者」の各フィールドが自動的に作成されます(上図)。

以下は、新しいワークフロー案件を上司と経理がそれぞれ「承認」、「却下」するアプリケーションを例に説明します。

① 担当者は新しいワークフロー案件を作成し「申請」処理をします。
申請データはテーブルのレコードとして作成され、「担当者」として「上司」、「状態」に「承認待ち」がセットされます。
② 上司がログインして承認画面を開くと、上司が担当する「承認待ち」状態の申請データが表示されます。
セル型「ログインユーザー」を使うと、このユーザーの未処理ワークフロー数が表示されます。
③ 上司が申請データを「承認」すると、次の「担当者」として「経理」、「状態」に「承認待ち」がセットされます。
上司が「却下」した場合は申請データは担当者に差し戻されます。
④ 経理がログインして申請データを承認すると、この申請書は正式に承認され、一連のワークフロー処理は終了します。
経理が「却下」すると上司に差し戻されます。

このように、レコードに記録される「担当者」と「状態」を組み合わせて、一連の業務を処理するワークフローアプリケーションを作成します。

担当者の指定

ワークフローを実行すると、テーブルの「担当者」フィールドに次の処理担当者が設定されます。
担当者はワークフローの設定で設定します。
担当者は下記のような設定方法があります。

ユーザー

各ユーザー

ロール

ロール内のユーザー

拡張属性

拡張属性を設定されたユーザー

最終編集者

レコードの最終編集者

作成者

レコードの作成者(ワークフローを開始したユーザー)

ユーザーアカウント型のフィールド

テーブル内のユーザーアカウント型フィールドの値

「ロール」「拡張属性」では、この中のユーザーの誰かを選択するか、誰でも処理できるかを選択できます。

ロールと拡張属性の違い

ロールを指定した場合、誰がアクションを起こしても、そのロール内のユーザー全員が担当者になります。
アクションを起こすユーザーによって次の処理を行うユーザーが異なるような場合は、拡張属性を使用します。

・ロールの例
Aさん、Bさんが経理ロールに所属しています。
Cさん、Dさんが経費申請を提出した場合、経理ロールに属するAさんまたはBさんが担当者になります。
※設定によりAさん、Bさんのどちらもが担当できる場合と、申請時にAさんまたはBさんを選べる場合があります。

・拡張属性の例
Aさん、Bさんは拡張属性(ユーザーアカウント型)「上司」に属しています。
拡張属性でAさんはCさんの上司に設定されています。BさんはDさんの上司に設定されています。
Cさんが出張申請を提出すると自動的にAさんが担当者になります。Dさんが申請した場合は自動的にBさんが担当者になります。