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 ...
随机推荐
- c++学习day01基础知识学习
一.代码示例解析: #include <iostream> int main() { using namespace std; cout << "come up an ...
- 数据结构与算法--树(tree)结构
树 二叉树 遍历原则:前序遍历是根左右, 中序遍历是左根右,后序遍历是左右根. 二叉搜索树 特点:对于树中的每个节点X,它的左子树中所有节点的值都小于X,右子树中所有节点的值都大于X. 遍历:采取二叉 ...
- SpringCloud-Ribbon负载均衡机制、手写轮询算法
Ribbon 内置的负载均衡规则 在 com.netflix.loadbalancer 包下有一个接口 IRule,它可以根据特定的算法从服务列表中选取一个要访问的服务,默认使用的是「轮询机制」 Ro ...
- (一)C# Windows Mobile 半透明窗体
Windows Mobile,个人心中臻至完美的系统. 不忍自己对WM的钻研成果消逝,故留作纪念. 系列开篇,便是一个曾令自己困扰很久的问题:如何实现半透明窗体. 如果了解Win32编程,其实很简单. ...
- vue2.x学习笔记(十七)
接着前面的内容:https://www.cnblogs.com/yanggb/p/12616847.html. 动态组件&异步组件 在前面学习组件基础的时候学习过动态组件,官方文档给出过一个例 ...
- 2020-3 网络对抗技术 20175120 exp5 信息搜集与漏洞扫描
目录 实践目标 实践内容 各种搜索技巧的应用 搜索特定类型的文件Google Hacking 搜索网站目录结构 DNS IP注册信息的查询 网络侦查 基本的扫描技术:主机发现.端口扫描.OS及服务版本 ...
- python+selenium实现网页自动化与爬虫技术
举例某购物网站,通过selenium与python,实现主页上商品的搜索,并将信息爬虫保存至本地excel表内. 一.python环境与selenium环境安装 python在官网下载并安装并且设置环 ...
- C++创建动态库
[C++]创建动态库 有很多方法,这个只是其中一种 比较简洁的方法. char* __stdcall correction(char* str) char *_result = new char[se ...
- SQLServer系统表使用简介(sysobjects、syscolumns、syscomments等)转载
sysobjects:记录了数据库中每一个表.视图.约束.存储过程等详细内容的表. 表中常用的字段如下 : 列名 数据类型 描述 name sysname 对象名 id int 对象标识号 xtype ...
- python 利用numpy同时打乱列表的顺序,同时打乱数据和标签的顺序
可用于网络训练打乱训练数据个标签,不改变对应关系 方法一: np.random.shuffle (无返回值,直接打乱原列表) state = np.random.get_state() np.rand ...