# Salesforce のオブジェクトリレーション

Salesforce においてオブジェクトリレーションとは、2つのオブジェクト間を双方向に関連付けることです。リレーションを構築するには、オブジェクトにカスタムリレーション項目を作成します。リレーションを構築すると、ユーザーがレコードを表示するときに関連データも参照できるようになります。

Salesforce の標準オブジェクト間のリレーションには、たとえば AccountContacts 間のリレーションがあります。ほとんどの Salesforce インスタンスで、これは一対多の参照リレーションになります。このリレーションで、Contact と関連 Account 間のリレーションを表すのが、Contact の Account ID 項目です。通常 Account には、多くの Contact が関連付けられています。

Salesforce には、さまざまな種類のリレーションがあります。以下はよく使用されるリレーションです。

  • 主従関係
  • 参照
  • 階層

Salesforce で利用できるさまざまなリレーションについて詳しくは、こちら (opens new window)を参照してください。

参照リレーション を持つ Salesforce オブジェクトの関連オブジェクト項目に迅速にアクセスできるように、Workato のすべての Salesforce トリガーと SOQL 検索アクション (opens new window)には、[Related objects] 項目と [Fields] 項目が用意されています。これらの項目が見つからない場合は、必須項目の下の [Remove optional fields] ドロップダウンを確認してください。

Related objects 項目 トリガーおよびアクションの [Related Objects] と [Fields]

# 親オブジェクトの項目へのアクセス

ここでは、New/Updated Record トリガーでこの項目を使用する例について説明します。詳細は以下のとおりです。

  1. 新規または更新された Opportunity が検出されると、レシピでトリガーが発行されます。
  2. 配送先住所や電話番号などの Account 親オブジェクト内の情報は必須です。これらの情報は、注文処理アプリ (Netsuite など) に入力できます。

Salesforce トリガー New/Updated Record が選択されると、 [Object] ドロップダウンで Opportunity オブジェクトが選択されます。これは、上記要件の1. に対応しています。

次に [Related objects] 項目ドロップダウンを選択して、親オブジェクトのリストを取得します。ここに表示されるのは親オブジェクトだけです。ここでは [Account] を選択します。

関連オブジェクトの選択 ドロップダウンには親オブジェクトが表示されている

今度は次の項目 [Fields] に移動して、このレシピで必要な Account の項目を選択します。Salesforce オブジェクトには、通常、多くの項目が含まれているため、このドロップダウンの検索機能を使用すると処理がスピードアップします。ここで特定の項目を選択しなければ、すべての項目が返されます。

このドロップダウンには、Opportunity に属する項目 (たとえば、Main competitors、Primary contact、Secondary contact など) が表示されます。選択した親オブジェクトに属する項目には、親と項目名を区切るドット表記が使用されます。以下の例では、Account.Account ID と Account.Deleted が表示されています。

[Fields] 項目 [Fields] ドロップダウン

上記要件の2. に対応するには、[Mailing Address] 項目と [Business Phone] 項目を選択します。これらの項目は右側のデータツリーに表示され、後続のレシピステップで使用できるようになります。

# グランドペアレントのリレーション

これは高度な機能です。この機能を使用するには、Salesforce オブジェクト間のリレーション名を知っておく必要があります。

グランドペアレントの階層 リレーションの階層

上記の画像は、グランドペアレント - 親 - 子の一般的なオブジェクトの参照リレーションを示しています。Contact または Account には、通常、複数の Opportunity が所属します。簡単な例として、同じ会社または社内の担当者 (Account/Contact) に複数の販売オファー (Opportunity) がある場合があります。Account と Contact は Salesforce の User に所属します。この User は、販売組織内のアカウントエグゼクティブである可能性があります。

Grandparent Object の項目にアクセスするには、この場合、関連オブジェクトのリストを切り替えてテキスト入力を受け入れるようにします。これにより、複数のオブジェクトリレーションを入力できます。次のカンマで区切られたリレーションのリストを入力します。

Primary_Contact__r,Primary_Contact__r.User__r

各オブジェクトには、リレーションを表す接尾辞 __r が付いています。__c 接尾辞が付くカスタムオブジェクトを使用している場合、__c 接尾辞は __r に置換されます。たとえば、カスタムオブジェクト「Invoice__c」に、Opportunity に対する親リレーションがある場合、入力は次のようになります。

Invoice__r

リレーション名は大文字と小文字が区別されます。Primary_Contact__r ではなく Primary_contact__r と入力すると、[Fields] 項目に結果が表示されません。この項目を使用する前に、必ずオブジェクト名とリレーションを検証してください。

以下のように [Fields] 項目の必須項目を選択します。 [Fields] 項目 2 選択した親オブジェクトおよびグランドペアレントオブジェクトの項目


Last updated: 2023/8/31 1:07:14