ブログ

Salesforceの「数式」で表示できない「参照関係」を的確に表示する方法

#Salesforce #オブジェクト #ロングテキスト #参照関係 #数式 #画面フロー

CRMシステム「Salesforce」では、参照関係の項目を作成すると、参照関係の項目でない数式でも表示させることができます。
しかし項目がロングテキストの場合は、数式で表示させることができません。

実際のビジネス現場では、商談を編集するときに「取引先の備考情報」などのロングテキスト項目を参照する必要性が高くなります。
そのような「ロングテキスト項目を参照したい」場合でも、表示させることはできるのでしょうか?

本記事では、参照関係のオブジェクトにおいて、ロングテキスト項目を画面フローにより表示させる方法を紹介します。

Salesforceヘルプページでは、クロスオブジェクト数式項目の参照関係として解説している方法です。
ロングテキスト項目を表示させて、商談を有利に進めるために活用してみてください。

Salesforceの「数式」で表示できない「参照関係」を的確に表示する方法

次の画面フローを作成して、レコード詳細ページを編集した後にフローを設置します。フローの設置には、レコード詳細ページからレコードのIdをフローに渡す設定です。

ざっくりとした画面フロー作成の流れは、以下の通りになります。
 

1. レコード詳細ページから渡された商談Idで商談を検索する
2. 参照取引先のロングテキスト項目値を変数に格納する
3. 画面要素によりロングテキスト項目値が格納された変数を設置する

 
では、画面フローの作成から手順を書いていきます。

参照関係で表示できないロングテキストを表示する手順①:画面フローの作成

画像フローの作成をするには、対象の商談情報を取得するためにレコードの取得要素の設定が必要です。そのためには、画面フローを新規作成して、「レコードを取得」要素をキャンバスにドラッグします。

以下の通り、設定していくイメージです。
 

  1. 表示ラベル:商談の参照取引先IDを取得(自由設定)
  2. API参照名:getOpportunityInfo
  3. オブジェクト:商談
  4. <商談レコードを絞り込みセクション>
  5. 条件の要件:条件を満たしている
  6. 項目:Id 次の文字列と一致する

 
以上のように設定して、一致先の変数を作成します。つづいて、「+新規リソース」をクリックして完了です。
 

参照関係で表示できないロングテキストを表示する手順②:変数の設定

画面フローが作成できたら、変数の設定をします。フロー外部での可用性は、レコード詳細ページからIdを渡すのに使用するため、入力フォームの「使用可能」にチェックを入れましょう。

  • リソース種別:変数
  • API参照名: recordId
  • データ型:テキスト
  • フロー外部での可用性:入力で使用可能にチェック

 

さらにオブジェクトが、商談IDが{!recordId}と一致するように設定します。検索の結果、取得したレコードの取引先IDを変数に格納しましょう。

  • 項目値の保存場所:個別の変数に保存


 
図の通り、「+新規リソース」を押して、取引先Idを格納するための変数を作成します。
 

  • リソース種別:変数
  • API参照名:v_AccountId
  • データ型:テキスト

 

 
上で作成した変数、「v_AccountId」を取引先IDに格納する変数として選択しましょう。
対象の商談情報から参照されている、取引先情報を取得するためにレコードを取得要素を設定します。
取引先が説明項目(ロングテキスト)の値を取得するために、「レコードを取得」要素をキャンバスにドラッグする流れです。
 

 

 
レコードの取得要素の設定は、取引先Idとv_AccountId(対象の商談から参照されている取引先IDを格納した変数)が一致するように設定します。
 
次に「+新規リソース」をクリックして、検索結果の項目「説明」を保存するための変数の作成です。

参照関係で表示できないロングテキストを表示する手順③:変数の設定値について


Salesforceの参照関係における参照取引先のロングテキスト項目値を格納する変数について、案内します。

ロングテキスト項目値を格納する変数の設定値は以下の通りです。

  • リソース種別:変数
  • API参照名:v_AccountDescription
  • データ型:テキスト

 
取引先の「説明」の値を、変数v_AccountDescriptionに格納します。

つづいて、ロングテキストを画面に表示するための画面要素を設定です。まず画面要素をキャンバスにドラッグします。
 

次に画面の表示ラベルとAPI参照名の入力です。
ナビゲーションの制御のセクションでは、[次へ]か[完了]以外のチェックを外します。この時点で、流れとしては [完了]を削除するようにとらわれますが、Salesforceの仕様上、削除できないことを理解しておきましょう。

 
表示テキストを画面にドラッグして、API参照名を入力します。
「リソースを挿入」をクリックして、先ほど取得した変数「v_AccountDescription」となる取引先の「説明」の選択です。
 

 
最後に、矢印でつないで完了となります。
 

 
「種別」は画面フローで保存して、有効化しましょう。

