投稿記事

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

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

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

今回は、見積管理システムを作ります。

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

見積業務をExcelで運用している会社は多いかと思います。Excelでの運用は人手による維持管理が必要で、以下のような課題があります。

  1. 見積に必要なデータが分散管理されている。
  2. 人手によって見積書のExcelシステムが保守されている。
  3. 見積書を出力するにはExcel上で調整が必要である。

そこで今回は、Forguncy(フォーガンシー)を使ってWeb上の見積管理システムを作ります。

システム管理が容易になるうえ、Forguncy(フォーガンシー)は外部システムとのデータ連携機能を持っているので、見積に必要なデータを直接参照でき、人手による作業を減少させることができます。またForguncy(フォーガンシー)の帳票機能によって人手による帳票の調整作業も不要になります。

今回作成する見積管理システムの作成手順をまとめます。作成前に最終的な見積書のイメージを用意しておく方が良いでしょう。

  1. 「取引先マスタ」テーブルと「商品マスタ」テーブルを作成する。
  2. 見積書作成に必要な情報を登録するためのテーブルを作成する。
  3. 見積書ごとに詳細を登録する詳細テーブルを作成する。
  4. 見積書を作成するための情報入力画面(ページ)を作成する。
  5. 出力する帳票画面(ページ)を作成する。
  6. 作成した見積書一覧を確認できるページを作成する。

では早速始めましょう。

Forguncy Builderを起動し、「取引先マスタ」テーブル、「商品マスタ」テーブルを内部に作成します。(既に外部に存在する場合は、リンクテーブルの作成で外部データと接続することができます)

「取引先マスタ」テーブル

取引先マスタテーブル

「商品マスタ」テーブル

「商品マスタ」テーブル

次に見積書作成に必要なデータを登録する「見積リスト」テーブルを作成します。

見積内容は別テーブルに登録するため、こちらには入れません。「見積No」フィールドは「フィールド」タブにある「フィールドの入力規則」にて「必須」と「一意」にチェックを入れ、自動採番を設定します。

IDが生成されるタイミングは 「ページロード時」にしておきます。

続いて、見積内容を登録する「見積詳細」テーブルを作成します。

「見積No」フィールドは「見積リスト」テーブルの「見積No」フィールドと関連付け設定します。さらに「費目」フィールドは「商品マスタ」テーブルの「費目」フィールドと関連付け設定します。

「見積詳細」テーブル

これで見積書作成に必要なデータの箱は用意ができました。

次は、データを入力するためのページを作成します。

こちらは画面イメージです。

データ入力ページ画面イメージ

それぞれの入力セルが「見積リスト」の各フィールドと連結しています。

「見積書No.」はテキスト型セルですが、ID生成タイミングをページロード時としているため、このページがロードするタイミングで自動採番されたNo.が表示されます。変更不可としたいので右ペインのセル型タブで「読み取り専用」にチェックを入れます。

「作成日」のセルには数式「=TODAY()」を入力し、「見積リスト」テーブルの「作成日」フィールドに連結しています。

「取引先名」はコンボボックス型セルとし、リスト項目は「取引先」テーブルの「取引先名」フィールドから取得します。

「費目リスト」のリストビューには「見積詳細」テーブルを連結しています。

「費目」はコンボボックス型セルとし、リスト項目は「商品マスタ」テーブルの「費目」フィールドから取得します。

「追加」ボタンのコマンドは「テーブルデータの更新」を使って、「見積書No」と「費目」と「数量」の値を「見積詳細」テーブルへデータ追加します。

「見積期限」は日付型セルです。

「備考」は複数行テキストボックス型セルです。

「登録」ボタンのコマンドは「テーブルデータの更新」を使って「見積リスト」テーブルにデータ追加し、「ページ遷移」でこの後作成する「見積書」ページへ遷移します。

「戻る」ボタンのコマンドは「テーブルデータの更新」を使って「見積詳細」テーブルに追加したデータを削除し、「ページ遷移」で1つ前のページに遷移します。

ここまでで「ホーム」タブの「デバッグ-開始」を使って見積入力ができるか、テーブルにデータが追加されるかなどの確認ができます。

次は実際に出力する見積書のフォーマットページを作成します。

既にExcelフォーマットがあれば「データ」タブの「インポート-Excelからページ」をクリックし、フォーマットを新規ページにインポートすることが可能です。

こちらが画面イメージです。

見積書のフォーマットページ画面イメージ

必要なデータを「見積リスト」テーブルのフィールドと連結します。

