Office File Creatorで孫オブジェクト(3階層)のレコードを帳票に出力する手順をご紹介いたします。
※本機能はOffice File Creator Proで使用可能です。
出力イメージ
取引先に紐づく商談の商品(3階層)を出力します。
主オブジェクトを取引先とし、商談でグループ化して孫レコードの商談商品を出力します。
差し込み項目の設定
ヘッダー行
商談商品の差し込み項目を設定します。この行は商談でグループ化するヘッダー行です。クロスオブジェクト数式を使用して商談の注文番号を差し込み項目に設定します。
注文番号: {!OpportunityLineItems.Opportunity.OrderNumber__c}
商談名: {!OpportunityLineItems.Opportunity}
明細行
商談商品の差し込み項目を設定します。
フッター行
集計関数を使用して合計金額の差し込み項目を設定します。
{!OpportunityLineItems.Sum(TotalPrice)}
総合計の子リレーション名は、明細行の子リレーション名以外の任意の名前を設定し、明細行と同じ1つのブロックとして認識されないようにします。子リレーション名はこの後に設定するOFC_子オブジェクトオプションレコードとの紐づけのためのみに使用されます。カスタム項目API名と同様にローマ字で始まり、英数字とアンダーバーのみ使用可能です。
今回、子リレーション名を「ProductsTotal」とし、Sum()関数によりTotalPriceの合計を出力します。
例: {!ProductsTotal.Sum(TotalPrice)}
OFC_子オブジェクトオプションレコードの設定
OFC_子オブジェクトオプションレコードを作成します。今回、明細行のグループ出力用と総合計出力用の2レコードを作成します。
明細行のOFC_子オブジェクトオプションレコード作成
基本情報を入力します。
名前: 任意の名前を入力します。ここでは「Products」とします。
子リレーション名: 商談商品の子リレーション名「OpportunityLineItems」を入力します。
次に、「(Pro) 高度なリレーション設定」セクション内の各項目を入力します。通常、子レコードは子リレーション名よりレコードが取得されますが、高度なリレーションを設定した場合、子レコードは入力した「オブジェクトAPI名」と「主オブジェクトId項目API名」より取得されます。
オブジェクトAPI名: 商談商品のオブジェクトAPI名「OpportunityLineItem」を入力します。※子リレーション名ではありません。
主オブジェクトId項目API名: 主オブジェクトの取引先Idを参照するクロスオブジェクト数式「Opportunity.AccountId」を入力します。
次に、「(Pro) グループ出力」セクション内の各項目を入力します。
(Excel)グループ項目API名: 親の商談商品でグループ化するため、「OpportunityId」を入力します。
(Excel)グループヘッダー行数: ここでは1を入力します。
(Excel)グループフッター行数: ここでは1を入力します。
次に、「並び順」セクション内の各項目を入力します。
注文番号、商品コードで昇順にします。並び替え項目はVer.2よりクロスオブジェクト数式を使用できます。
総合計のOFC_子オブジェクトオプションレコード作成
基本情報を入力します。
名前: 任意の名前を入力します。ここではProducts Totalとします。
子リレーション名: 総合計行の差し込み項目に設定した子リレーション名「ProductsTotal」を入力します。
次に、「(Pro) 高度なリレーション設定」セクション内の各項目を入力します。
オブジェクトAPI名: 商談商品のオブジェクトAPI名「OpportunityLineItem」を入力します。※子リレーション名ではありません。
主オブジェクトId項目API名: 主オブジェクトの取引先Idを参照するクロスオブジェクト数式「Opportunity.AccountId」を入力します。
次に、「(Pro) グループ出力」セクション内の各項目を入力します。取引先の商品の合計金額を取得するためグループ項目は取引先Idです。
(Excel)グループ項目API名: 主オブジェクトの取引先Idを参照するクロスオブジェクト数式「Opportunity.AccountId」を入力します。
(Excel)グループヘッダー行数: 0を入力します。
(Excel)グループフッター行数: 1を入力します。
ファイル出力
商談商品が商談でグループ化され、商談ごとの合計が出力されます。総合計には取引先のすべての商談商品の合計金額が出力されます。