本篇参考:

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 是否区分大小写的更多相关文章

  1. salesforce 零基础学习(三十九) soql函数以及常量

    在salesforce中,我们做SOQL查询时,往往需要用到计算式,比如求和,求平均值,或者过滤数据时,往往需要通过时间日期过滤,SOQL已经封装了很多的函数,可以更加方便我们的sql查询而不需要自己 ...

  2. salesforce 零基础学习(三十)工具篇:Debug Log小工具

    开发中查看log日志是必不可少的,salesforce自带的效果显示效果不佳,大概显示效果如下所示: chrome商城提供了apex debug log良好的插件,使debug log信息更好显示.假 ...

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

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

  4. salesforce 零基础学习(三十六)通过Process Builder以及Apex代码实现锁定记录( Lock Record)

    上一篇内容是通过Process Builder和Approval Processes实现锁定记录的功能,有的时候,往往锁定一条记录需要很多的限制条件,如果通过Approval Processes的条件 ...

  5. salesforce 零基础学习(六十九)当新增/修改一条记录以后发生了什么(适合初学者)

    salesforce开发中,我们会对object进行很多的操作,比如对object设置字段的必填性唯一性等,设置validation rule实现一下相关的字段的逻辑校验,设置workflow实现某个 ...

  6. salesforce零基础学习(七十九)简单排序浅谈 篇一

    我们在程序中经常需要对数据列表进行排序,有时候使用SOQL的order by 不一定能完全符合需求,需要对数据进行排序,排序可以有多种方式,不同的方式针对不同的场景.篇一只是简单的描述一下选择排序,插 ...

  7. salesforce 零基础学习(五十九)apex:param使用以及相关的疑惑

    做web项目难免要从一个页面传参数,解析参数中的值进行相关处理以后跳转到其他页面,VF中也不例外.使用传参的标签为apex:param. apex:param标签不可以单独使用,需要作为子标签嵌套在相 ...

  8. salesforce 零基础学习(三十八)Translate 的使用(国际化处理)

    本篇参考:http://resources.docs.salesforce.com/200/17/en-us/sfdc/pdf/salesforce_workbench_cheatsheet.pdf ...

  9. salesforce 零基础学习(三十五) 通过Process Builder和Approval Processes锁定记录(Lock Record)

    有的时候我们可能有这样的需求,当某个字段为特定的值情况下,便锁定此条记录,仅允许Profile为System Admin的用户修改或者解锁,其他的用户只能查看此条记录,不能修改此条记录,这种情况下我们 ...

  10. salesforce 零基础学习(四十九)自定义列表分页之使用Pagination实现分页效果 ※※※

    上篇内容为Pagination基类的封装,此篇接上篇内容描述如何调用Pagination基类. 首先先创建一个sObject,起名Company info,此object字段信息如下: 为了国际化考虑 ...

随机推荐

  1. C 语言入门:如何编写 Hello World

    C 语言简介 C 语言是由 Dennis Ritchie 于 1972 年在贝尔实验室创建的一种通用编程语言.尽管年代久远,它仍然是一款非常流行的语言.它之所以受欢迎的主要原因是它是计算机科学领域的基 ...

  2. C#中base关键字的几种用法 (base可以对派生类(子类)实例中调用基类(父类)的构造函数方法或者基类上已经被重写的虚方法)

    base最大的使用就是"面向对象"开发的多态中.base可以对派生类(子类)实例中调用基类(父类)的构造函数方法或者基类上已经被重写的虚方法. 首先声明两个类 A B public ...

  3. Gitee码云:用git上传本地文件到码云gitee的方法

    首先登录码云 https://gitee.com/,注册一个账号,并登录账号. 1. 在码云上创建项目 在码云首页顶部,下图所示,右上角头像旁边的加号,鼠标移上去会显示下拉的,点击"新建项目 ...

  4. Python基于Excel数据加以反距离加权空间插值并掩膜图层

      本文介绍基于Python中ArcPy模块,实现Excel数据读取并生成矢量图层,同时进行IDW插值与批量掩膜的方法. 1 任务需求   首先,我们来明确一下本文所需实现的需求.   现有一个记录有 ...

  5. openGauss 2.1.0 闪回特性

    openGauss 2.1.0 闪回特性 openGauss 2.1.0 于 2021 年 9 月 30 日发布,是 openGauss 的一个 Preview 版本,该版本生命周期仅为半年.该版本的 ...

  6. linux ssh连接

    前言 整理以前的随笔. 正文 首先更新源 sudo apt-get update 安装ssh服务 sudo apt-get install openssh-server 检测是否已启动 ps -e | ...

  7. h5py这个坑-PyCharm Process finished with exit code -1073741819 (0xC0000005)

    在用pytorch和tensorflow做语音合成时,碰到了个很无解的bug, PyCharm 报错 Process finished with exit code -1073741819 (0xC0 ...

  8. git默认忽略文件名称大小写

    0. 现象 当将文件名称test 修改为 Test时,git提交记录检测不到变化 1.原因 Git默认设置忽略文件名大小写是因为不同操作系统对文件名大小写的处理方式不同,为了避免在不同操作系统之间出现 ...

  9. 【笔记】Java相关大杂烩①

    [笔记]Java相关大杂烩 Java 程序的执行流程是? *.java 文件-->*.class 文件-->类装载器-->字节码校验器-->解释器-->操作系统平台 Ja ...

  10. 力扣142(Java)-环形链表Ⅱ(中等)

    题目: 给定一个链表的头节点  head ,返回链表开始入环的第一个节点. 如果链表无环,则返回 null. 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环. 为了表示 ...