Forguncy(フォーガンシー)で見積管理システムを作ってみました!(2)
Excel関数もグラフも使えて画面も変更できる、ノンプログラミングWebシステム開発ツール「Forguncy(フォーガンシー)」。
前回に引き続き、見積管理システムを作ります。
↓↓ 前回の記事はこちら ↓↓
前回は、見積書の作成と作成した見積書の閲覧を行う見積管理システムを作成しました。
今回は、その見積管理システムの機能を拡充したいと思います。
そこで追加する機能は以下の2つとします。
- 作成した見積書の修正機能
- 複数ページにわたる見積書の作成機能
先ずは1について。
登録済みの見積データを修正するためのコマンドボタンを追加します。
登録直後でも「見積一覧」画面からでも修正ができるように、修正ボタンは「見積書」画面に設置します。
「見積書」画面から「見積一覧」画面へ移動できる方が便利かと思いますので、「見積一覧」へ「ページ遷移」するコマンドボタンも追加します。
「修正」ボタンのコマンドは、「見積入力」ページへの「ページ遷移」を選択します。
遷移先ページには該当データを引き継ぐよう「連結データを読み込む」に設定します。(※3)
「見積入力」画面での機能は、「見積リスト」テーブルの新規登録のみだったため、修正機能のために「見積リスト」テーブルを更新するコマンドを追加する必要があります。そこで、「見積入力」画面で必要なコマンドが「登録」なのか「更新」なのかを見分けるために、「修正」ボタンの「ページ遷移」コマンドに値の受渡しを設定します。(※4)
「見積書」ページの「修正」ボタンのコマンド
値の受渡し設定によって、「修正」ボタンから遷移した「見積入力」画面には「登録」ボタンではなく「修正」ボタンが表示されるようになります。デバッグ実行して確認してみます。
「見積書」画面の「修正」ボタンから開いた「見積書入力」画面
次に「見積入力」画面の「登録」ボタンのコマンドに「条件分岐」コマンドを追加して、ボタンのテキスト値によってコマンドを変えるようにします。(※5)
「見積入力」ページの「登録」ボタンのコマンド
さらに、「見積入力」画面にあるリストビュー1(費目リスト)も編集が可能になるよう設定をします。
リストビュー1を選択した状態で、「デザイン」タブの「更新処理」にある「編集を許可」と「削除アイコンを表示」にチェックを入れます。(※6)
新規行の追加は「追加」ボタンだけで行うようにするため、「新規行の追加を許可」にはチェックを入れずにおきます。「編集を許可」にチェックを入れることで、「見積詳細」テーブルの「費目」「数量」「補足」はリストビューから編集が可能になります。ただし、「単価」は「費目」に関連付けした「商品マスタ」から読み込んでいるので編集できません。
その他に、見積書の作成日を変更できるように設定します。以前はTODAY関数を使用しましたが、編集できるよう作成日のセルを日付型セルに変更します。(※7)
見積データの登録をキャンセルする場合は「戻る」ボタンを使用して、該当する見積No.の見積詳細テーブルデータを削除していましたが、修正をキャンセルしたい場合には削除しては困ります。
そこで編集を戻すことができるようにするために、リストビューデータの即時更新をしないよう設定し(※8)、「追加」ボタンのコマンドを「テーブルデータの更新」ではなく「リストビューデータの更新」に変更します。(※9)さらに「登録」ボタンに「リストビューの更新確定」を追加します。(※10)
そして「戻る」ボタンのコマンドは「1つ前のページ」に「ページ遷移」するだけにすれば、リストビューのデータがテーブルに登録されることはありません。
忘れてはいけないのが、「見積詳細」テーブルの「見積書No」がリストビューにないことです。リストビューの中に「見積書No」を追加し、その列を非表示設定にしておきます。(※11)
リストビュー1のリストビュー設定
「見積入力」ページの「追加」ボタンのコマンド
「見積入力」ページの「登録」ボタンのコマンド
「見積入力」ページの「戻る」ボタンのコマンド
「見積入力」ページ
デバッグ実行してみると、リストビューデータを更新確定するまで「単価」の表示がされないことがわかりましたが、今回は一旦このままにします。
以上で登録済みの見積書データを修正(更新)する機能を搭載することができました。
次に2について。
見積項目が多くて見積書1ページに収まらない場合もあります。収まらない時、画面上ではスクロールバーが表示されますが、PDF出力すると全データ分だけリストの行数が増えます。それによりレイアウトが変わってしまうので、今回はデータ件数によって同じレイアウトを繰り返す機能を使います。
先ず、印刷設定したエリアを行で選択し、右クリックして現れるコンテキストメニューから「レポートの繰り返し設定」-「繰り返し領域の設定」を選択します。印刷エリアの選択でないのでご注意を。行を選択します。
次にヘッダー領域にする行を選択し、右クリックして現れるコンテキストメニューから「レポートの繰り返し設定」-「ヘッダー領域の設定」を選択します。
さらにフッターに領域にする行を選択し、右クリックして現れるコンテキストメニューから「レポートの繰り返し設定」-「フッター領域の設定」を選択します。
リストビュー1の「リストビュー設定」を開き、「外観」タブにある「レポート」の項目にチェックを入れます。
「レポート」タブの「エクスポートの印刷設定」を開き、各項目設定します。複数ページになるので、ページ番号を表示するように設定しましょう。
以上で、デバッグ実行してみます。
PDF出力した結果がこちらです。リストビューの範囲は最大にしておいた方が良かったかもしれないですね。
改善点はいくつかありますが、設定すべき機能は搭載できました。
今回もコードを必要とすることはありませんでした。動きをいつでもデバッグ実行で確認できるのはとても便利です。
ちょっとした業務システムであれば、プログラムを書く必要は全くなく、ノンプログラムでExcel(エクセル)ファイルに設定を付けていくだけで、Webシステム化が完了してしまいます。ちょっと慣れは必要ですが、ある程度使えるようになれば、どんどん業務改善が進められるかもしれませんね!
次回もお楽しみに!