ファイル操作 基本編
Forguncyのテーブルには様々なデータを格納できるよう、様々なデータ型が用意されています。
添付ファイル型のフィールドを用いると、テーブル上でファイル管理ができるようになります。
テーブルでのファイル管理は、 サーバーサイドコマンドを使用してストレージ上にファイルを出力し、テーブルデータの更新コマンドでそのファイルの名前を登録することにより実現します。
ここでは、販売明細書の出力時にその帳票ファイルを「販売」テーブルの添付ファイル型フィールドに登録する方法を解説します。
プロジェクトファイル (作成バージョン:8.0.6.0) | insert-attachment_before.fgcp insert-attachment_after.fgcp(実装済みプロジェクトファイル) |
1.プロジェクトを確認する
サンプルプロジェクトを開いてテーブルやページの確認を行います。
手順1-1.テーブルの確認
プロジェクトには販売、会社の2つのテーブルとそれらをレポート作成用に結合したレポート用販売データビューが存在します。
販売テーブルには、どの商品がどの会社にいつ売れたかの情報やそれぞれの注文の伝票番号などの情報が格納されています。
「販売明細書PDF」フィールドを選択し、[データ型]欄が「添付ファイル」となっていることを確認します。
手順1-2.ページの確認
レポート出力ページを開きます。
ページには、出力されるレポートのファイル名となる「販売明細書」と入力されているテキストボックス、出力対象の伝票番号を選択するコンボボックス、そしてコマンドが設定済みの「PDF出力」ボタンが配置されています。
また、ボタンの下には販売テーブルがデータ連結されたリストビューが配置されています。
このリストビュー上の「販売明細書PDF」列はセル型が「添付ファイル」型になっています。
2.サーバーサイドコマンドの設定
処理を実行するサーバーサイドコマンドの設定を行います。
手順2-1.パラメーターの確認
ナビゲーションウィンドウ内のサーバーサイドコマンドから販売明細書のエクスポートを開きます。
[パラメーター]タブを開き、定義済みのパラメーターの確認を行います。パラメーター「出力ファイル名」は出力されるレポートファイルの名称を格納するのに使用します。「伝票番号」には出力対象の伝票番号が格納されます。
これらは画面上のボタンを押下した際に、画面に入力されているそれぞれの値が格納されます。
手順2-2.レポートファイルをテーブルに格納する処理の実装
[コマンドタブ]を開きます。あらかじめ2つの変数の設定コマンドとレポートのエクスポートコマンドが実装されています。
この2つのコマンドで販売明細書の出力が完了したあとに、その出力されたファイルをテーブルに格納するためのコマンドを追加していきます。
レポートのエクスポートコマンドの下にテーブルデータの更新コマンドを追加します。
販売明細書は伝票番号ごとに出力されるため、伝票番号が指定した値と一致しているレコードの「販売明細書PDF」フィールドに出力されたファイルを登録するため以下のようにパラメーターを設定します。
- 「処理の種類」で「更新」を選択
- 「対象テーブル」で「販売」テーブルを選択
- 対象フィールド欄のフィールドで「販売明細書PDF」を選択し、値に「=PDFファイル名」と入力
- 対象条件欄のフィールドで「[伝票番号]」を、条件で「=(等しい)」を選択し値に「=伝票番号」と入力
3.サーバーサイドコマンドの実装確認
レポート出力ページを開き、「PDF出力」ボタンを選択した状態で画面右側のコマンドハイパーリンクをクリックします。
販売明細書のエクスポートコマンドが設定されていること、以下のようにパラメーターが設定されていることを確認します。
- 「出力ファイル名」の値にページ上で「販売明細書」と入力されている「=H2」セルが指定されている
- 「伝票番号」の値にページ上で出力対象の伝票番号を選択するコンボボックスが配置されている「=Y2」セルが指定されている
4.デバッグを実行
プロジェクトをデバッグ実行します。
手順4-1.デバッグを実行する
リボンの[ホーム]>[デバッグ]>[開始]ボタン、またはForguncy Builderの左上にある▶ボタンを押下してプロジェクトをデバッグ実行します。
作成したページがブラウザで表示されます。
「PDF出力」ボタンを押下すると「c:\fgc\export」フォルダの中に「販売明細書_(選択した伝票番号).pdf」が生成されます。
同時にリストビュー上の指定した伝票番号と一致するレコードの「販売明細書PDF」列には、出力された販売明細書のファイル名が表示されます。
Forguncyのコマンドについてもっと知る
Forguncyの開発スタートガイドやオンラインヘルプでは、今回使用したコマンドについてより詳しくご紹介しています。
こちらもぜひご活用ください。
>開発スタートガイド – 業務ロジックを実装する「コマンド」を知る
>開発スタートガイド – 処理を自動化しアプリケーションの幅を広げるサーバーサイドコマンド