テンプレートファイルを次の要領で作成してください。
テンプレートファイル
- テンプレートファイルは出力するファイル形式と同じファイル形式で、Excel(.xlsx, .xlsm)、Word(.docx, .docm)、PowerPoint(.pptx, pptm)のいずれかの形式で作成してください。PDF出力の場合、Word(.docx)形式で作成してください。
- ファイルサイズは1~2MB以内を目安にしてください。1~2MB以内でもファイルにテキストや画像が大量に含まれる場合、ファイルの出力に失敗します。
- テンプレートファイルは、Microsoft Officeデスクトップ版で作成してください。
- テンプレートファイルに会社のロゴなどの画像を含めることができます。但し、画像のファイルサイズによっては、出力に時間がかかったり、出力エラーになる場合があります。また、PDFの場合、レイアウトが崩れる場合があります。テスト環境で実際に出力してご確認ください。
差し込み項目
差し込み項目形式
- 差し込み項目は、{!オブジェクト名.項目名}の形式でテンプレートファイルに入力してください。
- 主オブジェクトと関連する子オブジェクトの項目を差し込み項目として使用することができます。
- ファイルを出力するユーザーに差し込み項目の参照権限がない場合、差し込み項目は空欄で出力されます。
- 差し込み項目に{!If(xxxxx)}のような数式を使用することはできません。
差し込み項目例
主オブジェクト
{!Opportunity.Name} *標準オブジェクト.標準項目
{!Bill__c.IssueDate__c} *カスタムオブジェクト.カスタム項目
子オブジェクト
{!OpportunityLineItems.Name} *親の参照項目が標準項目.標準項目
{!BillDetails__r.IssueDate__c} *親の参照項目がカスタム項目.カスタム項目
参照項目
- 参照項目は、参照オブジェクトのId、またはName項目を出力することができます。Name項目を出力する場合、OFC_Templateレコードの「参照項目はId項目ではなくName項目を出力する」をチェックオンにします。
- クロスオブジェクト数式(例: {!Opportunity.Account.BillingCity})は、0以降で使用可能です。
リッチテキストエリア項目
リッチテキストエリア項目の値は、Salesforceに保存されているHtmlタグ付きの値で出力されます。レコード画面に表示される書式つきで出力することはできません。Salesforceに保存されている値は、開発者コンソールやDataloaderで確認してください。
小数点の考慮事項
商談金額や見積金額など一部の標準項目は、レコード画面上小数点が表示されない場合も、Salesforceには小数点以下が保存されている場合があります。例えば、商談の数量が小数点以下の数値を含む場合、金額のデータ型は"通貨(16、0)"にも関わらず、金額は小数点を含む値が保存されます。Salesforceに保存されている値は、開発者コンソールやDataloaderで確認してください。
各種出力オプションについて、出力オプションを参照してください。
子オブジェクト
差し込み項目形式
- 子オブジェクトの差し込み項目は、{!子リレーション名.項目名}の形式でテンプレートファイルに入力してください。参照項目がカスタム項目の場合、子リレーション名の末尾に"__r"をつけてください。
参照項目が標準項目の例: {!OpportunityLineItems.Product2}
参照項目がカスタム項目の例: {!OpportunityCases__r.CaseNumber} - パッケージオブジェクトの場合、子オブジェクトの差し込み項目は、{!名前空間プレフィックス__子リレーション名項目名}の形式でテンプレートファイルに入力してください。
例:パッケージの名前空間プレフィックスが"BillingMaster"、子リレーション名が"BM_BillDetail_Bills"の場合
{!BillingMaster__BM_BillDetail_Bills__r.Name}
- 子オブジェクトの差し込み項目は、1行のみ入力してください。子レコード数に応じた行数が出力されます。
- 子レコードの連番を出力する場合、{!number()}を入力してください。1から始まる連番が出力されます。
子リレーション名の確認方法
- オブジェクトマネージャーより該当の子オブジェクトの項目一覧を確認します。
- 子オブジェクトの項目一覧より、主オブジェクトの参照項目の項目名をクリックします。
- 項目の設定情報内の子リレーション名に表示されている内容が子リレーション名です。この時、親オブジェクトの参照項目がカスタム項目の場合、表示されている子リレーション名の末尾に「__r」を付与したものが子リレーション名になります。パッケージオブジェクトの場合、先頭に名前空間プレフィックス+「__」を付与します。
制限事項
- すべてのレイアウトや出力パターンに対応していません。複雑なレイアウトはサポートされません。
- Microsoft Officeデスクトップ版以外(オンライン版、他のアプリケーションなど)で作成されたテンプレートファイルはサポートされません。
- Officeファイルの全ての機能を使うことはできません。一部の機能は無視されます。
参考
トラブルシューティング
差し込み項目の値が出力ファイルにそのまま出力されました。
差し込み項目の形式が正しいか以下を確認してください。
差し込み項目の形式が{!オブジェクトAPI名.項目API名}になっているか確認してください。
差し込み項目のオブジェクト名、項目名が正しいか確認してください。
「!」が抜けていないか確認してください。
不要な空白が入っていないか確認してください。
すべて半角になっているか確認してください。
※すべてのレイアウトや出力パターンに対応しておりません。ご要望の出力パターンに対応していない場合もございますので了承ください。
数値項目が3桁カンマ区切りで出力されません。
Excelの場合、セルの書式設定より書式を設定してください。
Word、PowerPoint、PDFの場合、OFC_Templateレコードの「数値・通貨書式調整(3桁区切り/小数点以下の桁数)」をチェックオンで、数値項目を3桁区切りカンマ表記で出力することができます。
通貨項目の通貨記号が出力されません。
Excelの場合、セルの書式設定より通貨が表示されるようにテンプレートファイルを設定してください。
Word、PowerPointの場合、テンプレートファイルの差し込み項目の先頭に通貨を付与してください。
例:¥{!Opportunity.Amount}
リッチテキストエリア項目の値がHtmlのタグ付きで出力されます。
リッチテキストエリア項目の値は、Salesforceに保存されているHtmlタグ付きの値で出力されます。レコード画面に表示される書式つきで出力することはできません。Salesforceに保存されている値は、開発者コンソールやDataloaderで確認してください。
ファイル出力時、「テンプレートファイルの読み取りに失敗しました。ファイル形式が正しくないか、またはファイルが壊れている可能性があります。OFC_Templateレコード画面より、正常なテンプレートファイルをアップロードしてください。」のメッセージが表示されます。
OFCでは対応していない出力パターンの可能性があります。以下を試行してください。
- 複雑なレイアウトの場合、レイアウトを簡素なものにしてください。
- Excelの場合、未使用の行、列を削除してください。Excelでは通常、値や書式が設定されている行が保存されますが、何らかの理由により空行が使用セルと認識され、大量に不要な行が保存されている場合があります。
- Excelの場合、非表示で不要なシートが無いか確認し、不要なシートは削除してください。
- Officeの機能(例: グラフやピボットテーブルなど)を使用している場合、Office機能を削除してください。OFCでは対応していない可能性があります。
- 画像がテンプレートファイルに含まれる場合、画質を下げるなど画像のファイルサイズを小さくしてください。
カスタムボタンで出力時、同じレコード画面から2回目以降はファイルがダウンロードできません。再度出力するには画面を更新する必要があります。
ブラウザのダウンロード設定をご確認ください。例としてChromeの設定は以下のとおりです。
- Chromeの設定より、プライバシーとセキュリティ>サイトの設定>すべてのサイトに保存されている権限とデータを表示 を表示します。"salesforce.com"をクリックします。対象のドメインURLをクリックし、「自動ダウンロード」を確認します。自動ダウンロードが「ブロック」になっていれば、「確認(デフォルト)」もしくは「許可する」に変更します。
- Chromeの設定より、プライバシーとセキュリティ>サイトの設定>その他の権限>自動ダウンロード を表示します。「複数のファイルの自動ダウンロードを許可しないサイト」に表示されているURLを確認します。SalesforceのURLあれば右端の「:」をクリックし、「削除」をクリックします。
カスタムボタンからファイルがダウンロードできない・複数ファイルがダウンロードできないときの対象法