はじめに
お中元・お歳暮を送る場合は1人が複数の相手に送ることが多いと思います。
ですので、1送り主で1レコード(送り先はテーブルに入力)というアプリを作成し、出力は送り先別に送付状と一緒にピッキングリストも印刷できるようにしてみます。
アプリ構成
送付状と商品マスタの2つのアプリを作成します。もし未作成でしたら、テンプレートアプリも作成してください。
送付状アプリ
シンプルに文字列1行と数値だけで構成してみます。
ルックアップは次に紹介する「商品マスタ」の商品コードがキーになっています。
商品マスタアプリ
こちらもシンプルに文字列1行と数値だけで構成してみます。
テンプレートアプリ
↑フィールドの下にフィールドコードを表示しています
作成したテンプレートファイルを保存するアプリです。番号や名称をキーにしてテンプレートを取得します。
テンプレートについて
テンプレートは2シート構成です。作成したテンプレートはどこかのアプリに添付して保存しておいてください。
シート名:#(送付先一覧)$(氏名)$("_送付状")
ピッキングリストで商品を集めて、商品とこの紙を元に発送するようなフローを想定しています。
A2には =ご依頼主!A2 という式が入っています。同様に、A3, A6にも同様の式を入力します。A5 は ="TEL:" & ご依頼主!A6 という式です。
こうなっているのは、テーブル行を展開したシート側ではテーブル行のフィールドしか参照できないためです。テーブル外のフィールドは別シートに出力して、Excelの式で参照するようにしてください。
シート名:送り主
こちらのシートはテーブル外のフィールドのみを出力します。
印刷用のシートではなく、印刷用のシートから参照されるシートになります。
テーブルを展開する仕組み
シート名が#付きでフィールドコードを指定している場合はテーブル行数(や、関連レコードのレコード数)分のシートに複製されます。
上手く展開できない場合は、# と テーブル(や、関連レコード)のフィールドコードが正しく設定されているかをご確認ください。
Customine設定
全体の設定はこちらです(なんと、アクション3つだけ!)
「詳細画面を表示した時」に「ボタンをメニュー位置に配置する」でボタンを追加します。
「ボタンを押した時」に「キーを指定してレコードを取得する」でテンプレートを取得します。
テンプレート取得先のアプリは
最後に「PDFを出力する」で出力します。暫く待つとPDFがダウンロードされます。
まとめ
今回はテーブル1行で1シートのテンプレートで作成しましたが、展開するシートは何種類でも作成可能です。
ですので、テーブル1行で3シートに展開することも可能です。ただその場合はシート名の生成ルールを分かりやすくしていないと混乱しがちですので注意してください。