salesforce零基础学习(一百三十九)Admin篇之Begins/Contains/Starts With 是否区分大小写
本篇参考:
https://help.salesforce.com/s/articleView?id=sf.customize_functions_begins.htm&type=5
https://help.salesforce.com/s/articleView?id=sf.flow_ref_operators_condition.htm&type=5
虽然做了salesforce开发也有一些年,但是因为salesforce的生态过于庞大,平时用的有一些局限性并且很多可能直接基于既有经验进行开发,然而既有经验有一些可能因为概念模糊或者其他原因导致错误,从而引发一些不必要的低级错误。本篇就是这样的一个场景。 在查看后续的内容以前,先问自己两个问题:
1. BEGINS / CONTAINS 函数是否区分大小写?
2. Starts With / Contains 操作符是否区分大小写?
接下来,我们以两个Flow的例子来进行展开。 这里创建两个Queue,我们看到他们一个大写,一个小写。

我们创建一个Flow,Flow中创建两个formula字段,通过BEGINS函数来判断。通过Decision组件根据Sales和Service区别来更新Description字段,内容为 Owner is Sales/Service Queue.

我们创建了两条数据,一个是Owner是 Sales Queue,一个是 service queue。

我们对Flow进行测试。我们发现Sales 的分支没有执行update, service的分支执行了update。

之所以出现这种事情,原因就是BEGINS函数区分大小写,因为Queue的Name是Sales,函数用的是 sales,所以导致这个Formula的值是false,导致了后续的逻辑没进去。

我们对这个进行一下优化,可以使用 LOWER或者UPPER函数,这样就可以避免了大小写的问题了。

重新Debug了一下,结果是正常的。

接下来我们看一下操作符。虽然BEGINS函数区分大小写,但是如果使用Flow提供的Starts With的情况下,是不区分大小写的。这里也是我之前基于经验的点。我将两者进行了混淆,认为 Starts With不区分大小写,BEGINS函数应该也不区分。我们在做一个Flow,如果Description以小写的owner开始,则将Description更新一个固定的值: Updated to fixed value.

我们将这两个Flow启用,然后看一下效果。我们看到当Lead Owner变成 Sales Queue以后,第一个Flow执行了逻辑,将Description变成了 Owner is Sales Queue,随后第二个Flow执行,因为第二个flow的Starts With函数不区分大小写,所以又将Description变成了Updated to fixed value。

