• 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 操作符,则是不区分大小写的。这两者容易混淆,写完以后一定要测试,切勿根据自己的经验盲目自信。篇中有错误的地方欢迎指出,不懂的欢迎留言。

  • 相关阅读:
    实时数据备份实践inotify和rsync联动
    微信小程序云开发教程——墨刀原型工具入门(页面交互+交互案例教程)
    C++ 一个时间转换类封装
    什么测试自动化测试?
    AI服装生成,帮你完成服装设计的最后一步
    查看网页最后修改时间方法以及原理简介
    区间信息维护与查询【最近公共祖先LCA 】 - 原理
    GBase 8a MPP集群VC管理之访问VC
    Linux的iproute2 : ip address ip route ip link 笔记221103
    剑指JUC原理-9.Java无锁模型
  • 原文地址:https://www.cnblogs.com/zero-zyq/p/18206667