第12回 業務ロジックを実装する「コマンド」を知る

業務ロジックを実装する「コマンド」を知る

Forguncyでは、業務ロジックの実装に際してプログラミングの代わりに「コマンド」というオブジェクトを使用します。if文などで実装される分岐処理も、SQL文で実行するテーブルデータの更新も、Forguncyでは「コマンド」の形式で用意されており、いくつかの設定項目を選択することで簡単に実装が可能です。本記事では、Forguncyアプリケーションの作成における肝とも言えるコマンドから、ユーザーの操作がトリガーとなり動作するものについて、種類や使い方を簡単に解説します。より詳細な使用方法については、併記しているリンクよりヘルプページを参照してください。

見出しの装飾

画面遷移:ページの移動やデータ表示に関するコマンド

見出しの装飾

ページ遷移

ページ遷移コマンドを使用すると、開いているぺージから他のページへ移動させることができます。遷移先として設定できるのは、「Forguncy内のページ」「外部ページ」「セルの値、または数式」の3種類です。遷移先に「Forguncy内のページ」を指定した場合、追加でいくつかの設定が可能になります。遷移先のページにデータを受け渡したい時のために2つの方法が用意されています。

1つ目は遷移先のページのセルに値を受け渡しできる「遷移先ページへの値の受け渡し」です。例えば画面上でユーザーが選択した商品の在庫状況を遷移先のページで確認したいときなど、商品の情報を値として遷移先のページに受け渡すことができます。

2つ目は、画面上で選択されているレコードのデータを遷移先のページでも有効にしたい時に使える「遷移先ページのデータ連結設定」です。例えば社員一覧情報が表示されたリストビューで選択した社員一人の詳細情報を別の詳細ページで表示することができます。

遷移先ページのデータ連結設定を行った社員検索ページと社員詳細ページ
▲ 遷移先ページのデータ連結設定を行った社員検索ページと社員詳細ページ
見出しの装飾

ポップアップウィンドウの表示

ポップアップウィンドウの表示ではForguncy内の他のページをポップアップ形式で表示することができます。データの新規登録画面やデータ編集画面をポップアップウィンドウで表示することで、一覧ページを表示したままで入力が可能になります。ページ遷移コマンドと同様に値の受け渡しやデータ連結にも対応しています。

ポップアップウィンドウで実装された社員情報の新規登録画面
▲ ポップアップウィンドウで実装された社員情報の新規登録画面
見出しの装飾

レポートのビューワ表示

レポートのビューワ表示は作成したレポートをWebページで表示するために使用するコマンドです。レポートビューワではページの切り替えや文字列の検索などの操作が可能です。ビューワについての詳細は開発者記事の「ActiveReports搭載デザイナーで帳票を作る」の回でご紹介しておりますので、そちらをご覧ください。

このコマンドを使用するためにはあらかじめレポートを作成しておく必要があります。レポートについてはお役立ち資料一覧ページにて使い方を学べるチュートリアルを配布しています。本コマンドについてもこちらで配布しているプロジェクトファイルで体験いただけますので、ぜひ一度お試しください。

見出しの装飾

データベース:データの編集や抽出などデータベース操作に関するコマンド

見出しの装飾

テーブルデータの更新

セルにはテーブルのフィールドを連結することができます。そのセルの値でテーブルのフィールド値を更新するのが、このテーブルデータの更新コマンドとなります。
ForguncyにおけるデータのCRUDの詳細ついては開発者記事の「Forguncyで行うデータの登録・読出・更新・削除(CRUD)」の回で詳しくご紹介しておりますので、こちらを参照してください。また、データの即時更新をしない設定にしたリストビュー上のデータを更新する際には後述する 「リストビューの操作」コマンドを使用する必要があります。本コマンドではリストビュー上のデータ更新には対応していないため、ご注意ください。

見出しの装飾

クエリー

リストビューに表示するデータを絞り込むのに使用します。

クエリーコマンドではデータの抽出を行うテーブルと、その条件を指定します。これを利用して、一覧画面に表示するデータを絞り込むことができます。図の社員一覧画面では社員マスタを連結したリストビューの上部に事業部名、部名、課名を選択できるドロップダウンを配置しています。これらの値を選択してから検索ボタンを押下することで、リストビューには選択した条件と一致する社員のレコードのみを表示するようにしています。

クエリーコマンドは設定をノーコードで行います。Forguncyではビューの作成時にもクエリーを使用しますが、そちらはSQLを使用して定義します。ビューとクエリーについては開発者記事「クエリを使ってビューを定義する」で詳しくご紹介していますので、併せてご覧ください。

クエリーコマンドで絞り込みを実装した社員一覧画面
▲ クエリーコマンドで絞り込みを実装した社員一覧画面
見出しの装飾

