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有一个概念,后期如果进行自定义开发时,注意此点,别入坑。
salesforce零基础学习(九十七)Event / Task 针对WhoId的浅谈的更多相关文章
- salesforce零基础学习(七十三)ProcessInstanceWorkItem/ProcessInstanceStep/ProcessInstanceHistory浅谈
对于审批流中,通过apex代码进行审批操作一般都需要获取当前记录对应的ProcessInstanceWorkitem或者ProcessInstanceStep然后执行Approval.process操 ...
- 【转】【Salesforce】salesforce 零基础学习(十七)Trigger用法
看本篇之前可以相应阅读以下Trigger相关文章: 1.https://developer.salesforce.com/page/Trigger_Frameworks_and_Apex_Trigge ...
- salesforce 零基础学习(十七)Trigger用法
看本篇之前可以相应阅读以下Trigger相关文章: 1.https://developer.salesforce.com/page/Trigger_Frameworks_and_Apex_Trigge ...
- salesforce 零基础学习(五十二)Trigger使用篇(二)
第十七篇的Trigger用法为通过Handler方式实现Trigger的封装,此种好处是一个Handler对应一个sObject,使本该在Trigger中写的代码分到Handler中,代码更加清晰. ...
- salesforce零基础学习(九十六)Platform Event浅谈
本篇参考:https://developer.salesforce.com/blogs/2018/07/which-streaming-event-do-i-use.html https://trai ...
- salesforce零基础学习(八十九)使用 input type=file 以及RemoteAction方式上传附件
在classic环境中,salesforce提供了<apex:inputFile>标签用来实现附件的上传以及内容获取.salesforce 零基础学习(二十四)解析csv格式内容中有类似的 ...
- salesforce零基础学习(八十七)Apex 中Picklist类型通过Control 字段值获取Dependent List 值
注:本篇解决方案内容实现转自:http://mysalesforceescapade.blogspot.com/2015/03/getting-dependent-picklist-values-fr ...
- salesforce零基础学习(一百零五)Change Data Capture
本篇参考: https://developer.salesforce.com/docs/atlas.en-us.232.0.api_streaming.meta/api_streaming/using ...
- salesforce零基础学习(八十)使用autoComplete 输入内容自动联想结果以及去重实现
项目中,我们有时候会需要实现自动联想功能,比如我们想输入用户或者联系人名称,去联想出系统中有的相关的用户和联系人,当点击以后获取相关的邮箱或者其他信息等等.这种情况下可以使用jquery ui中的au ...
随机推荐
- unity3d的键盘和鼠标输入
一.键盘的输入 •GetKey,GetKeyDown,GetKeyUp三个方法分别获取用户键盘按键的输入 1. GetKey:用户长按按键有效: bool down = Input.GetKeyDow ...
- 控件:DataGridView列类型
DataGridView的列的类型提供有多种,包括有: (1)DataGridViewTextBoxColumn(文本列,默认的情况下就是这种) (2)DataGridViewComboBoxColu ...
- Python-selenium-自动化测试模型
1.线性测试 优势:每一个脚本都是完整独立的,每一个脚本对应一个测试用例 缺点:开发成本高,会有重复操作重复脚本:维护成本也高,修改重复操作的脚本时,要逐一进行修改. 2.模块化驱动测试 把重复的操作 ...
- python字节码,java字节码,十六进制相互转换
下面是互相转换的代码: 有想要了解更多关于python知识的请在下方评论或私信小编
- SpringCloud-Ribbon负载均衡机制、手写轮询算法
Ribbon 内置的负载均衡规则 在 com.netflix.loadbalancer 包下有一个接口 IRule,它可以根据特定的算法从服务列表中选取一个要访问的服务,默认使用的是「轮询机制」 Ro ...
- Springboot:员工管理之国际化(十(3))
1:IDEA编码设置UTF-8 2:创建国际化文件 i18n\login.properties #默认语言 i18n\login_en_US.properties #英文语言 i18n\login_z ...
- 域名和服务器绑定及https协议更换
服务器是之前已经购买了的 1.腾讯云产品中搜索域名注册(产品太多了懒得找,直接搜索来得快些) 2.进去之后可以选择各种后缀的域名,输入自己喜欢的,看看哪些后缀是没有被注册的.自己挑选一个就可以,按照指 ...
- es6最 全教程2020年
带手机验证码登陆, 带全套购物车系统 带数据库 前后端分离开发 带定位用户功能 数据库代码为本地制作好了 带支付宝支付系统 带django开发服务器接口教程 地址: https://www.dua ...
- 支持向量机SVM知识梳理和在sklearn库中的应用
SVM发展史 线性SVM=线性分类器+最大间隔 间隔(margin):边界的活动范围.The margin of a linear classifier is defined as the width ...
- 笔记-VUE滚动加载更多数据
来源:https://blog.csdn.net/qq_17281881/article/details/87342403 VUE滚动加载更多数据 data() { return { loading: ...