「お見積金額」「小計」「消費税」「合計金額」はExcelと同様に数式を入力することで算出します。見積の内訳である費目リスト部分は「見積詳細」テーブルに連結したリストビューを設置します。

「レポート」タブの「印刷範囲の設定」で印刷範囲を設定します。(青線で囲まれている部分)

「PDF出力」ボタンのコマンドは「PDFエクスポート」を使って「現在のページ」をエクスポートします。

以上で見積入力から見積書作成までの作業がForguncyのWEBアプリケーションから実行できるようになりました。

登録されている見積書を確認するなどの見積入力画面とは別の画面に遷移したい場合のために、TOPページを設けます。

TOPページでは右ペイン「ページ設定」タブにある「スタートページに設定」にチェックを入れます。

TOPページ

「見積入力」ボタンは「見積入力」ページに遷移します。

「見積書一覧」ボタンはこの後作成する「見積一覧」ページに遷移します。

続いて、見積書一覧を表示、検索するための「見積一覧」ページを作成します。

こちらが画面イメージです。

「見積一覧」ページ

ページロード時は、リストビュー1には全件の「見積リスト」を表示します。

見積書検索条件は「見積No」か「取引先名」のいずれかとし、コンボボックス型セルの値によって「見積リスト」テーブルを対象にクエリーをかけます。ページロード時のコマンドには両チェックボックスを「無効」に設定します。

「見積書表示」ボタンのコマンドは、「ページ遷移」を使ってリストビュー1の選択したレコードの見積書を表示します。

リストビュー2は「見積詳細」テーブルに連結し、「見積リスト」テーブルの詳細リストビューとして設定することで、リストビュー1の選択したレコードによってリストビュー2の表示が切り替わります。

次は、いつでもTOP画面に戻れるようメニュー型セルを設置したユーザーマスターページを作成します。

ユーザーマスターページ

全ページのマスターページとして設定します。

Builderでの作業はここまでです。サーバーに発行して確認してみます。

見積管理システムTOPページ

「見積入力」ボタンをクリック。

自動採番

コンボボックスを使用して「取引先名」「費目」を選択し、その他の入力値も入れます。

「追加」ボタンをクリックする度、費目リストに追加

「登録」ボタンをクリック。

見積書画面

下部の「PDF」出力ボタンをクリック。

PDF出力

「見積書」ページの右上部のTOPアイコンをクリック。

TOP画面に戻りました

もう一度「見積入力」ボタンをクリックし、データを入力します。

自動採番

「戻る」ボタンをクリック。

見積データ破棄の確認 ダイアログが表示されます

見積データ破棄の確認ダイアログから「OK」をクリック。

TOP画面に戻りました

もう一度「見積入力」ボタンをクリック。

自動採番は進んでいない

同様に複数見積データを作成し、「見積書一覧」ボタンをクリック。

見積書一覧

「見積No.」のチェックボックスにチェックを入れて、右横のコンボボックスから見積No.「A0002」を選択する。

見積No.A0002

「取引先名」のチェックボックスにチェックを入れて、右横のコンボボックスから取引先名「株式会社〇×△」を選択する。

取引先名株式会社〇×△が表示されました

見積書リストの見積No.A0004のレコードを選択する。

見積No.A0004の費目リスト

「見積書表示」ボタンをクリック。

No.A0004の見積書を表示

ページの右上部のTOPアイコンをクリックし、再び「見積書一覧」ボタンをクリック。

事前のクエリー結果が残っている!?

ところが一つ問題が発生しました。検索条件のコンボボックスは初期化されているのに、リストビューには事前のクエリー結果が残っています。

事前のクエリーを初期化するには、このページに遷移するための「ページ遷移」コマンドの詳細設定で、「遷移先ページのクエリー結果と並べ替え結果のキャッシュを削除する」にチェックが必要でした。

クエリー後に再度このページを開いても、リストには全件表示されるようになりました。

いかがでしたか。

Forguncyを使った見積管理システム、今回もコードを入力することなく、Excelと同じようにフォーマットを作成し、セルにデータを連結し、コマンドを選択していくだけで実現することができました。

ちょっとした業務システムであれば、プログラムを書く必要は全くなく、ノンプログラムでExcel(エクセル)ファイルに設定を付けていくだけで、Webシステム化が完了してしまいます。ちょっと慣れは必要ですが、ある程度使えるようになれば、どんどん業務改善が進められるかもしれませんね!

次回もお楽しみに!