この記事では、Office File Creatorで商談の取引先に紐づくケースレコードを出力する手順をご紹介いたします。高度なリレーション設定のSOQLにサブクエリを設定することで、主オブジェクトの参照項目に紐づく子レコードの出力が可能です。
※本機能はOffice File Creator Proで使用可能です。
※本設定は、SOQLの知識が必要です。
出力イメージ
例として、商談が主オブジェクトのとき、商談の親の取引先に紐づくケースを出力します。
子レコードは、商談に紐づく商談商品と取引先に紐づくケースを出力します。
設定の概要
- OFC_子オブジェクトオプションの高度なリレーション設定で、サブクエリを含むSOQLを設定します。
差し込み項目の設定
取引先のケースの差し込み項目に任意の子リレーション名を設定します。子リレーション名は、ローマ字で始まり、英数字とアンダーバーのみ使用可能です。ここでは、「AccountCases」をケースの子リレーション名とします。
OFC_Templateレコードの作成
OFC_Tempalateのレコードを作成します。
名前: 商談請求書(取引先ケースあり)
テンプレート名: OpportunityInvoice
オブジェクト名: Opportunity
OFC_子オブジェクトオプションレコードの作成
OFC_子オブジェクトオプションのレコードを作成します。
情報
名前: 取引先ケース
子リレーション名: AccountCases
並び順
ケース番号降順に設定します。
並び替え項目1 API名: CaseNumber
並び替え項目1 並び順: 降順(NULLS FIRST)
(Pro) 高度なリレーション設定
SOQLにサブクエリを設定します。
オブジェクトAPI名: Case
(高度)SOQL(Where): SOQLのサブクエリを入力します。サブクエリは、Whereの後の条件を指定し、必ず「=:recordId」を含めてください。"recordId"は大文字小文字まで一致させてください。
例: AccountId In (Select AccountId From Opportunity Where Id =: recordId)
※「主オブジェクトId項目API名」と「(高度)SOQL(Where)」の両方を入力することはできません。
開発者コンソールで確認
OpportunityのレコードIdからAccountのCaseレコードを取得するSOQLを開発者コンソールで確認します。
SOQL
Select CaseNumber,Status From Case Where AccountId In (Select AccountId From Opportunity Where Id='006J100000ABCDE')
レコード画面に開発者コンソールの結果と同じケースレコードが表示されているか確認します。
レコードが正しく取得できることを確認後、Whereより後ろを切りだし、「Id='0065g00000ABCDE'」を「Id =: recordId」に変更します。
(高度)SOQL(Where)
AccountId In (Select AccountId From Opportunity Where Id =: recordId)
ファイル出力
商談に紐づく商談商品と取引先に紐づくケースが出力されます。
(参考)子オブジェクトの参照項目の子レコードを出力
主オブジェクトがOpportunity、子オブジェクトがOpportunityContactRole、OpportunityContactRoleの参照項目がContact、Contactの子レコードがCaseでCaseを出力
(Pro) 高度なリレーション設定
オブジェクトAPI名: Case
(高度)SOQL(Where): ContactId In (Select ContactId From OpportunityContactRole Where OpportunityId =: recordId)
備考
- SOQLの設定は、SOQLの知識が必要な開発者・上級者向けです。SOQLについては、お問い合わせサポート対象外となりますのでご了承ください。
参考