AppSheetでファイル作成後にファイル添付メール送信

今回はファイル作成のautomationでよく使うテンプレパターンを紹介したいと思います。

業務として、受注帳票を作成した後に、所定の宛先へ作成したファイルをメール送信する要件はよくあります。業務の流れは以下の通りです。

  1. 帳票作成情報の入力
  2. 内容の確認(送信前)
  3. メール送信(と合わせて帳票作成の実行)
  4. 作成ファイルを画面に表示

テーブル定義

今回は以下のテーブル定義をサンプルに、一連の流れを説明したいと思います。明細を含む帳票の作成を行う場合の標準的な構成になっています。

  • 受注情報ヘッダ
  • 受注情報明細

以下が、受注情報ヘッダと受注情報明細テーブルの項目などの情報です。

受注情報ヘッダ

親テーブルに該当します。「伝票番号」に紐づいて、明細(受注情報明細)と関連(「Related 受注情報明細s」)を持っています。他にも帳票作成者などの情報を持つ場合は多いと思いますが、今回は簡略化のため割愛しています。

このテーブルのポイントは、「メール送信」と「PDF」の2項目です。

「メール送信」のTYPEは「Number」型にしています。このあとの「action(アクション)」で説明しますが、この値をカウントアップ(+1)させることで、帳票作成/メール送信の「automation(オートメーション)」を起動します。

「PDF」のTYPEは「File]です。ここに作成した帳票ファイルのパスを格納することで、画面からファイルを表示させることが出来るようになります。

#NAMETYPEKEY?LABEL?FORMULASHOW?EDITABLE?REQUIRE?INITIAL VALUE
1伝票番号Text
2登録日DateTODAY()
3メール送信Number
4PDFFile
5Related 受注情報明細sListREF_ROWS(“受注情報明細”, “伝票番号”)
6_ComputedKeyText

受注情報明細

明細を保持するテーブルです。特にこちらで気を付けるべき項目はありません。強いて言うなら「伝票番号」のTYPEが「Ref」となって、受注情報ヘッダと紐づいていることです。

#NAMETYPEKEY?LABEL?FORMULASHOW?EDITABLE?REQUIRE?INITIAL VALUE
1伝票番号Reffalse
2商品Ref
3数量Number
4_ComputedKeyText

アクション

今回用意するアクションは1つだけです。

メール送信(ファイルも作成)

受注情報を入力する画面上に「メール送信」アクションを配置します。このアクションを実行することで、

  • 帳票作成
  • メール送信

を実行する「automation(オートメーション)」を起動します。

「メール送信」アクションの設定は簡単です。先ほどのテーブル定義にあった「メール送信」(TypeはNumber型)に「+1」を行うだけです。この値の変更を検知して、後続の「automation(オートメーション)」を起動させます。

automation(オートメーション)

今回のポイントとなる「ファイル作成/メール送信」の「automation(オートメーション)」です。以下の4つで構成されています。

  1. メール送信の検知
  2. 受注PDF作成
  3. PDFリンク更新
  4. メール送信実行

メール送信の検知

まずは起動条件(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」は、作成した帳票ファイルのパスを格納済みですので、以下の設定でファイルは添付されます。

実行結果確認

メール送信を実行すると、帳票が添付されたメールが送信されていることを確認できます。

Comments

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です