質問
リストビューの出力結果を親オブジェクトに添付できますか?
具体的には、以下のような親子関係を持つオブジェクト構成において、子オブジェクトの複数レコードをリストビューで選択して1つのPDFを出力し、親オブジェクトの関連ファイルへ自動で添付したいと考えています。
- 親オブジェクト
- 子オブジェクト(帳票出力対象の主オブジェクト)
- 孫オブジェクト(明細オブジェクト)
- 子オブジェクト(帳票出力対象の主オブジェクト)
親オブジェクトと子オブジェクトは1対多、子オブジェクトと孫オブジェクトは1対多の関係です。
回答
弊社から案内している出力ボタンのサンプルでは、子オブジェクトの複数レコードを選択して親オブジェクトに添付することはできません。
ViewFramerの出力ボタンでは、attachmentParentId パラメーターにレコードIDを渡すことで、そのレコードの関連ファイルとして添付します。
しかし、Salesforce標準のリストビューでは、選択した子オブジェクトのレコードIDのみ取得可能です。 そのため、添付先となる親オブジェクトのレコードIDをattachmentParentIdに渡すことができません。
代替案
親オブジェクトのレコードIDを取得できるようにボタンのカスタマイズ対応が必要となります。
カスタマイズ対応につきましては恐れ入りますがサポート対象外となりますので、予めご了承ください。
子オブジェクトへ添付する場合
標準では親オブジェクトへの添付はできませんが、子オブジェクトへの添付であれば出力形式によって添付可能な場合があります。
リストビューから帳票出力を実行した場合の添付動作の仕様は以下のとおりです。
添付動作の仕様
ViewFramerは、リストビューから実行するときに、出力形式をボタンの設定で変更することができます。
出力形式によって添付動作が異なります。
| 出力形式 | 添付動作 |
|---|---|
| 複数レコードを1PDFにまとめる | 添付先を1レコードに特定できないため、複数レコードへの添付はできません |
| 複数PDFに分割してZIP化する | 分割したPDFを各レコードに添付します |
参考記事
ファイルの添付方法
「複数PDFに分割してZIP化する」方法で複数のレコードをファイルの添付先として割り当てるには、assignTargetTo パラメーターを使用してください。
詳細は、以下の記事の「3.各レコードのメモ&添付やファイルオブジェクト、活動履歴への登録」のサンプルをご参照ください。