本記事では、ViewFramerを使って複数のオブジェクトの関係性を気にせず、帳票を出力する方法をご紹介します。
さらに、今回はExcelのレイアウトを使って作成していきます!
<複数オブジェクトのイメージ>
本記事では予実表を作成していきたいと思います。
オブジェクトの構成と帳票イメージは以下のようになっています。
部門ごとに持っている予算と実績オブジェクトからデータを抽出し、
各部門の予実表を一つにまとめています。
<作成の流れ>
- Excelでレイアウトを作成・データセットの作成をする
- ExcelレイアウトをDesignerにアップロードする
- Viewframerでデータのマッピングをする
- Salesforceにボタンを設置する
Excelでレイアウトを作成・データセットの作成をする
Excelのレイアウトを準備します。
Excelを開いて、タブから「挿入」>「アドインを入手」を選択します。
「OPRO ドキュメントデザイナー for Office」と検索して、アドインを追加してください。
アドインを使って項目のマッピングを行っていきます。
(詳しくは「【TECH COLUMN】SalesforceからExcel帳票(見積書)を出力する方法(Officeアドイン版)」の「2.Officeアドインを設定する」部分をご覧ください。)
ExcelレイアウトをDesignerにアップロードする
マッピングが終わったら、アドインツールから を選択し、Designerにアップロードします。
アップロードボタンをクリックするとDesignerの画面が開きます。
以下の各項目を設定し、「作成」ボタンをクリックしてください。
・連携方法:ViewFramer / D3Worker
・テンプレート名:任意
・Excelブック:使用したレイアウトを選択
ページが切り替わるので、 [配備]をクリックしレイアウトの配備を行います。
配備まで終えたらDesignerの画面を閉じても問題ありません。
次の作業でテンプレートを指定するので、ここで名付けたテンプレート名は分かるようにしてくださいね!
ViewFramerでデータのマッピングをする
データのマッピングを行っていきます。
View Framerを開きます。
はじめに、「ビュー」の設定からです。
「ビュー」タブで新規ボタンをクリックします。
基本設定ページではビュー名を命名します。
次に、リレーション設定でオブジェクト間の紐づけを行っていきます。
主オブジェクトに中心となるオブジェクトを選択します。
今回は部門ごとの予実表となるので、「部門マスタ」を設定していきます。
ここで、部門マスタの別名「bumon」と設定します。
また、関連オブジェクトもそれぞれリレーションの設定をおこないます。
上記の主オブジェクトのように、使用するオブジェクト名と別名を設定します。
そして、関連オブジェクトと主オブジェクト間で共通となる項目を設定します。
タブ「出力項目設定」に移ります。
ここでは、「リレーション設定」で使用するオブジェクトから実際にどの項目を使用するかを設定していきます。
出力したい項目名を追加して、項目名は分かりやすい名前を付けてあげましょう。
タブ「出力条件設定」ではレコードの抽出条件を設定します。
今回は主となるオブジェクトから、以下のように値を設定しました。
・項目名:カスタムオブジェクトID
・演算子:いずれかと等しい(IN)
・条件値:パラメーター名
・パラメーター名(任意):「objectID」と命名しました。
(より詳しくはこちらに記載もございます。ご利用ください。)
続いて、データのマッピングをしていきます。
マッピングから「新規」をクリックします。
マッピング名、使用するビューをそれぞれ設定します。
今回タイプは「一覧型」を選択しています。
「ビューの編集を許可する」は任意設定ですが、チェックを外すとビューの編集ができないので、チェックを入れることをお勧めします。
ビューを選択し、「取得」ボタンをクリックします。
ビューで設定した項目が以下のように表示されます。
問題なければ「次へ」をクリックします。
タブ「Documentizer」で使用するテンプレートを指定します。
テンプレートを選択すると、Excelレイアウトで作成したフィールド名とビューの出力項目名が表示されるので、紐づけを行っていきます。
すべて紐づけができたら配備をクリックします。
Salesforceにボタンを設置する
Salesforce上でボタンの作成・配置についてはこちらをご覧ください。
今回は部門マスタのリストビューにボタンを設置しました。
出力したい部門を選択し、今回作ったボタンをクリックすると、Excelで帳票が出力されます。
完成イメージが以下です。
オブジェクトからデータを取得するだけでなく、Excelの計算機能もそのまま使用できます。
今回はExcelを使ってレイアウトを作成しましたが、Wordももちろん対応しています。
使い慣れたツールで、複数オブジェクトの出力が可能なのでぜひご活用ください!