前回のテンプレートファイル作成に続き、今回はテンプレートレコードを作成します。
前回は、SalesforceでExcelの帳票を作成する– Office File Creator Excel編 – ①テンプレートファイル作成をご参照ください。
テンプレートレコードを作成する
アプリケーションランチャーのアイコンをクリックし、検索ボックスに「of」と入力します。アプリケーションに表示された「Office File Creator」をクリックします。
※Ver.1の場合は、「OFC_Template」を選択します。
OFC_Templateのリストビューが表示されます。画面の右上の「新規」ボタンをクリックします。
各項目の値を入力します。
情報セクション
名前
テンプレートレコードを管理するための名前です。ここでは、わかりやすくオブジェクト名とファイル形式を名前に含め、「商談請求書_Excel」とします。
カテゴリ
名前と同様、テンプレートレコードを管理するためのカテゴリです。ここでは営業部が使用するものとし、「営業部」とします。
テンプレートAPI名
これは後で設定するカスタムボタンのリンクに使用するものなので何でもいいのですが、「OpportunityBillExcel」とします。英数字とアンダースコアのみ使用可能です。
オブジェクトAPI名
出力するレコードの主オブジェクトのオブジェクトAPI名です。今回商談を主オブジェクトとするので、「Opportunity」を入力します。
ファイル形式セクション
出力ファイル種類
今回Excelを出力するので、Excel(.xlsx)を選択します。
出力ファイル名
出力するファイル名は、請求書_取引先名_商談名とします。取引先名と商談名に差し込み項目を設定し、請求書_{!Opportunity.Account}_{!Opportunity.Name}を入力します。
必須項目はここまでなので、ここで一度保存します。これより下のセクションは任意入力となりますので、設定したい内容がある場合のみ入力します。
参照項目セクション
参照項目は商談のレコード詳細ページやリストビューなどではName項目が表示されますが、Dataloaderなどで出力時はId項目が出力されます。例えば、商談の参照項目である取引先項目は、Dataloaderで出力時、取引先Idが出力されます。
Office File Creatorで出力時に取引先Idではなく、取引先名を出力したい場合は、「参照項目はId項目ではなくName項目を出力する」をチェックオンにします。そのままIdを出力する場合は、チェックオフにします。デフォルトはチェックオンです。
ファイルに保存セクション
Office File Creatorは、「ファイルに出力」と、レコードに「ファイルとして保存」、「添付ファイルとして保存」の3パターンの出力タイプが可能です。ファイルとして保存する場合、「レコードに添付されたファイルのアクセス権限」を設定します。
- 「閲覧者」を選択した場合、レコードアクセス権があるユーザは、レコードに添付されたファイルへの閲覧者アクセス権を持ちます。
- 「レコードごとに設定」を選択した場合、レコードの参照・更新アクセス権があるユーザは、レコードに添付されたファイルへの編集アクセス権を持ちます。
例えば、商談のレコード詳細ページよりOffice File Creatorでレコードにファイルを保存後、保存したユーザ以外にはファイルの編集を許可しない場合、「閲覧者」を設定します。
他の人がそのファイルのバージョンアップを保存、または削除することを許可する場合は、「レコードごとに設定」を選択します。デフォルト値は「閲覧者」です。
メモセクション
テンプレートレコードの管理用です。テンプレートファイルの変更履歴など、任意のメモを入力します。
子オブジェクトオプションレコードを作成する
子オブジェクトオプションレコードは、子オブジェクトの条件を絞って出力したい場合や並び替えを行いたい場合に作成します。子オブジェクトオプションレコードを作成しなくとも差し込み項目の子オブジェクトは出力されます。今回、出力条件と並び替えを指定するため、子オブジェクトオプションレコードを作成します。※子オブジェクト=関連オブジェクトです。
OFC_Templateレコード画面の「子オブジェクトオプション」タブをクリックし、OFC_子オブジェクトオプション関連リスト内の「新規」ボタンをクリックします。
情報セクション
名前
子オブジェクト名の「商談商品」を入力します。
子リレーション名
商談商品の子リレーション名の「OpportunityLineItems」を入力します。
検索条件セクション
今回商談商品にカスタム項目で「キャンセル」という項目名で、API名がIsCancel__cというチェックボックス項目を作成しています。キャンセルがTrueのものは出力しないものとします。
検索項目API名
「IsCancel__c」を入力します。
(子1)検索演算子
キャンセルがTrueではないものなので、キャンセル=Falseとし、演算子は「=」を選択します。
(子1)検索値
Falseを入力します。
並び順セクション
続いて、並び替えを設定します。今回、商談商品で昇順、数量で降順の並び順とします。
まず、一つ目の並び替え項目の商品コードで昇順を設定します。
並び替え項目1 API名
商品コードの項目API名「ProductCode」を設定します。
並び替え項目1 並び順
昇順(NULLS LAST)を設定します。NULLS FIRSTは空欄の場合に先頭にし、NULLS LASTは最後にします。
二つ目の並び替え項目の数量で降順を設定します。
並び替え項目2 API名
数量の項目API名「Quantity」を設定します。
並び替え項目2 並び順
降順(NULLS LAST)を設定します。
メモ
テンプレートファイルに設定する子オブジェクト数の上限はありませんが、子オブジェクトレコード数は、OFC_Template1レコードにつき30レコードが上限です。
テンプレートファイルをアップロードする
作成したテンプレートファイルをテンプレートレコード詳細ページのテンプレートファイルアップロード欄にドラッグ&ドロップでアップロードします。
テスト出力と差し込み項目の検証
テンプレートファイルの差し込み項目やテンプレートレコードが正しく設定されているか、実際にファイルを出力してテストをします。「テスト出力と差し込み項目の検証」のテキストボックスに主オブジェクトのレコードIdを入力します。ここでは商談のレコードIdを設定します。
Idの確認方法は主オブジェクトのレコード詳細ページを開き、URLのオブジェクト名の次に表示されているものがレコードIdとなります。
例えば、商談のレコード詳細ページのURLが以下の場合、商談のレコードIdは0069D00000OSH6mQAHとなります。
https://yourdomain.lightning.force.com/lightning/r/Opportunity/0069D00000OSH6mQAH/view
レコードIdを入力後、ファイル出力ボタンをクリックします。
出力されたファイルを開き、中身を確認します。
- 差し込み項目がすべて正しく出力されているか?
- ファイル名が正しく出力されているか?
- レイアウトが崩れていないか?
- 関連オブジェクトの検索条件、並び替えは正しいか?
など。
続いて、カスタムボタンを作成します。
SalesforceでExcelの帳票を作成する– Office File Creator Excel編 – ③カスタムボタン作成をご参照ください。