活用編 コマンド
Forguncyではコマンドを使って、テーブルデータの更新をすることができます。
デフォルトでは1つのコマンドにつき1つのテーブルを更新する設定になっていますが、実は複数のテーブルを指定することができます。
この方法で複数テーブルの一括更新を実装する場合、トランザクションが有効になるためデータの不整合の防止も可能です。
今回は営業用の日報システムで「日報データ」と「営業案件の進捗状況」を、それぞれのテーブルに一括で更新する方法について解説します。
プロジェクトファイル (作成バージョン:8.0.6.0) | bulk-update_before.fgcp bulk-update_after.fgcp(実装済みプロジェクトファイル) |
1.プロジェクトを確認する
処理の実装を始める前に、サンプルプロジェクトファイルの構成を確認します。
手順1-1.テーブルの確認
プロジェクトには「営業案件リスト」と「営業活動履歴」という2つのテーブルがあります。
ユーザーがこのアプリケーションを使って営業日報を作成すると、そのデータは「営業活動履歴」テーブルに新規登録されます。
それと同時に、日報に入力した案件の確度と最終コンタクト日のデータを用いて「営業案件リスト」の該当案件レコードが更新される処理を実装していきます。
手順1-2.ページの確認
プロジェクトには、「営業メニュー」「営業案件一覧」「営業日報一覧」「営業日報」の4つのページが存在します。
各ページの概要は以下のテーブルの通りです。
ページ名 | 概要 |
---|---|
営業メニュー | アプリケーションのスタートページ 「営業案件一覧」ページと「営業日報一覧」ページに遷移可能 |
営業案件一覧 | 営業案件リストテーブルのデータを一覧表示を行う |
営業日報一覧 | 営業活動履歴テーブルのデータを一覧表示を行う 「営業日報」ページをポップアップ形式で表示可能 |
営業日報 | 日報データの新規登録・登録済みデータの表示を行う 営業日報一覧のどのボタンから遷移したかで登録/表示の役割が変わる 登録時は営業活動履歴テーブル・営業案件リストテーブルに対してデータ更新を行う |
この時点では必須項目の入力チェックと、データ更新後に表示されるポップアップメッセージしか実装されていません。
2.データの更新コマンドの実装
「営業日報」ページでデータの登録ができるよう、コマンドを実装します。
手順2-1.条件分岐コマンドの確認
「営業日報」ページ下部の「登録」ボタンセルを選択した状態ます。
その状態で、右ペインのセル型タブから「コマンド」のハイパーリンクをクリックします。
開いたコマンドウィンドウには、「条件分岐」コマンドが既に設定されています。
ここの条件は、「商談メモ欄以外に未入力の項目があるかどうか」で分岐します。
未入力項目があった場合には、If側が下記のように動作します。
1.エラーメッセージが表示される
2.処理を強制終了する(データ更新処理は動かない)
テーブルデータの更新は未入力項目が無い場合、つまりElseの条件に当てはまる場合に動くように設定します。
手順2-2.変数の設定
「営業日報」ページの顧客名と案件名の欄に連結されているフィールドはそれぞれ「顧客番号」と「案件番号」フィールドです。
そのため、このページには顧客名と案件名のデータがありません。
これらのデータはマスタ的な役割をしている「営業案件リスト」テーブルから、変数の設定コマンドを用いて取得します。
Else側の子コマンドである「メッセージの表示」の上に、「変数の設定」コマンドを2つ配置し以下のように設定します。
・1つ目の変数の設定コマンド
(共通) | 変数名 | 企業名 |
変数値 | データベースのテーブルを参照 | |
対象テーブル | 営業案件リスト | |
選択タブ | ||
選択 | 単一のフィールド | |
対象フィールド | [顧客名] | |
クエリータブ | ||
フィールド | [顧客番号] | |
条件 | =(等しい) | |
値 | =F7 | |
先頭レコードタブ | ||
取得する先頭レコードの数 | 1 |
・2つ目の変数の設定コマンド
(共通) | 変数名 | 案件名 |
変数値 | データベースのテーブルを参照 | |
対象テーブル | 営業案件リスト | |
選択タブ | ||
選択 | 単一のフィールド | |
対象フィールド | [案件名] | |
クエリータブ | ||
フィールド | [案件番号] | |
条件 | =(等しい) | |
値 | =F9 | |
先頭レコードタブ | ||
取得する先頭レコードの数 | 1 |
手順2-3.テーブルデータの更新コマンドの設定
「変数の設定」コマンドの下に「テーブルデータの更新」コマンドを追加します。
手順2-3-1.トランザクションの設定
初期状態では対象テーブルはを1つしか指定することしかできません。
これを変更するには、「トランザクションを有効にする」ハイパーリンクを押下します。
設定が有効になると、画面が下図のように変わります。
手順2-3-2.新規登録コマンドの設定
「営業活動履歴」テーブルにデータを新規登録するため、以下のように設定します。
処理の種類 | 追加 | |
対象テーブル | 営業活動履歴 | |
フィールドと値 | ||
案件番号 | =F9 | |
案件名 | =案件名 | |
顧客名 | =F7 | |
企業名 | =企業名 | |
対応内容 | =F11 | |
確度 | =F13 | |
商談メモ | =F15 | |
対応日 | =F5 | |
開始 | =V5 | |
終了 | =AD5 | |
対応者 | =F3 |
手順2-3-3.更新コマンドの設定
緑色の+ボタンを押下し、CRUDを行うテーブルの数を増やします。
「営業案件リスト」の更新用に、下記のように設定します。
処理の種類 | 更新 | |
対象テーブル | 営業案件リスト | |
フィールドと値 | ||
確度 | =F13 | |
最終コンタクト日 | =F5 | |
更新対象レコード | 特定レコード | |
条件 | ||
フィールド | 案件番号 | |
条件 | =(等しい) | |
値 | =F9 |
手順2-2-4.更新後の処理の設定
テーブルデータの更新後、「営業日報」ページのポップアップを閉じるコマンドを追加します。
Else側の「メッセージの表示」コマンドの下に「ポップアップウィンドウの終了」コマンドを追加します。
この時、忘れずに「親ページの連結データを最新の情報に更新する」にチェックを入れてください。
3.デバッグを実行
これでページが完成したので、プロジェクトをデバッグ実行します。
手順3-1.デバッグを実行する
リボンの[ホーム]>[デバッグ]>[開始]ボタン、またはForguncy Builderの左上にある▶ボタンを押下してプロジェクトをデバッグ実行します。
作成したページがブラウザで表示されます。
手順3-2.動作確認
「営業メニュー」ページから「営業日報一覧」ページに遷移します。
データ更新処理を行うには、「営業日報の新規作成」ボタンを押下しポップアップを開きます。
登録内容は自由に入力して構いませんが、以下に一例を示します。
担当者名 | 久留一 |
対応日 | 2023/04/12 |
開始 | 10:00 |
終了 | 12:00 |
顧客名 | ラディッシュネットソリューションズ |
案件 | ラディッシュネットソリューションズ_PC入れ替え提案 |
対応内容 | 商談 |
確度 | 提案説明 |
商談メモ | ヒアリング内容に基づき、プランの提案を実施。次回見積提示予定 |
入力後、登録ボタンを押下してポップアップを閉じます。
登録されたデータはそれぞれ「営業日報一覧」ページと「営業案件一覧」ページから確認できます。
・営業日報一覧ページ
・営業案件一覧ページ
4.Forguncyのリストビューについてもっと知る
Forguncyの開発スタートガイドやオンラインヘルプでは、今回使用したリストビューについてより詳しくご紹介しています。
こちらもぜひご活用ください。