投稿記事

Forguncy(フォーガンシー)で見積管理システムを作ってみました!(4)

Forguncy(フォーガンシー)で見積管理システムを作ってみました!(4)

Excel関数もグラフも使えて画面も変更できる、ノンプログラミングWebシステム開発ツール「Forguncy(フォーガンシー)」。

前回に引き続き、見積管理システムを作ります。

↓↓ 前回の記事はこちら ↓↓

以前作成したForguncyによる簡単な見積管理システムに、今回は申請承認のプロセスを追加してみます。

方法は簡単で、Forguncyのワークフロー機能を使用します。

ワークフロー機能は担当者の管理が必要なので、まずはロールを設定したユーザーアカウントとログイン機能を追加します。

今回、ロール付きのユーザーアカウント情報はForguncyのテンプレートの中にある『出張申請』からExcelエクスポートをして、作成する見積管理システムにExcelインポートします。

ユーザー管理をクリック
それぞれのアプリの ユーザー管理から エクスポート/インポートを実行

これで次のユーザーアカウント情報を設定できました。

ユーザー名、アカウント情報

ログイン機能の追加には以下の操作をします。

  1. ページ表示権限の管理においてログインユーザーのみに全てのページ表示権限を与える。
  2. ユーザー切り替えができるように「FGC_ユーザーマスターページ」上に「ログインユーザー」型セルを設置する。
ページ表示権限の管理をクリック
「すべて」にチェック
ログインユーザー型セル

ワークフローを設定するにあたり、申請承認ルールを次のように規定します。

  1. 見積書の「提出」は、作成者が実行します。
  2. 見積書の「承認」「却下」は作成者が所属するグループのリーダーが実行します。

その他に次のルールを盛り込みます。

  1. 見積書の修正は、ワークフローの状態が「新規」である場合に作成者のみが実行できるものとします。
  2. ログインユーザーの役職が「部長」以外である場合、見積書一覧画面において表示する見積書は、ログインユーザーが作成したもの、またはログインユーザーがワークフロー担当であるものとします。ただし、検索は全ての見積書を対象に実行します。
  3. ログインユーザーの役職が「部長」である場合、見積書一覧画面において表示する見積書は全件とします。

以上を踏まえて、ワークフローを設定していきます。

ワークフローを設定するテーブル「見積リスト」を開き、テーブル設定から「ワークフロー…」をクリックします。

ワークフロー…をクリック

開いたワークフローダイアログにある「ワークフローを有効にする」にチェックを入れて、状態やプロセスはデフォルトのまま、実行後の担当者を変更します。

ワークフローを使用するにチェック、実行後の担当者を選択

ワークフローを設定したテーブルには、「状態」と「担当者」フィールドが追加され、データ連結やクエリー条件などに利用できるので、この後の見積一覧画面や見積書の修正機能に用いていきます。

フィールドに自動追加されました

次に、ページにワークフローバー型セルを設置します。

今回は「見積書」ページのフォーム内に設置しましたが、PDF出力した際にワークフローバーは表示されませんので問題ありません。

ワークフローバー型セル

以上、これで申請承認のプロセスを設定できました。

では、テーブルに追加された「状態」や「担当者」フィールドを使って、その他のルールを盛り込みます。

1.見積書の修正機能

いつでも誰でも見積書の内容を変更できてしまっては困ります。今回は、「状態」が「新規」である時、見積書の作成者のみが修正できるように、条件を追加します。

見積書のページ上にある「修正」ボタンを無効に設定し、ページロード時のコマンドで条件が合えば有効に切り替えます。

その他「無効」にチェック
「見積書」のページロード時のコマンド設定

これで、申請後や作成者以外の人による見積書の修正はできなくなります。

2.ログインユーザーによる見積書一覧の表示切替

ログインユーザー型セルには、ユーザーに割り当てられた未処理のワークフロー数が表示されます。

見積書一覧では、自分が未処理であるもの、また自分が作成したもののみを表示させることとします。

しかし、部長には割り当てられた処理がないため、ログインユーザーが部長である場合は、全件表示することにします。

ログインユーザーが部長かどうかの条件分岐が必要となるので、ページロード時のコマンドにリストビューのクエリーコマンドを追加します。

ログインユーザーのロールが「部長」以外の時、ログインユーザーが「作成者」であるか「担当者」であるものにフィルターをかける

さらに、自分が未処理であるものをもっとわかりやすくするために、一覧の1行目にマークを表示させるようにしてみます。

方法は、

1.「見積リスト」のリストビューに「担当者」を追加し、リストビューの外にログインユーザー型セルを設置します。表示用に「担当者」のサブフィールドである「氏名」をデータ連結しましたが、表示のみでしか利用できないようなので、非表示行に先の2項目を追加しています。

ログインユーザー型セル

2.「見積リスト」のリストビューに数式行を追加します。

担当者がログインユーザである場合は「1」

3.追加した数式行に条件付き書式を設定する。

セル値が「1」の時は 赤丸アイコンを表示

デバッグ実行するとこうなります。

<見積書を複数作成した正門さんがログインした時>

見積一覧ページ

正門さんが作成した見積書一覧が表示、未提出状態である見積書を示すマークを表示

状態が「新規」である見積書を表示

修正ボタンが有効、提出ボタンが有効

状態が「申請中」である見積書を表示

修正ボタンが無効、アクションボタンがない

状態が「承認済」である見積書を表示

修正ボタンが無効、アクションボタンがない

<正門さんが所属するグループリーダである秋山さんがログインした時>

見積一覧ページ

秋山さんによる承認待ち状態である見積書を示すマークを表示

秋山さんの承認待ちである見積書を表示

修正ボタンが無効、「承認」「却下」ボタンが表示

いかがでしたでしょうか。

Forguncyのワークフロー機能を使って、簡単に申請承認プロセスを追加することができ、またその状態を利用して、表示を切り替えたり機能に制限をかけたりすることができました。

とても有効かつ便利ですね。

また今後も便利な機能を探っていきたいと思います。