サーバーサイド 活用編
本記事はサーバーサイド処理の活用シナリオにある「在庫が発注点を下回ったらTeamsのアラートを通知」の具体的な作成方法を解説したものです。
処理を定期実行することで、在庫管理テーブルのデータから在庫数を定期監視し、在庫数が発注点を下回ると、その旨を通知するアラートを自動的に送信します。
上記のシナリオではアラートの通知先をTeamsに指定していますが、Teamsとの連携はプラグインが必要となります。
そのため、プロジェクトファイルにおいては、アラートの通知先をTeamsではなくメール送信に変更しています。
ここでは、メール送信・Teamsメッセージ送信の両方の実装手順を記載しています。
プロジェクトファイル (作成バージョン:8.0.6.0) | alert-notification_before.fgcp alert-notification_after.fgcp(実装済みプロジェクトファイル) |
1.プロジェクトを確認する
サンプルプロジェクトを開いてテーブルやページの確認を行います。
手順1-1.テーブルの確認
プロジェクトには在庫管理テーブルがあらかじめ用意されています。
手順1-2.ページの確認
在庫管理ページには、在庫管理テーブルをデータ連結したリストビューが配置してあります。
また、リストビューの各行には、入庫処理および出庫処理を行うための「入庫」ボタンと「出庫」ボタンが配置されています。
2.スケジュールタスクを作成する
指定のスケジュールに従ってレポートを自動で生成する処理を作成します。
手順2-1.スケジュールタスクの設定
リボンの[作成]から[サーバーオブジェクト]の[スケジュールタスク]を押下します。
スケジュールタスクマネージャー(スケジュールタスクの設定ウィンドウ)が開くので、「全般」タブの名前欄に「在庫が発注点を下回ったらアラートを通知」と入力します。
手順2-1-1.トリガーの設定
トリガータブを開き、0時から12時間置きに実行されるトリガーを作成します。
- 設定で「毎時」を選択
- 「間隔」を「12.000時間」に設定
- 「開始」の時刻を「00:00:00」に設定
動作確認のためのスケジュール設定
上記設定では0時から12時間置き(毎日0時と12時)にスケジュールタスクの処理が行われます。
テスト結果をすぐに確認する場合は「テスト実行」ボタンを押下してください。
手順2-2.処理コマンドの作成
在庫管理テーブルの在庫数フィールドの値と発注点フィールドの値を比較し、在庫数が発注点を下回った場合にアラートを通知するための処理を作成します。
手順2-2-1.対象となる在庫データを取得
コマンドタブを開き、変数の設定コマンドを追加します。
対象となる在庫のデータを取得するための変数設定を、以下の通りに行います。
- 「変数名」を「対象在庫」と入力
- 「変数値」で「データベースのテーブルを参照」を選択
「対象テーブル」で「在庫管理」を選択 - 「変数値」の選択タブで「複数レコード」を選択
「フィールドの追加」ボタンを押下し以下の3項目を追加
フィールド | 変数名 |
---|---|
[在庫数] | 在庫数 |
[発注点] | 発注点 |
[商品名] | 商品名 |
手順2-2-2.繰り返し設定
繰り返しコマンドを追加し、以下の通りに設定します。
- 「繰り返し回数、または繰り返し配列」に「変数の設定」コマンドで設定した「対象在庫」を選択
繰り返し配列オブジェクト名
繰り返しオブジェクト名を使用することで、繰り返し配列における現在のオブジェクトを取得することができます。
「繰り返し配列オブジェクト名」のデフォルトの名称は「Item」です。この名称は任意に変更が可能です。
上図の例では、変数の設定コマンドで設定済みである在庫管理の3つのフィールドの値を繰り返し配列として設定しています。後述の条件分岐等のコマンドでは、「=Item.在庫数」や「=Item.発注点」といった形で現在の在庫数の値や発注点の値を取得し使用しています。
手順2-2-3.対象データの判定
アラートを通知する対象となるデータかどうかを判定するためのコマンドを追加します。
繰り返しコマンドの子コマンドに条件分岐コマンドを追加し、その子コマンドのパラメーター「If [条件式]」部分を以下の通りに設定します。
- 「変数」に「=Item.在庫数」、「条件」に「<=(以下)」、「値」に「=Item.発注点」を設定
3.アラート通知処理の作成
「定期実行処理の作成」で作成した、条件分岐コマンドの在庫数≦発注点という条件設定に当てはまった際に動作するアラート通知処理のためのコマンドを作成します。
お使いのツールによって実装の手順が異なります。
メールで通知を送信する場合は「メール送信コマンドの実装」を、Teamsメッセージで通知を送信する場合は「Teamsメッセージ送信コマンドの実装」をそれぞれ参照してください。
手順3-1.メール送信コマンドの実装
左側のツリーの条件分岐の子コマンドで、先ほど設定した「If =Item.在庫数 <=(以下) =Item.発注点」の子コマンドにメール送信コマンドを追加し、以下の設定を行います。
- 「差出人:」に任意のメール送信者となるメールアドレスを入力
- 「宛先:」に任意のメール受信者となるメールアドレスを入力
- 「件名」に「在庫不足」と入力
- 「本文:」の横の「本文に数式を使用する」にチェック
入力欄に「=Item.商品名&”の在庫数が発注点を下回っています。”」と入力
メールサーバー(SMTP送信サーバー)の設定
メール送信コマンドを使用する際には、事前にメールサーバー(SMTP送信サーバー)の設定が必要です。詳細は、下記のページを参考にしてください。
>メール送信サーバーの設定(Forguncyヘルプ)
手順3-2.Teamsメッセージ送信コマンドの実装(※要プラグイン)
左側のツリーの条件分岐の子コマンドで、先ほど設定した「If =Item.在庫数 <=(以下) =Item.発注点」の子コマンドに、Teamsメッセージ送信コマンドを追加し、以下の設定を行います。
- 「着信WebフックのURL」に構成したWebhookのURLを入力
- 「タイトル」に「在庫不足」と入力
- 「本文」に「=Item.商品名&”の在庫数が発注点を下回っています。”」と入力
WebhookのURL
Teamsメッセージ送信コマンドを利用するには、プラグインのインストールの他に、あらかじめWebhookのURLの構成を完了しておく必要があります。詳細は、下記のページを参考にしてください。
>Teamsメッセージ送信コマンド(Forguncyヘルプ)
4.デバッグを実行
プロジェクトをデバッグ実行します。
手順4-1.デバッグを実行する
リボンの[ホーム]>[デバッグ]>[開始]ボタン、またはForguncy Builderの左上にある▶ボタンを押下してプロジェクトをデバッグ実行します。
作成したページがブラウザで表示されます。
スケジュールタスクの実行後、在庫が不足しているレコードについて、自身で設定した通知先にアラートが送信されていることを確認できます。
Forguncyのコマンドについてもっと知る
Forguncyの開発スタートガイドやオンラインヘルプでは、今回使用したコマンドについてより詳しくご紹介しています。
こちらもぜひご活用ください。
>開発スタートガイド – 業務ロジックを実装する「コマンド」を知る