Person Account

[まとめページに戻る](https://qiita.com/Keiji_otsubo/items/60afc2a8d211b6f7d89f)
[まとめN～Z](https://qiita.com/Keiji_otsubo/items/92f92bb9f668ca9688be)

---------------

+ [レコードハンターで個人取引先レコードの検索を行いたいと考えているのですが、個人取引先をターゲットオブジェクトに設定することはできないのでしょうか。](https://trailhead.salesforce.com/trailblazer-community/feed/0D54V00007ifw8y)

:::note
個人取引先の場合は取引先オブジェクトのIsPersonAccountという項目がTrueになているので、これを検索条件として使えると思います。

表示ラベルは [個人取引先] です。この取引先に個人取引先のレコードタイプがあるか (true)、否か (false) を示します。

https://developer.salesforce.com/docs/atlas.ja-jp.object_reference.meta/object_reference/sforce_api_objects_account.htm
:::


+ [個人アカウントとはどういう意味ですか。ビジネス アカウントとどう違うのですか。この点について教えてください。](https://trailhead.salesforce.com/trailblazer-community/feed/0D54V00007eqJSQ)

:::note
Please check this article.

https://trailhead.salesforce.com/trailblazer-community/feed/0D54V00007T49jkSAB

https://www.salesforceben.com/salesforce-person-accounts-pros-and-cons/
:::


+ [法人取引先と個人取引先](https://qiita.com/Keiji_otsubo/items/917534ad6b20664dbeb6)

+ [個人取引先メニューが設定画面に表示されない](https://trailhead.salesforce.com/trailblazer-community/feed/0D54V00007ZC7HgSAL)

:::note
トライアル版では設定できない
:::

+ [画面フローで使用する個人取引先の PersonContactID にリンクされたボタンを含む電子メールを送信します。:リンクでなくてボタンとして機能させる](https://trailhead.salesforce.com/trailblazer-community/feed/0D54V00007bLP5F)

:::note
結局のところ、必要なのは差し込みフィールドとレコードの取得の正しい組み合わせを見つけるだけでした。

Contact レコードの取得と ContactId の使用は、HYPERLINK() 関数で正常に機能しました。

ただし、Lightning テンプレートビルダーでリンク項目を使用する場合は、レコードの取得で受信者の差し込み項目を使用する必要がありました。アカウント: PersonContactId = レコード ID。

正直に言うと、その組み合わせを試したことがあると思っていましたが、テスト前にすべてが更新されていることを確認していないだけかもしれません。

現在はすべて機能しています。チェックインしていただきありがとうございます!
:::

+ [個人取引先レコード タイプを別の個人取引先レコード タイプに変更する方法](https://trailhead.salesforce.com/trailblazer-community/feed/0D54V00007clIfASAU)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/328136/e0c841cb-dac7-f8a4-500a-2e9892fce38d.png)

:::note
In Salesforce when a person account is created (or an existing business account is changed to a person account), a corresponding contact record is also created. This contact record is referred to as a “person contact.” The person contact enables the person account to function simultaneously as both an account and a contact. This record is the only contact record that can be associated directly with the person account. Also, the ID of the corresponding person contact record is stored in the PersonContactId field on the person account.

If you really need to change the Record Type your only choice is by changing the RecordTypeId on the person account record via the API. See Reference here: SOAP API Guide: Person Account Record Types

Salesforce では、個人取引先が作成されると (または既存のビジネス取引先が個人取引先に変更されると)、対応する取引先責任者レコードも作成されます。この連絡先レコードは「個人連絡先」と呼ばれます。個人取引先責任者を使用すると、個人取引先が取引先と取引先責任者の両方として同時に機能できるようになります。このレコードは、個人取引先に直接関連付けることができる唯一の取引先責任者レコードです。また、対応する個人連絡先レコードの ID は、個人取引先のPersonContactIdフィールドに保存されます。

本当にレコード タイプを変更する必要がある場合、唯一の選択肢は、API を介して個人取引先レコードの RecordTypeId を変更することです。こちらのリファレンスを参照してください:  SOAP API ガイド: 個人取引先レコード タイプ
:::

+ [個人取引先とリストビューボタンについて](https://trailhead.salesforce.com/trailblazer-community/feed/0D5KX00000KEBzh)

取引先責任者タブに、個人取引先レコードを一括更新するカスタムボタンを追加したく考えております。 
カスタムボタンをリストビューボタンレイアウトに追加したところ、次のような挙動をしました。 

①検索条件でレコードタイプ「個人取引先」を指定しているリストビュー→
カスタムボタンが表示されない。

②検索条件でレコードタイプを指定していないリストビュー→カスタムボタンが表示される。 

:::note
カスタムボタンの作成とリストビューボタンレイアウトの変更から時間を置いたところ、個人取引先のリストビューにもカスタムボタンが表示されました。 


質問時には、明らかに「個人取引先」を指定したリストビューにのみボタンが表示されなかったため、個人取引先の仕様であることを疑ったのですが、 

個人取引先だけは画面に反映されるまでのタイムラグがあったのかもしれません。 
:::


# キャンペーンメンバー

+ [キャンペーンメンバーのレコード作成をトリガーとして、マッチングレコードを作成したい](https://trailhead.salesforce.com/trailblazer-community/feed/0D54V00007bLSwL)

:::note
Opportunity オブジェクトにCampaignId項目があるので、CampaignMember オブジェクトのCampaignIdと一致する商談をレコードの取得で検索すればOpportunityIdを取得できると思います。
:::

# アンケート

+ [個人取引先を有効化した組織でのアンケートメール送信について](https://trailhead.salesforce.com/trailblazer-community/feed/0D54V00007aitnc)

:::note
PersonContactIdを使うとどうなりますか？

https://trailhead.salesforce.com/trailblazer-community/feed/0D53A00003lgPjFSAU

メール送信時に取引先責任者IDが選択できなかったのは、
アンケート作成時にとりあえずサイトを設定しないで進んでいたためでした。
サイトを設定したらContact.idを選択することができました！
:::


# You can't create an account or contact using an Individual record type because your org has enabled Person accounts. Create the account or contact using a different record type instead

+ [Data Import Wizard failed to import due to Person Account](https://trailhead.salesforce.com/trailblazer-community/feed/0D54S00000MgFM1)

:::note
Please try in another environment where Person Account is not enabled.
:::

Person accounts also create contacts without record types so it wants you to specify the record type of the contact you want to insert, otherwise it assumes you’re trying to insert person account on the wrong object
個人取引先もレコード タイプのない取引先責任者を作成するため、挿入する取引先責任者のレコード タイプを指定する必要があります。そうしないと、間違ったオブジェクトに個人取引先を挿入しようとしていると見なされます。

https://www.reddit.com/r/salesforce/comments/cxjxt2/how_can_i_createinsert_a_contact_record_when/

# System.DmlException: Update failed. First exception on row 0 with id 0011s00001jJ1YGAA0; first error: INVALID_PERSON_ACCOUNT_OPERATION, account cannot be converted to person-account: []

+ [Test Case failing - Error Update Failed](https://trailhead.salesforce.com/trailblazer-community/feed/0D54S00000PmMFL)

:::note
In order to convert a business account to a person account, it must meet certain requirements. This includes already having exactly one contact on the account. You may wish to modify your trigger to check the requirements beforehand. 

https://salesforce.stackexchange.com/questions/225197/how-do-i-convert-business-account-to-person-account-it-is-giving-me-an-error
:::

# 数式の例

+ [Formula](https://trailhead.salesforce.com/trailblazer-community/feed/0D54S00000QN0Ir)

```
IF(Devis__r.Opportunity.Account.RecordType.DeveloperName = 'Company',
HYPERLINK("/" & Devis__r.Opportunity.AccountId, Devis__r.Opportunity.Account.Name),
IF(Devis__r.Opportunity.Account.RecordType.DeveloperName = 'Personaccount',
HYPERLINK("/" & Devis__r.Opportunity.AccountId, Devis__r.Opportunity.Account.FirstName&" "&Devis__r.Opportunity.AccountId, Devis__r.Opportunity.Account.LastName),
NULL))
```

# インポートウィザード

+ [インポートウィザード](https://trailhead.salesforce.com/trailblazer-community/feed/0D54V00007EafrASAR)

:::note
インポート ウィザードを使用して個人取引先を更新する場合、ユーザーはレコード タイプを選択するように指示されます
 
https://ideas.salesforce.com/s/idea/a0B8W00000GdqA7UAJ/dont-change-record-type-during-import-wizard
:::


# 解説：Salesforce 個人取引先 – 長所と短所

+ [Salesforce Person Accounts – Pros and Cons](https://www.salesforceben.com/salesforce-person-accounts-pros-and-cons/)

**個人取引先とは何ですか? データはどのように構造化されていますか?**

Salesforce の個人取引先の定義は次のとおりです。「個人取引先は、特定の取引先フィールドと取引先責任者フィールドを 1 つのレコードに結合することによって、個人に関する情報を保存します。」

これについてのもう 1 つの理解は、アカウントと連絡先を組み合わせて、個人のデータを保管する単一の場所を形成しながら、必要に応じてアカウントのように機能する柔軟性を備えているということです。

個人取引先の作成時に取引先責任者が自動的に作成され、取引先企業に関連付けられるため、ユーザーは会社を取引先責任者に関連付ける必要がなくなりました。

ユーザーが個人取引先に関連付けられた取引先責任者を表示しようとすると、ユーザーは取引先 (個人取引先) レコードにリダイレクトされます。つまり、ユーザーは [アカウント] タブに移動するだけで、ビジネス アカウント レコードと個人アカウントの両方を管理できます。

[設定] で個人取引先にアクセスするときは、Lightning Experience よりも個人取引先設定セクションへの移動が若干簡単であるため、Salesforce Classic ビューに切り替えることをお勧めします。個人取引先は独自のオブジェクトではありませんが、ページ レイアウト、コンパクト レイアウト、レコード タイプなどのオブジェクト機能を備えています。また、取引先フィールドのリストを表示すると、どの取引先責任者フィールドが個人取引先レコードに使用されているかを表示する優れた機能もあります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/328136/e50262bd-d8f8-a55a-0ecb-a56b7d521084.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/328136/2bb46c67-c7f5-648d-e4c0-3f9739a3e349.png)

**個人取引先でのリードの使用**

個人取引先を理解するもう 1 つの方法は、個人取引先が Salesforce 組織のリードとどのように対応しているかを確認することです。リードを扱ったことのある Salesforce プロフェッショナルは、リードを会社のアカウントに関連付けられた取引先責任者に変換するには会社名が必要であることを理解しています。このため、見込み客を変換するために会社フィールドに「ダミー」情報を入力するユーザを抱える一部の Salesforce 管理者は不満を感じています。以前の会社では、単一の「ダミー」アカウントに 100 万を超える連絡先があり、そのアカウントに関連付けられた複数の連絡先がアクセスされると、間違いなくパフォーマンスの問題が発生しました。個人取引先は、ユーザーがリードレコードから直接個人取引先を作成できるようにすることで、この問題の解決に役立ちます。

これを行うには、ユーザーはリードの会社フィールドを空白のままにし、通常の変換プロセスに従ってリードを個人取引先に変換します。「会社」フィールドに値が入力されている場合、ユーザーは引き続きリードをビジネスアカウントの取引先責任者に変換できます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/328136/7d9dc6d3-b5f7-11e3-94df-e12eb9844e75.png)

**個人取引先が組織に適しているのはどのような場合ですか**

個人取引先は組織にメリットをもたらしますが、一度使用し始めるとこの機能を無効にすることはできません。つまり、個人取引先が実行可能なソリューションであるかどうかを判断するには、徹底的な調査を行うことが非常に重要です。この調査中に尋ねるべき質問には次のようなものがあります。

+ ビジネスアカウントのアカウントオブジェクトを使用する必要がありますか?
+ Salesforce 組織には個人取引先をサポートするのに十分なストレージがありますか?
+ 個人取引先は現在のセキュリティと共有設定に適合しますか?
+ この新機能に合わせて更新する必要がある APEX コードが取引先オブジェクトまたは取引先責任者オブジェクトにありますか?
+ この機能を有効にする前に完全にテストできるサンドボックス環境はありますか?

**個人取引先を使用するデメリット**

個人取引先は一部の企業や組織にとっては優れたソリューションですが、それに伴ういくつかの欠点もあります。

+ 個人取引先レコードは、実際には、取引先オブジェクトと取引先責任者オブジェクトの両方のストレージに対してカウントされます。これは、個人取引先の作成時に取引先責任者が自動的に作成されるためです。多数の個人顧客を抱える組織は、個人取引先を検討する際にこの点に留意する必要があります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/328136/0228d98e-8e63-ea46-13b9-4a941e5bb572.png)

+ ユーザーが個人取引先を作成または編集すると、すべての取引先フローが開始されます。これにより、Account オブジェクトに多くの自動化が導入されている Salesforce 組織でパフォーマンスの問題が発生する可能性があります。
+ 個人取引先を有効にする前に、組織全体の共有設定を変更する必要があります。プライベート共有モデルを持たない組織、または共有設定で連絡先が「親によって制御される」ように設定されていない組織は、共有モデルを更新する必要があります。
+ 個人取引先レコードを作成/編集する場合、次のフィールドは使用できません。
   + 親アカウント : Parent Account
   + ビュー階層 : View Hierarchy
   + 報告先 : Reports To
   
これは、個人取引先レコードには、別の個人取引先レコードを参照するフィールドを含めることができないためです。