我们在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有一个概念,后期如果进行自定义开发时,注意此点,别入坑。

salesforce零基础学习(九十七)Event / Task 针对WhoId的浅谈的更多相关文章

  1. salesforce零基础学习(七十三)ProcessInstanceWorkItem/ProcessInstanceStep/ProcessInstanceHistory浅谈

    对于审批流中,通过apex代码进行审批操作一般都需要获取当前记录对应的ProcessInstanceWorkitem或者ProcessInstanceStep然后执行Approval.process操 ...

  2. 【转】【Salesforce】salesforce 零基础学习(十七)Trigger用法

    看本篇之前可以相应阅读以下Trigger相关文章: 1.https://developer.salesforce.com/page/Trigger_Frameworks_and_Apex_Trigge ...

  3. salesforce 零基础学习(十七)Trigger用法

    看本篇之前可以相应阅读以下Trigger相关文章: 1.https://developer.salesforce.com/page/Trigger_Frameworks_and_Apex_Trigge ...

  4. salesforce 零基础学习(五十二)Trigger使用篇(二)

    第十七篇的Trigger用法为通过Handler方式实现Trigger的封装,此种好处是一个Handler对应一个sObject,使本该在Trigger中写的代码分到Handler中,代码更加清晰. ...

  5. salesforce零基础学习(九十六)Platform Event浅谈

    本篇参考:https://developer.salesforce.com/blogs/2018/07/which-streaming-event-do-i-use.html https://trai ...

  6. salesforce零基础学习(八十九)使用 input type=file 以及RemoteAction方式上传附件

    在classic环境中,salesforce提供了<apex:inputFile>标签用来实现附件的上传以及内容获取.salesforce 零基础学习(二十四)解析csv格式内容中有类似的 ...

  7. salesforce零基础学习(八十七)Apex 中Picklist类型通过Control 字段值获取Dependent List 值

    注:本篇解决方案内容实现转自:http://mysalesforceescapade.blogspot.com/2015/03/getting-dependent-picklist-values-fr ...

  8. salesforce零基础学习(一百零五)Change Data Capture

    本篇参考: https://developer.salesforce.com/docs/atlas.en-us.232.0.api_streaming.meta/api_streaming/using ...

  9. salesforce零基础学习(八十)使用autoComplete 输入内容自动联想结果以及去重实现

    项目中,我们有时候会需要实现自动联想功能,比如我们想输入用户或者联系人名称,去联想出系统中有的相关的用户和联系人,当点击以后获取相关的邮箱或者其他信息等等.这种情况下可以使用jquery ui中的au ...

随机推荐

  1. 2019-08-01【机器学习】有监督学习之分类 KNN,决策树,Nbayes算法实例 (人体运动状态信息评级)

    样本: 使用的算法: 代码: import numpy as np import pandas as pd import datetime from sklearn.impute import Sim ...

  2. [算法]Miller-Robbin素数判定

    目录 一.实现原理 二.应用 判断一个正整数是否为素数 三.小结 一.实现原理 我们以前都是怎么判断素数的呢: 试除法: 若一个正整数N为合数,则存在一个能整除N的数k,其中\(2\leqslant ...

  3. 如何使用Three.js加载obj和mtl文件

    OBJ和MTL是3D模型的几何模型文件和材料文件. 在最新的three.js版本(r78)中,以前的OBJMTLLoader类已废弃. 现在要加载OBJ和MTL文件,需要结合OBJLoader和MTL ...

  4. sprint3总结 && sprint4计划

    sprint3总结 在一周时间里,逻辑部分顺利的将数据库,查词,UI部分连接到一起.并且各部分也针对新的要求做出了一些修改,目前数据库和查词alpha版已经完成,UI部分还需要一些美化,逻辑部分也还需 ...

  5. Linux学习笔记(七)关机、重启及常用的网络命令

    关机.重启命令 sync shutdown reboot init sync 英文原意:flush file system buffers 功能:刷新文件系统缓冲区,将内存中的数据保存到硬盘中 语法: ...

  6. 关于对vue-router的优化(详尽版)

    这两天总结了关于vue-router优化的几点技法,做个笔记 在基于vue的移动端app中,通过vue-router可以便捷的进入某一路由或回退到上一路由,但是若不对vue-router做相关优化处理 ...

  7. kubernetes删除pod,pod一直处于Terminating状态

    删除pod,pod一直处于Terminating状态 [root@yxz-cluster01 deploy_yaml]# kubectl get pod -n yunanbao NAME READY ...

  8. ERC20 Short Address Attack

    ERC20 Short Address Attack 什么是ERC20 Application Binary Interface(ABI) ERC20 Short Address Attack 开始攻 ...

  9. 8.Python中装饰器是什么?

    Python中装饰器是什么? A Python decorator is a specific change that we make in Python syntax to alter functi ...

  10. 15.Why lambda forms in python does not have statements?

    Why lambda forms in python does not have statements? A lambda form in python does not have statement ...