1. 程式人生 > >salesforce零基礎學習(九十七)Event / Task 針對WhoId的淺談

salesforce零基礎學習(九十七)Event / Task 針對WhoId的淺談

我們在Sales Cloud中經常會建立顧客,如果針對TO C業務,會啟用個人顧客,比如針對車企行業,有一些場景是需要賣給個人的,而不只是企業採購。當通過打電話或者其他的場景有潛在客戶並且轉換成客戶以後,我們會為其建立業務機會(Opportunity),並且建立相關的 Event / Task去和客戶進行商談或者針對客戶的任務進行一些操作。我們在建立 Event / Task時,需要繫結的有 WhatId(相關項)以及 WhoId(名稱)。針對 WhoId,salesforce只允許選擇 Lead/ Contact。否則在save時會報錯:FIELD_INTEGRITY_EXCEPTION, Name ID: id value of incorrect type: xx account id: [WhoId]。

 實際上,除了可以選擇 Lead / Contact,還可以選擇 Person Account。 

 然後我們新建一條test person account的個人顧客。

 接下來我們重新的進行搜尋,從下圖中我們可以看到當我們建立了 person account以後,我們重新去搜索contact,便可以搜尋到這個名字作為who id,然後我們點選Save。

 建立以後我們去資料庫檢視一下剛才的資料的who id。通過查詢我們看到,其實資料庫存的是Contact的資料,型別也是Contact。

當我們將這個contact id直接複製到連結處,會發現他會重定向到Person Account資料,我們在Contact列表中也確實可以搜尋到這條Contact,並且繫結到 同樣名字的Account名稱中。所以我們可以理解成當我們建立一個person account時,會同時建立一個同樣名稱的person contact。當我們點選這個person contact時會預設的重定向到person account,然後我們在建立Event選擇who id時,其實選的還是contact,別被表象欺騙。

 問題可能來了,如果我們建立了兩個同樣名字的Person account,會發生什麼?通過下圖我們會知道,如果建立同樣的名字的person account,會同樣建立相同名字的contact,所以當我們想通過 Account name去找到其對應的person contact行不通,只能通過Account Id去尋找其對應的Contact Id,如果通過Account Name則會有這種類似的問題。

 總結:篇中簡單的講了一下針對Person Account為何可以在Event/Task的WhoId展示,儘管是一場烏龍,但是可以對 Person Account/Person Contact有一個概念,後期如果進行自定義開發時,注意此點,別入