参照関係で表示できないロングテキストを表示する手順④:画面フローの作成レコードページにフローを配置する


 
レコードページにフローを配置する場合は、商談のレコードページを開いて、編集ページをクリックします。
フローをレコードページのレイアウトにドラッグして、右の設定箇所より、先ほど作成したフローを選択しましょう。

「レコードIDをこの変数に渡す」にチェックを入れて、保存を押します。
以上の手順により、商談のレコードページに取引先のロングテキストエリアが表示されるのです。

 
Salesforceには、いろいろな制約があります。フローとプロセスビルダーを組み合わせて使うことにより、実用的な仕様にすることができます。
ただし、カスタマイズを多用することにより、複雑になり後々のメンテナンスがむずかしくなってくるでしょう。

機能の追求ではなく、「自社の業務に必要な仕様なのか」をしっかりと検討したうえで実行することをおすすめします。

Salesforceの参照関係とは

参照関係とは、2つ以上のオブジェクトを参照する関係のことです。
参照関係は、項目を使って2つ以上のオブジェクトを関連付けます。参照関係のことを主従関係と誤解することもありますが、主従関係のように、「積み上げ集計項目」はSalesforceのサポート外となるでしょう。

参照関係では、必ず項目の入力をする必要がないため、オブジェクト間の関連づけに制約をもたない点が特徴です。
言いかえると参照関係には、厳しい制約がありません。オブジェクト同士に主従関係がないため、自由度があがります。

参照関係と主従関係の違いから注意すべきこと


参照関係は、主従関係のように制約がないことから、完全な関係を保持することができません。
その理由は、Salesforceにおいて、参照関係の主オブジェクトを削除したとしても、関連していた従属オブジェクトは、残るからです。

参照関係の設定は、入力必須な項目がないため、設定に合わせて変更ができます。
そのため、主オブジェクトが削除されても、従属オブジェクトだけが残るのです。

逆に、主従関係で関連付けたオブジェクト同士は、強力な主従関係の制約で設定されます。
主従関係で関連付けられた2つのオブジェクトは、主オブジェクトが削除されれば、従属オブジェクトも削除されるのが特徴です。

Salesforce公式ヘルプ「クロスオブジェクト数式項目」と参照関係

いままで紹介してきた参照関係は、2つのオブジェクト同士が制約のない関連付けをできるリレーション形式の1つでした。
Salesforce公式ヘルプでは、このような数式項目と関連付けについて、「クロスオブジェクト数式項目」として解説しています。

クロスオブジェクト数式項目とは、2つ以上の関連するオブジェクトを交差して、オブジェクトごとの差し込み項目を参照する数式項目のことです。
参考データ:https://help.salesforce.com/articleView?id=fields_merge_fields_cross_object.htm&type=5

クロスオブジェクト数式項目では、該当する関連オブジェクトの差し込み項目を参照できることから、参照関係の数式を作成できます。

Salesforceにおいて、標準的に使われる数式項目は、対する項目の数値により、自動的に値を変化していく仕組みです。
クロスオブジェクト数式項目の場合は、参照関係となる参照先のオブジェクト数値を表示する項目となります。

参照先のオブジェクトに参照関係となる項目が存在することで、クロスオブジェクト数式項目による参照先での表示ができるのです。

参照関係を削除する場合

最後に、Salesforceにおいて作成した参照関係の削除について、紹介しましょう。
参照関係で成り立っている数式項目を削除するには、標準で[この項目の値をクリアします]を選択します。
すると、参照元の数式項目が消されて、参照先のレコードも削除されるのです。

また、参照関係にある参照先のオブジェクトやレコードの削除では、2つのオブジェクトをリレーションしているオブジェクトのレコード数が、10万件以上になると削除できなくなります。Salesforceの機能は、標準機能だけではなく、応用できる機能が豊富です。経験豊富なコンサルティングを活用してみましょう。

<Salesforce>
弊社ではSalesforceをはじめとするさまざまな無料オンラインセミナーを実施しています!
>>セミナー一覧はこちら

また、弊社ではSalesforceの導入支援のサポートも行っています。ぜひお気軽にお問い合わせください。
>>Salesforceについての詳細はこちら
>>Salesforceの導入支援実績はこちらからご覧いただけます!

医療業界に特化した営業支援、顧客管理(SFA/CRM)のコンサルティングも提供しております。こちらもぜひお気軽にお問い合わせください。
>>顧客管理(SFA/CRM)のコンサルティングの詳細はこちら

CONTACT
お問い合わせ

ご相談やご依頼、病院マスタなどについてのお問い合わせはこちらのお問い合わせフォームから。

サービスなどについてのお問い合わせ 病院マスタについてのお問い合わせ

メールお問い合わせ