说一下项目中常见的甲方的需求。背景如下:Order在SF端生成以后,在status为completed以后,需要点击按钮同步到SAP或者其他的MDM,客户希望的是,如果 order的状态为 completed以后,才展示custom action / button,点击以后同步,如果状态为draft场景,则不展示。

我们的solution通常是告诉客户,action/ button 配置在page layout以后,无法进行移除,我们在点击按钮以后,可以先判断状态,如果状态不为completed以后,就给客户报一个错误,告诉客户当前状态不允许同步。尽管需求可以实现,但是总归不是客户最想要的。

当然,和上一篇博客的 dynamic form 相似,salesforce同样也针对此种类似的需求推出了 dynamic action。以后这种类似的需求就可以通过 dynamic action 快速高效的解决了。

一. Dynamic Action

Dynamic Action和dynamic form相同,启用以及配置的入口都是在 lightning app builder中,所以如果你的项目是classic的,肯定是用不了的。和 dynamic form的一点不同是,标准 object也是支持 dynamic action。 只需要在 highlights panel 点击以后,在右侧upgrade 即可。

点击 Upgrade Now按钮以后,可以有两种模式供选择,一种是从0开始配置action,另外一种是基于一个 page layout进行选择。

下图demo中是根据一个page layout进行配置。

我们可以看到基于一个page layout配置的情况下,默认这个page layout的所有的action会自动带出来,如果选择另外一种,则此处为空内容。

我们想要设置action的显隐只需要选中这个action,然后在 Set Action Visibility设置Filter即可。

demo中我们设置 MyGuide这个action在当前 user的profile是 system administrator情况下展示。

效果展示

我们以一个非admin账户登录,查看一个opportunity,发现这个quick action 并看不到 

我们以一个管理员登录,发现是可以看到的。

总结: dynamic action 可以尽最大限度的做一些显隐设置,当然,现在还达不到 当前user基于对当前记录的CRUD权限来控制。目前用的比较多的可能是基于当前记录的字段的值来控制,当然,我们也可以使用 user / permission来控制,至于可以选择哪些字段来设置逻辑,可以自行尝试。篇中有错误地方欢迎指出,有不懂欢迎留言。

最新文章

  1. doPost()和doGet()
  2. java 多线程(ThreadPoolExecutor (补充))
  3. nylg 小M的因子和
  4. WinForm 加载自定义控件闪烁问题
  5. Android:使用ViewPager实现左右滑动切换图片 (简单版)
  6. Cassandra1.2文档学习(1)——Cassandra基本说明
  7. Leetcode 175. Combine Two Tables
  8. python 、mmap 实现内存数据共享
  9. [luogu P3384] 【模板】树链剖分 [树链剖分]
  10. Maven 项目pom.xml报错
  11. [Python Study Notes]正则表达式
  12. FL Studio中音频ASIO4ALL的设置
  13. jsp 连接access数据库
  14. Docker启动mysql的坑2
  15. LeetCode 748 Shortest Completing Word 解题报告
  16. TCHART类型
  17. 『TensorFlow × MXNet』SSD项目复现经验
  18. 挂载本地iso镜像
  19. nodejs基础: 如何升级Noejs版本
  20. 兼容IE7、IE8、IE9的input type="number"插件

热门文章

  1. 那些 22 岁毕业做Android开发的人,他们 50 岁左右时的人生轨迹是怎样的?
  2. xubuntu共享打印机
  3. 线性代数期末大总结II
  4. Rip CD on Ubuntu
  5. Java EE-下载安装eclipse并设置环境变量的步骤
  6. Java 常用类库与技巧【笔记】
  7. VLAN-5 利用三层交换机实现vlan间的路由
  8. S3C2440—8.读写SDRAM
  9. hdmi 随笔
  10. 30 个极大提高开发效率超级实用的 VSCode 插件