说一下项目中常见的甲方的需求。背景如下: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来控制,至于可以选择哪些字段来设置逻辑,可以自行尝试。篇中有错误地方欢迎指出,有不懂欢迎留言。

salesforce零基础学习(一百零七)Dynamic Action的更多相关文章

  1. 零基础学习qt4 第七章的第一个例子

    #include <QtGui> #include "extensionDlg.h" ExtensionDlg::ExtensionDlg(QWidget *paren ...

  2. salesforce零基础学习(一百零五)Change Data Capture

    本篇参考: https://developer.salesforce.com/docs/atlas.en-us.232.0.api_streaming.meta/api_streaming/using ...

  3. salesforce零基础学习(八十)使用autoComplete 输入内容自动联想结果以及去重实现

    项目中,我们有时候会需要实现自动联想功能,比如我们想输入用户或者联系人名称,去联想出系统中有的相关的用户和联系人,当点击以后获取相关的邮箱或者其他信息等等.这种情况下可以使用jquery ui中的au ...

  4. salesforce零基础学习(一百一十三)Trigger中获取IP地址的过程

    本篇参考: https://developer.salesforce.com/docs/atlas.en-us.228.0.apexcode.meta/apexcode/apex_class_Auth ...

  5. salesforce 零基础学习(五十二)Trigger使用篇(二)

    第十七篇的Trigger用法为通过Handler方式实现Trigger的封装,此种好处是一个Handler对应一个sObject,使本该在Trigger中写的代码分到Handler中,代码更加清晰. ...

  6. salesforce 零基础学习(六十八)http callout test class写法

    此篇可以参考: https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_classes_restfu ...

  7. salesforce零基础学习(八十二)审批邮件获取最终审批人和审批意见

    项目中,审批操作无处不在.配置审批流时,我们有时候会用到queue,related user设置当前步骤的审批人,审批人可以一个或者多个.当审批人有多个时,邮件中获取当前记录的审批人和审批意见就不能随 ...

  8. salesforce零基础学习(八十七)Apex 中Picklist类型通过Control 字段值获取Dependent List 值

    注:本篇解决方案内容实现转自:http://mysalesforceescapade.blogspot.com/2015/03/getting-dependent-picklist-values-fr ...

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

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

  10. salesforce lightning零基础学习(十五) 公用组件之 获取表字段的Picklist(多语言)

    此篇参考:salesforce 零基础学习(六十二)获取sObject中类型为Picklist的field values(含record type) 我们在lightning中在前台会经常碰到获取pi ...

随机推荐

  1. Azure安装完postgresql遇到:psql: error: could not connect to server: FATAL: no pg_hba.conf entry for host

    进入创建好的Azure Database for PostgreSQL server 点击connection security 在Firewall rules中  Add 0.0.0.0-255.2 ...

  2. Java 浮点数精确性探讨(IEEE754 / double / float)与 BigDecimal 解决方案

    一.抛砖引玉 一个简单的示例: double a = 0.0; IntStream.range(0,3).foreach(i->a+=0.1); System.out.println(a); / ...

  3. appium自动化测试(2)-工具(monitor、uiautomatorviewer)

    获取应用信息: from appium import webdriver desired_caps ={} desired_caps['platformName']='Android'# 哪种移动平台 ...

  4. Subversion Backup and Restore

    Backup Specified Revision Backup specified revision (here is 20): $ cd /opt/svnRepo $ svnadmin dump ...

  5. Golang语言系列-02-常用数据类型

    Go语言常用数据类型 Go 语言中有丰富的数据类型,除了基本的整型.浮点型.布尔型.字符串.byte/rune 之外, 还有数组.切片.函数.map.通道(channel).结构体等. Go语言的基本 ...

  6. [1.6W字] 浏览器跨域请求限制的详细原理分析&寻找一种最简单的方式实现XHR跨域(9种方法, 附大招可以纯前端实现跨域!)

    Title/ 浏览器跨域(CrossOrigin)请求的原理, 以及解决方案详细指南 #flight.Archives011 序: 最近看到又有一波新的创作活动了, 官方给出的话题中有一个" ...

  7. SSM自学笔记(七)

    14.MyBatis的多表操作 1.MyBatis的多表操作 1.1 一对一查询 一对一查询的模型 用户表和订单表的关系为,一个用户有多个订单,一个订单只从属于一个用户 一对一查询的需求:查询一个订单 ...

  8. Mysql生成UUID的SQL语句

    大写的UUID: SELECT UPPER(UUID()); 小写的UUID: SELECT LOWER(UUID()); SELECT UUID(); 去掉横杠的UUID: SELECT REPLA ...

  9. docker部署elasticsearch-+-Kibana(6-8)-+-SpringBoot-2-1-6

    elasticsearch快速开始 docker run -d --name elasticsearch --net somenetwork -p 9200:9200 -p 9300:9300 -e ...

  10. Nginx-出现-403-Forbidden

    步骤一: 检查目录权限.权限不足的就加个权限吧. 例子:chmod -R 755 / var/www 步骤二: 打开nginx.conf 例子:vim /etc/nginx/nginx.conf 把 ...