今回はファイル作成のautomationでよく使うテンプレパターンを紹介したいと思います。
業務として、受注帳票を作成した後に、所定の宛先へ作成したファイルをメール送信する要件はよくあります。業務の流れは以下の通りです。
- 帳票作成情報の入力
- 内容の確認(送信前)
- メール送信(と合わせて帳票作成の実行)
- 作成ファイルを画面に表示
テーブル定義
今回は以下のテーブル定義をサンプルに、一連の流れを説明したいと思います。明細を含む帳票の作成を行う場合の標準的な構成になっています。
- 受注情報ヘッダ
- 受注情報明細
以下が、受注情報ヘッダと受注情報明細テーブルの項目などの情報です。
受注情報ヘッダ
親テーブルに該当します。「伝票番号」に紐づいて、明細(受注情報明細)と関連(「Related 受注情報明細s」)を持っています。他にも帳票作成者などの情報を持つ場合は多いと思いますが、今回は簡略化のため割愛しています。
このテーブルのポイントは、「メール送信」と「PDF」の2項目です。
「メール送信」のTYPEは「Number」型にしています。このあとの「action(アクション)」で説明しますが、この値をカウントアップ(+1)させることで、帳票作成/メール送信の「automation(オートメーション)」を起動します。
「PDF」のTYPEは「File]です。ここに作成した帳票ファイルのパスを格納することで、画面からファイルを表示させることが出来るようになります。
# | NAME | TYPE | KEY? | LABEL? | FORMULA | SHOW? | EDITABLE? | REQUIRE? | INITIAL VALUE |
1 | 伝票番号 | Text | 〇 | 〇 | 〇 | ||||
2 | 登録日 | Date | 〇 | 〇 | 〇 | TODAY() | |||
3 | メール送信 | Number | 〇 | ||||||
4 | File | 〇 | |||||||
5 | Related 受注情報明細s | List | REF_ROWS(“受注情報明細”, “伝票番号”) | 〇 | 〇 | ||||
6 | _ComputedKey | Text | 〇 | 〇 |
受注情報明細
明細を保持するテーブルです。特にこちらで気を付けるべき項目はありません。強いて言うなら「伝票番号」のTYPEが「Ref」となって、受注情報ヘッダと紐づいていることです。
# | NAME | TYPE | KEY? | LABEL? | FORMULA | SHOW? | EDITABLE? | REQUIRE? | INITIAL VALUE |
1 | 伝票番号 | Ref | false | 〇 | 〇 | ||||
2 | 商品 | Ref | 〇 | 〇 | 〇 | 〇 | |||
3 | 数量 | Number | 〇 | ||||||
4 | _ComputedKey | Text | 〇 | 〇 |
アクション
今回用意するアクションは1つだけです。
メール送信(ファイルも作成)
受注情報を入力する画面上に「メール送信」アクションを配置します。このアクションを実行することで、
- 帳票作成
- メール送信
を実行する「automation(オートメーション)」を起動します。
「メール送信」アクションの設定は簡単です。先ほどのテーブル定義にあった「メール送信」(TypeはNumber型)に「+1」を行うだけです。この値の変更を検知して、後続の「automation(オートメーション)」を起動させます。
automation(オートメーション)
今回のポイントとなる「ファイル作成/メール送信」の「automation(オートメーション)」です。以下の4つで構成されています。
- メール送信の検知
- 受注PDF作成
- PDFリンク更新
- メール送信実行
メール送信の検知
まずは起動条件(When this EVENT occurs)です。
Event Typeは「Data Change」で、「受注情報ヘッダ」テーブルの「Updates」をトリガーにしています。
条件(Condition)は、「受注情報ヘッダ」テーブルの「メール送信」に変化があったら(実行前後で値が変わることがあったら)になります。
[_thisrow_before].[メール送信]<>[_thisrow].[メール送信]
受注PDF作成
メール送信のトリガーを検知したら、最初に帳票作成を実行します。
「Run a Task」の「Custom task」にある「Create a new file」を選択します。このタスクは帳票作成で利用するタスクになります。
今回は「受注情報ヘッダ」テーブルをもとに「PDF」を作成します。この際、Templateに帳票用のテンプレートを設定します。
また、「File Folder Path」「File Name Prefix」には、ファイルの格納フォルダとファイル名を設定ます。
「File Folder Path」
CONCATENATE(
"受注データ/",
YEAR([登録日]),
"年/",
MONTH([登録日]),
"月/PDF/"
)
「File Name Prefix」
受注PDF &_& TEXT([登録日],"yyyymmdd") &_& [メール送信]
PDFリンク更新
作成したファイルを画面参照できるよう、「受注情報ヘッダ」テーブルの「PDF」(TYPEは「File])を更新します。ここに作成した帳票ファイルのパスを格納することで、画面からファイルを表示させることが出来るようになります。
タスクは「Run a data action」とし、「Set row values」を選択します。「PDF」カラムの設定値は、受注PDF作成で「File Folder Path」と「File Name Prefix」に設定した値を結合したパスとなります。またファイル名に付与される拡張子(今回は「.pdf」)も忘れずに追加します。
Set these column(s))
CONCATENATE(
"受注データ/",
YEAR([登録日]),
"年/",
MONTH([登録日]),
"月/PDF/",
受注PDF &_& TEXT([登録日],"yyyymmdd") &_& [メール送信].pdf
)
この「PDFリンク更新」を行うことで、画面上に「OPEN FILE(PDF)」アクションが表示され、画面からファイルを取得できるようになります。
「OPEN FILE(PDF)」アクションは、「File」タイプの項目を追加すると自動で生成されるアクションです。初期値から設定は変えていません。
「Behavior」の「Only if this condition is true」に以下が設定されているため、「PDF」にリンクが追加されると、アクションが表示されます。
NOT(ISBLANK([PDF]))
メール送信実行
メール送信は「Run a task」の「Send an email」で実施します。「Email Subject」と「Email Body」には、タイトルとメール本文を記載します。
(本筋から離れるため割愛しましたが、メールの宛先もテーブルで管理すると、送信時に動的に設定できます。)
また、メールに作成したPDFを添付するには「Other Attachments」にファイルパスを設定します。「受注情報ヘッダ」テーブルの「PDF」は、作成した帳票ファイルのパスを格納済みですので、以下の設定でファイルは添付されます。
実行結果確認
メール送信を実行すると、帳票が添付されたメールが送信されていることを確認できます。
コメントを残す