目次
via pixabay.com
はじめに
Experience Cloudでの外部ユーザーへのレコード共有で、「取引先リレーションデータ共有ルール」を利用する機会がありましたので紹介します。
案件で実装した際の要件としては、外部取引先Aが閲覧可能なレコードを外部取引先Bでも閲覧できるように拡張するという要件でしたので、ここでのご紹介シナリオとしても同様の内容で記載させていただきます。
前提条件
・エディションがEnterprise Edition、Performance Edition、Unlimited Edition、
および Developer Editionのいずれかであること
・アクセスするExperience Cloudユーザーのライセンスが、Partner Community または Customer Community Plusであること
・「取引先リレーションを有効化」がtrueになっていること
※組織で一度有効にしたら元に戻せないため、注意が必要
および Developer Editionのいずれかであること
・アクセスするExperience Cloudユーザーのライセンスが、Partner Community または Customer Community Plusであること
・「取引先リレーションを有効化」がtrueになっていること
※組織で一度有効にしたら元に戻せないため、注意が必要
要件
・外部取引先Aが閲覧可能なレコードを、外部取引先Bも閲覧可能な状態にしたい
・外部取引先Aと外部取引先Bは、階層関係等のない無関係の取引先である
・外部取引先Aは共有セットによる共有でレコードを閲覧している
(共有対象のレコードに、外部取引先Aとの参照関係がある)
・共有対象レコードの所有者は、外部取引先Aユーザーでも外部取引先Bユーザーでもない
全体の流れ
1:共有セットの設定内容
2:設定画面で取引先リレーションデータ共有ルールを作成する
3:取引先リレーションオブジェクトのレコードを作成する
4:取引先リレーションデータ共有ルール「静的数式条件による制御」に関して
2:設定画面で取引先リレーションデータ共有ルールを作成する
3:取引先リレーションオブジェクトのレコードを作成する
4:取引先リレーションデータ共有ルール「静的数式条件による制御」に関して
1:共有セットの設定内容
外部取引先Aは、共有セットによる共有でレコードの閲覧権限を得ています。
共有セットは、見せたいレコードに見せたい相手を紐づけることでレコードの閲覧が可能になるという共有方法です。
今回のシナリオでは、見せたいレコードに外部取引先Aの取引先レコードを紐づけて、外部取引先Aユーザー全員がレコードを閲覧できる状態になっています。
この時点では、外部取引先Bユーザーはレコードの閲覧はできません。
2:設定画面で取引先リレーションデータ共有ルールを作成する
外部取引先Bにも、前述の図で言うレコード1を閲覧させるために、 まず設定画面から「取引先リレーションデータ共有ルール」を作成します。
<手順>
手順1:設定画面の検索バーで「取引先リレーションデータ共有ルールの設定」を開き、「新規」ボタンをクリックする
手順2:以下キャプチャの説明に従って必須項目の設定を行い、保存する
「高度な数式」セクションに関しては後述で詳細の解説を行うので、今は空欄でよい
3:取引先リレーションオブジェクトのレコードを作成する
取引先リレーションデータ共有ルールを作成したら、 次に、「取引先リレーション」オブジェクトのレコードを作成します。
手順4を完了して保存した時点で、外部取引先Bにレコードが共有され、 外部取引先Bユーザーはレコードを閲覧することができるようになります。
ただし、手順2の「アクセス権」で『参照のみ』を選択したので、編集権限はありません。
編集権限も付けたい場合は、手順2で「アクセス権」を『参照・更新』に設定します。
<手順>
手順3:アプリケーションランチャーで「取引先リレーション」オブジェクトを開き、新規レコードを作成する
手順4:以下キャプチャの説明に従って各項目を設定し、保存する
Tips:レコードの参照項目1に登録されている取引先が、外部取引先A ではなく、やっぱり外部取引先Cのデータを見せたい!という場合は、
手順4:取引先リレーションのレコードで、「取引先To」の値を外部取引先Cに変更する。
外部取引先Aのレコードも外部取引先Cのレコードも見せたいという場合は、取引先リレーションのレコードをもう一件作成し、「取引先To」の値を外部取引先Cに設定する。
4:取引先リレーションデータ共有ルール「静的数式条件による制御」に関して
ここまでの設定では、レコードの参照項目1に外部取引先Aが設定されているレコードを 全件外部取引先Bに共有していますが、 その中でも特定のレコードのみを共有したい、という場合に利用できるのが、「静的数式条件」です。
以下の例の場合、手順2の「高度な数式」セクションで、このような数式を設定することで共有範囲を絞る条件を設定することができます。
例)「種別」(Type)項目の値が『顧客』であるレコードのみ共有したい
→ ISPICKVAL(Type , '顧客')
ただし、この機能を利用する場合の注意点として、Salesforce公式のヘルプページに以下の記載があります。
全ての項目を検証したわけではないので参考までにですが、例えば動的に値が変化する数式項目を使用した場合、 保存はできるものの、実際の共有の挙動には反映されていないようでした。
参考:取引先リレーションデータ共有ルールの設定
全ての項目を検証したわけではないので参考までにですが、例えば動的に値が変化する数式項目を使用した場合、 保存はできるものの、実際の共有の挙動には反映されていないようでした。
参考:取引先リレーションデータ共有ルールの設定
おわりに
今回のご紹介としては以上となります。
この機能が必要になった案件で使い方を調べた際、 詳細な使い方が記載されている記事がほとんどなく、手探りで調査を行ったので、 同じような状況に陥っている方の助けになればと思いご紹介させていただきました。
少しでも参考になれば幸いです。
28 件