总结:通过这个demo,我们可以看到BEGINS/CONTAINS函数是区分大小写的,但是如果我们使用了Salesforce内置的 Starts With/Contains 操作符,则是不区分大小写的。这两者容易混淆,写完以后一定要测试,切勿根据自己的经验盲目自信。篇中有错误的地方欢迎指出,不懂的欢迎留言。
salesforce零基础学习(一百三十九)Admin篇之Begins/Contains/Starts With 是否区分大小写的更多相关文章
- salesforce 零基础学习(三十九) soql函数以及常量
在salesforce中,我们做SOQL查询时,往往需要用到计算式,比如求和,求平均值,或者过滤数据时,往往需要通过时间日期过滤,SOQL已经封装了很多的函数,可以更加方便我们的sql查询而不需要自己 ...
- salesforce 零基础学习(三十)工具篇:Debug Log小工具
开发中查看log日志是必不可少的,salesforce自带的效果显示效果不佳,大概显示效果如下所示: chrome商城提供了apex debug log良好的插件,使debug log信息更好显示.假 ...
- salesforce零基础学习(八十九)使用 input type=file 以及RemoteAction方式上传附件
在classic环境中,salesforce提供了<apex:inputFile>标签用来实现附件的上传以及内容获取.salesforce 零基础学习(二十四)解析csv格式内容中有类似的 ...
- salesforce 零基础学习(三十六)通过Process Builder以及Apex代码实现锁定记录( Lock Record)
上一篇内容是通过Process Builder和Approval Processes实现锁定记录的功能,有的时候,往往锁定一条记录需要很多的限制条件,如果通过Approval Processes的条件 ...
- salesforce 零基础学习(六十九)当新增/修改一条记录以后发生了什么(适合初学者)
salesforce开发中,我们会对object进行很多的操作,比如对object设置字段的必填性唯一性等,设置validation rule实现一下相关的字段的逻辑校验,设置workflow实现某个 ...
- salesforce零基础学习(七十九)简单排序浅谈 篇一
我们在程序中经常需要对数据列表进行排序,有时候使用SOQL的order by 不一定能完全符合需求,需要对数据进行排序,排序可以有多种方式,不同的方式针对不同的场景.篇一只是简单的描述一下选择排序,插 ...
- salesforce 零基础学习(五十九)apex:param使用以及相关的疑惑
做web项目难免要从一个页面传参数,解析参数中的值进行相关处理以后跳转到其他页面,VF中也不例外.使用传参的标签为apex:param. apex:param标签不可以单独使用,需要作为子标签嵌套在相 ...
- salesforce 零基础学习(三十八)Translate 的使用(国际化处理)
本篇参考:http://resources.docs.salesforce.com/200/17/en-us/sfdc/pdf/salesforce_workbench_cheatsheet.pdf ...
- salesforce 零基础学习(三十五) 通过Process Builder和Approval Processes锁定记录(Lock Record)
有的时候我们可能有这样的需求,当某个字段为特定的值情况下,便锁定此条记录,仅允许Profile为System Admin的用户修改或者解锁,其他的用户只能查看此条记录,不能修改此条记录,这种情况下我们 ...
- salesforce 零基础学习(四十九)自定义列表分页之使用Pagination实现分页效果 ※※※
上篇内容为Pagination基类的封装,此篇接上篇内容描述如何调用Pagination基类. 首先先创建一个sObject,起名Company info,此object字段信息如下: 为了国际化考虑 ...
随机推荐
- easyExcel合并数据导出(一对多)
语言 java 框架 ssm 需求 :看图 也是导出效果 数据库查询为(关系为一对多) 一个学生对应多个课程 实现步骤 1.实体类配置, 建议单独写个实体用来导出使用() 学生信息字段正常配置 , ...
- 掌握 xUnit 单元测试中的 Mock 与 Stub 实战
引言 上一章节介绍了 TDD 的三大法则,今天我们讲一下在单元测试中模拟对象的使用. Fake Fake - Fake 是一个通用术语,可用于描述 stub或 mock 对象. 它是 stub 还是 ...
- flask售后评分系统
做软件行业的公司,一般都有专业的售前售后团队,还有客服团队,客服处理用户反馈的问题,会形成工单,然后工单会有一大堆工单流程,涉及工单的内部人员,可能会有赔付啥的,当然,这是有专业的售前.售后.客服团队 ...
- easyx的使用
本操作集根据B站学习,借鉴: 视频链接:[C/C++/EasyX]学编程,做游戏,小白快速入门图形编程,零基础入门到精通,学习就是这么快乐_哔哩哔哩_bilibili 初始化时要进行的操作: 记得调用 ...
- 力扣844(Java)-比较含退格的字符串(简单)
题目: 给定 s 和 t 两个字符串,当它们分别被输入到空白的文本编辑器后,如果两者相等,返回 true .# 代表退格字符. 注意:如果对空文本输入退格字符,文本继续为空. 示例 1: 输入:s = ...
- 力扣205(java)-同构字符串(简单)
题目: 给定两个字符串 s 和 t ,判断它们是否是同构的. 如果 s 中的字符可以按某种映射关系替换得到 t ,那么这两个字符串是同构的. 每个出现的字符都应当映射到另一个字符,同时不改变字符的顺序 ...
- 力扣206(java&python)-反转链表(简单)
题目: 给你单链表的头节点 head ,请你反转链表,并返回反转后的链表. 示例1: 输入:head = [1,2,3,4,5] 输出:[5,4,3,2,1] 示例2: 输入:head = [1,2] ...
- 阿里云数据库开源重磅发布:PolarDB三节点高可用的功能特性和关键技术
简介:在3月2日的阿里云开源 PolarDB 企业级架构发布会上,阿里云数据库技术专家孟勃荣 带来了主题为<PolarDB 三节点高可用>的精彩演讲.三节点高可用功能主要为 PolarD ...
- 一文读懂容器存储接口 CSI
简介: 在<一文读懂 K8s 持久化存储流程>一文我们重点介绍了 K8s 内部的存储流程,以及 PV.PVC.StorageClass.Kubelet 等之间的调用关系.接下来本文将将重点 ...
- 如何使用Arthas提高日常开发效率?
简介: 1. Arthas有什么功能,怎么用,请看:Arthas使用手册 2. Arthas命令比较复杂,一个帮助生成命令的IDEA插件:arthas idea plugin 使用文档 3. 基于Ar ...