入出力:ファイルやページのインポート、エクスポートに関するコマンド

見出しの装飾

Excelエクスポート、PDFエクスポート

ExcelエクスポートコマンドおよびPDFエクスポートコマンドでは、Forguncyで作成したページをExcel/PDF形式で出力を行います。 出力形式がExcelの場合のみ、ページ単位ではなくリストビュー単位での出力も可能です。ただし、レポートデザイナーで作成したレポートファイルは、後述の「レポートのエクスポート」コマンドから出力します。出力する対象や形式によって異なるコマンドを使用する必要があるため、注意してください。

見出しの装飾

レポートのエクスポート

レポートデザイナーで作成したレポートをPDF形式でエクスポートする際に使用するコマンドです。レポートの出力自体は「レポートのビューワ表示」コマンドを介してWebから行うこともできますが、この「レポートのエクスポート」コマンドではビューワ表示を挟まずに直接PDF形式で出力することができます。

また、レポートのエクスポートコマンドではパラメーターを指定可能です。レポート作成時にデータソースパラメーターを準備しておくことで、レポートのデータソースとなるテーブルやビューのデータを絞り込めます。レポート作成についての詳細は開発者記事の「ActiveReports搭載デザイナーで帳票を作る」でご紹介していますので、そちらをご確認ください。

見出しの装飾

リストビュー:リストビュー上のデータ取得や表示切替・データ更新などリストビューに関するコマンド

見出しの装飾

リストビューの操作

リストビュー内のデータ操作を行うコマンドです。

更新、追加、挿入、削除といったデータ更新処理、再読み込み、行番号や列番号の取得、列の表示/非表示の切り替えなどリストビューに関する様々な処理を行えます。データの更新は「テーブルデータの更新」コマンドでも行えますが、こちらの「リストビューの操作」コマンドによる更新はリストビューの値を即時更新しない場合に使用します。リストビューについては開発者記事「Forguncyのリストビューを使いこなす」で別途解説しておりますので、ヘルプと合わせてご覧ください。

見出しの装飾

制御フロー:他のコマンドと組み合わせて使う処理の実行制御に関するコマンド

条件分岐、繰り返し、コマンドの強制終了、変数の設定といった制御フロー関連コマンドは、他のコマンドと組み合わせて使用することで処理の幅を広げます。

条件分岐コマンドではいわゆるIf文のような処理を実現することができます。繰り返しコマンドでは配列の要素数の分だけ同じ処理を繰り返すような処理を実装できます。繰り返しの回数は配列の要素数のみに限らず、リストビューの行数やセル範囲の指定などから設定できます。

これらのコマンドで条件指定をする際に役に立つのが、変数の設定コマンドです。このコマンドでは直接入力した値や数式、あるいはテーブルデータから取得した値を変数として保持しておくことを可能にします。ここで定義した変数は、同じコマンドダイアログの中で設定した他のコマンドで指定できるため、条件分岐コマンドや繰り返しコマンドの条件式やルールの中で使用できます。コマンドの強制終了はそのあとに続く処理の内容に関わらずコマンドを強制終了する、Breakに似た役割を持ちます。これらのコマンドを用いて、例えば社員マスタのデータから年末調整対象フラグがオンになっている人にのみメールを送信するというような処理をコマンドのみで実装することができます。

見出しの装飾

通知:メッセージやメールなどユーザーに通知を送るコマンド

見出しの装飾

メッセージの表示

ポップアップのダイアログ形式でメッセージを表示します。

前述の条件分岐コマンドと組み合わせ、入力必須の項目の値がブランクだった場合に警告を表示するなどの形で使用すると、データ登録の際にミスを防ぐことができます。

見出しの装飾

メール送信

Forguncyアプリケーションからメールを送信します。

メール送信コマンドについてはForguncyの各機能の使い方を演習形式で学ぶことが出来るコンテンツ、Forguncyドリルで扱っています。Forguncyドリルではプロジェクトファイルの配布と実装手順の詳細な解説を行っておりますので、本コマンドを使用する前にぜひ一度お試しください。なお、ドリルではサーバーサイドコマンドのメール送信について解説していますが、メール送信処理は通常コマンドとサーバーサイドコマンドどちらにも共通する処理となっています。

見出しの装飾

その他の種類のコマンド

見出しの装飾

サーバーサイドコマンドの呼び出し

このコマンドを使用すると定義済みのサーバーサイドコマンドを呼び出すことができます。
サーバーサイド処理の実装方法を学ぶには、基本的な使い方から実際の利用シーンを想定した処理の実装方法まで幅広く学習できるForguncyドリルをご覧ください。

見出しの装飾

Forguncyをもっとよく知る

各業種や用途別にForguncyを活用して、成功した事例や使い方をご紹介します。