AppSheet実践編シリーズ①~BotとActionでPDF化システムを作ろう!その1~
こんにちは。Nです。最近登場頻度が増えてきました。
年の瀬ですね。今年もあっという間でした。皆様年末年始のご予定はお決まりでしょうか?私は今年も愛犬、愛ハムとおうちでぬくぬくぐぅたら予定です。ぐぅたら最高。
さて今回はAppSheetについて書いていこうかなと思います。
AppSheetって??
AppSheetはGoogle社が提供する、プログラミングの知識がない人でも画面を見ながら簡単にかつ高機能なオリジナルアプリを作成できる、ノーコード開発プラットフォームです。
GoogleスプレッドシートやExcelや一般的なDBMSをデータソースにしたアプリを簡単に開発できるだけでなく、Googleドキュメント・Googleカレンダー・Googleマップなど、Googleの他サービスとの連携ができるので、うまく使えば業務効率化にも結び付くのです。
AppSheetで可能な業務効率化とは?
業務効率化に結び付くよね~って話をしましたが、具体的にどんな場面でAppSheetのアプリが役に立つでしょうか?
Googleスプレッドシートをデータソースとしてデータ管理がしやすいアプリが開発できるのはもちろん、ちょっとGoogleドキュメントとの連携を設定すればファイルのPDF化なんかもできるので、見積書や請求書作成の時なんかはすごく役立ちそうですね。これはほんの一例にすぎないので、例を挙げれば、他にも契約書とか納品書とかいろいろありますよね。
BotとAction
ということで、今回はAppSheetのBotとAction機能を使って、先ほどパッと浮かんだ見積書を例に、楽々PDF化システムを作っていこうと思います!
Botとは、トリガとなるイベントを検知して事前に定義した一連の作業を実行するオートメーション処理です。
またActionは、ボタンのクリックにより処理を実行したり作業の自動化する機能です。
この二つを組み合わせると、いい感じに自動化システムが作れそうです。
よくありそうな場面で、完成をイメージしてみましょう。
事前準備をしよう!
PDF化システムを作ろう!と意気込んだのはいいものの、何事にも準備が必要です。
必要なもの
事前準備ということで、まずは必要なものを整理しましょう。
☆スプレッドシート
-見積ヘッダシート
現状は見積書そのものの情報のみになってます。
-見積明細シート
現状は明細の詳細はありますが、どこの会社に卸したのかわかりません。
-品目名マスタシート
マスタ情報なので品目に関する情報のみになってます。
☆Googleドキュメント
-見積書のテンプレート
手順は後述しますが、PDF出力の際に必要になるのでGoogleドキュメントで作成しておく必要があります。
見積ヘッダシート、見積明細シート、品目名マスタシートは、見積書作成のための元ネタファイルです。
後述のAppsheetのリレーション設定の都合上、最初から各シートには「ID」列を作成しており、見積明細シートに「見積ヘッダID」列と「品目マスタID」列を作成しております。
今回は、Appsheetにスプレッドシートを読み込ませた後、以下のようなリレーション設定をしました。
見積ヘッダシートと見積明細シート
見積明細シートの「見積ヘッダID」から見積ヘッダシートの「ID」に対してリレーションを設定見積明細シートと品目マスタ
見積明細シートの「品目マスタID」から品目マスタシートの「ID」に対してリレーションを設定
準備物の整理ができたので一つ注意することとして、ここではGoogleサービスの連携を生かして、ファイルの格納先はGoogle Driveにすることをおすすめします。
なぜならそれがGoogle Drive以外だと、PDF出力の実装はできても動作はしないためです。
前置きが長くなってしまいましたが、早速PDFで出力する見積書のテンプレートを作成していきましょう。
テンプレート作成手順
見積書のテンプレートをGoogleドキュメントで作成します。
見積ヘッダから差し込み項目を取得する
取引先名や作成日・請求書番号、金額など(下図黄マーカー部分)を、見積ヘッダから差し込み項目として取得します。差し込み項目でデータを取得する場合、二重のタグ(<<>>)で該当の項目名を囲んであげます。明細部分(下図オレンジマーカー部分)への差し込み項目を取得する
明細のデータを繰り返し取得する場合は、「Start:」と「End」で列名を挟んであげましょう。
そうすると書式は以下のようになります。
<< Start: [ Related テーブル名s ]>><<[列名]>><<[列名]>><<[列名]>>...<<End>>参照先テーブル(下図オレンジマーカー部分)からデータを取得する
参照先の品目マスタからデータを取得する場合は、以下の書式でデータを取得します。
<< [Refを設定した項目].[参照先の項目名]>>
こんな感じでテンプレートはOKです。
次回予告。
ようやく準備が整ったところですが、長くなってしまったので次回の記事で続きを説明していきたいと思います。
ではでは、また次回お会いしましょう!
よいお年を~。
◆ソシオネット株式会社について◆