Forguncy(フォーガンシー)で見積管理システムを作ってみました!(4)
Excel関数もグラフも使えて画面も変更できる、ノンプログラミングWebシステム開発ツール「Forguncy(フォーガンシー)」。
前回に引き続き、見積管理システムを作ります。
↓↓ 前回の記事はこちら ↓↓
以前作成したForguncyによる簡単な見積管理システムに、今回は申請承認のプロセスを追加してみます。
方法は簡単で、Forguncyのワークフロー機能を使用します。
ワークフロー機能は担当者の管理が必要なので、まずはロールを設定したユーザーアカウントとログイン機能を追加します。
今回、ロール付きのユーザーアカウント情報はForguncyのテンプレートの中にある『出張申請』からExcelエクスポートをして、作成する見積管理システムにExcelインポートします。
これで次のユーザーアカウント情報を設定できました。
ログイン機能の追加には以下の操作をします。
- ページ表示権限の管理においてログインユーザーのみに全てのページ表示権限を与える。
- ユーザー切り替えができるように「FGC_ユーザーマスターページ」上に「ログインユーザー」型セルを設置する。
ワークフローを設定するにあたり、申請承認ルールを次のように規定します。
- 見積書の「提出」は、作成者が実行します。
- 見積書の「承認」「却下」は作成者が所属するグループのリーダーが実行します。
その他に次のルールを盛り込みます。
- 見積書の修正は、ワークフローの状態が「新規」である場合に作成者のみが実行できるものとします。
- ログインユーザーの役職が「部長」以外である場合、見積書一覧画面において表示する見積書は、ログインユーザーが作成したもの、またはログインユーザーがワークフロー担当であるものとします。ただし、検索は全ての見積書を対象に実行します。
- ログインユーザーの役職が「部長」である場合、見積書一覧画面において表示する見積書は全件とします。
以上を踏まえて、ワークフローを設定していきます。
ワークフローを設定するテーブル「見積リスト」を開き、テーブル設定から「ワークフロー…」をクリックします。
開いたワークフローダイアログにある「ワークフローを有効にする」にチェックを入れて、状態やプロセスはデフォルトのまま、実行後の担当者を変更します。
ワークフローを設定したテーブルには、「状態」と「担当者」フィールドが追加され、データ連結やクエリー条件などに利用できるので、この後の見積一覧画面や見積書の修正機能に用いていきます。
次に、ページにワークフローバー型セルを設置します。
今回は「見積書」ページのフォーム内に設置しましたが、PDF出力した際にワークフローバーは表示されませんので問題ありません。
以上、これで申請承認のプロセスを設定できました。
では、テーブルに追加された「状態」や「担当者」フィールドを使って、その他のルールを盛り込みます。
1.見積書の修正機能
いつでも誰でも見積書の内容を変更できてしまっては困ります。今回は、「状態」が「新規」である時、見積書の作成者のみが修正できるように、条件を追加します。
見積書のページ上にある「修正」ボタンを無効に設定し、ページロード時のコマンドで条件が合えば有効に切り替えます。
これで、申請後や作成者以外の人による見積書の修正はできなくなります。
2.ログインユーザーによる見積書一覧の表示切替
ログインユーザー型セルには、ユーザーに割り当てられた未処理のワークフロー数が表示されます。
見積書一覧では、自分が未処理であるもの、また自分が作成したもののみを表示させることとします。
しかし、部長には割り当てられた処理がないため、ログインユーザーが部長である場合は、全件表示することにします。
ログインユーザーが部長かどうかの条件分岐が必要となるので、ページロード時のコマンドにリストビューのクエリーコマンドを追加します。
さらに、自分が未処理であるものをもっとわかりやすくするために、一覧の1行目にマークを表示させるようにしてみます。
方法は、
1.「見積リスト」のリストビューに「担当者」を追加し、リストビューの外にログインユーザー型セルを設置します。表示用に「担当者」のサブフィールドである「氏名」をデータ連結しましたが、表示のみでしか利用できないようなので、非表示行に先の2項目を追加しています。
2.「見積リスト」のリストビューに数式行を追加します。
3.追加した数式行に条件付き書式を設定する。
デバッグ実行するとこうなります。
<見積書を複数作成した正門さんがログインした時>
見積一覧ページ
状態が「新規」である見積書を表示
状態が「申請中」である見積書を表示
状態が「承認済」である見積書を表示
<正門さんが所属するグループリーダである秋山さんがログインした時>
見積一覧ページ
秋山さんの承認待ちである見積書を表示
いかがでしたでしょうか。
Forguncyのワークフロー機能を使って、簡単に申請承認プロセスを追加することができ、またその状態を利用して、表示を切り替えたり機能に制限をかけたりすることができました。
とても有効かつ便利ですね。
また今後も便利な機能を探っていきたいと思います。