商談の取引先に紐づくケースレコードを出力する(参照項目の子レコード出力) - 高度なリレーション設定SOQL -

この記事では、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からAccountCaseレコードを取得する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、子オブジェクトがOpportunityContactRoleOpportunityContactRoleの参照項目がContactContactの子レコードがCaseCaseを出力

 

 

(Pro) 高度なリレーション設定

オブジェクトAPI: Case

(高度)SOQL(Where): ContactId In (Select ContactId From OpportunityContactRole Where OpportunityId =: recordId)

 

備考

  • SOQLの設定は、SOQLの知識が必要な開発者・上級者向けです。SOQLについては、お問い合わせサポート対象外となりますのでご了承ください。

 

参考

参照項目に紐づく子レコードを出力

 

 

タイトルとURLをコピーしました