专栏首页salesforce零基础学习salesforce零基础学习(一百零六)Dynamic Form

salesforce零基础学习(一百零六)Dynamic Form

本篇参考:https://trailblazer.salesforce.com/ideaview?id=08730000000BroxAAC

https://help.salesforce.com/s/articleView?id=sf.dynamic_forms_overview.htm&type=5

我们在项目中可能会有类似的需求: 甲方爸爸在看了某个表的数据详情页以后说, 这个页面整体符合需求了,但是我们业务上希望的是,当页面中的某个状态为某些值情况下展示某个或者某些section或者展示某些字段,不满足的情况下,section展示或者相关字段展示也没有用,因为业务不看。你们实施团队能不能实现这种的啊?

此时作为开发人员可能只有两条路:

1. 告诉甲方爸爸,这个是salesforce的标准的 page layout,标准功能实现不了这种需求,要么就不做这个需求了吧,也不影响使用; 2. 告诉甲方爸爸,啊,这种需求必须能做,只是需要开发,但是我们可以搞定。

作为开发来说,我们肯定是想往1来推,标准的page layout保证了稳定性以及高可配,方便后续的维护,如果遇见很tough的客户,我们就只能进行了自定制之路。当然,以后如果有类似的需求以后,我们可能就可以通过配置的方式搞定,使用的就是我们今天的主角: Dynamic Form

一. Dynamic Form 我们知道 salesforce 一直致力于 no code / less code的宗旨, 同样的,针对类似的需求,salesforce推出了 dynamic form去最大化的适配动态表单的需求。

有几点优势:

  1. 和 page layout 进行了分离,在 lightning app build的record page进行配置,section / field 想放在哪里放哪里,不像原来只能按照 page layout展示而展示;
  2. 可以通过 visibility rule 去 设置 field / section的展示与隐藏的逻辑;

有几点需要注意:

1. dynamic form 目前只支持自定义的 object,标准 object暂时不支持,期待后续的release可以不断的进行拓展; 2. dynamic form 影响的不只是用户所看见的详情页面,当用户进行编辑或者新建/克隆等操作时,同样会遵循 visibility rule。

二. Dynamic Form的使用

1. Dynamic Form只允许在 Lightning App builder中进行使用,当我们找到一个 lightning record page(new/ edit),选择 record detail组件,右侧会展示 Upgrade Now的按钮

2. 通过下图就可以看出来 dynamic form的三大核心功能。

3. dynamic form不会改变 page layout

4. dynamic form有三个维度: accordion / section / field。我们按照需求可以进行不同维度的配置,不同的维度可以进行不同的配置,可看图中描述。

5. field级别除了可以设置显隐以外,还可以设置UI的行为

6. 这里我们做一个简单的demo, is draft为true, goods price隐藏,这里我们针对 goods price设置 field visibility,点击 Advanced 按钮,我们可以看到 设置除了记录字段级别以外,还可以根据 user / permission维度来控制

7. 我们进行了一个 Field Visibility简单配置,点击done即完成了一个配置

结果演示:

1. is draft为false, goodsprice正常展示

2. is draft为true,goodsprice动态的隐藏。

三. 现在项目是否应该用 Dynamic Form

尽管dynamic form很强大,但是我们不是项目中有类似需求就直接上来,如果不对其进行认真的评估,很容易后期出差错,累死自己和团队。所以在是否应该使用之前,我们需要先了解几点:

1. 目前只针对自定义表使用,标准的表不支持,如果客户对UI要求严格,可能达到整体功能不统一;

2. dynamic form拥有很多的 limitation,这些都是在文档中有介绍的,比如不支持 blank space,一个section一个列最多100个字段等等,我们在使用以前一定需要先了解limitation是否影响到了我们的红线;

3. dynamic form经历了去年的beta到今年的正式发布,还是有很多的known issue,官方也列出来了。在使用以前一定先看一下 known issue是否会影响到我们的使用。

总结:dynamic form作为一个高可配的动态表单,相信后续的升级完善以后,对于管理员来说会越来越得到使用,对于开发来说也是一个很好的功能。针对开发来说,使用以前了解好限制,找好workaround方案。 篇中只是简单的描述了一下 dynamic form的使用,实际上会更加强大,感兴趣的小伙伴可以自己来玩了。篇中有错误欢迎指出,有不懂欢迎留言。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • salesforce零基础学习(一百零七)Dynamic Action

    说一下项目中常见的甲方的需求。背景如下:Order在SF端生成以后,在status为completed以后,需要点击按钮同步到SAP或者其他的MDM,客户希望的...

    用户1169343
  • salesforce零基础学习(一百零四)Salesforce Optimizer

    本篇参考: https://admin.salesforce.com/blog/2017/analyzing-org-salesforce-optimizer-...

    用户1169343
  • salesforce零基础学习(一百零五)Change Data Capture

    https://developer.salesforce.com/docs/atlas.en-us.232.0.api_streaming.meta/api_s...

    用户1169343
  • salesforce零基础学习(一百)Mobile Device Tracking

    UserDevice | SOAP API Developer Guide | Salesforce Developers

    用户1169343
  • salesforce零基础学习(一百零二)Limitation篇之 CPU Limit

    https://help.salesforce.com/articleView?id=000339361&type=1&mode=1

    用户1169343
  • salesforce 零基础学习(十六)Validation Rules & Date/time

    上一篇介绍的内容为Formula,其中的Date/time部分未指出,此篇主要介绍Date/time部分以及Validation rules。 本篇参考PDF:...

    用户1169343
  • salesforce 零基础学习(五十六)实现getById

    本来想通过template封装DAO中的getById,结果template中无法选择$(object_name),所以此种想法打消了,直接封装成一个Helpe...

    用户1169343
  • salesforce lightning零基础学习(六)Lightning Data Service(LDS)

    本篇可参看:https://trailhead.salesforce.com/modules/lightning_data_service

    用户1169343
  • salesforce 零基础学习(四十一)Group

     salesforce中,有的时候我们需要将一组用户放进一个Group,用来实现以下主要功能: 1.通过sharing rule设置默认的共享访问; 2.将记录...

    用户1169343
  • salesforce零基础学习(九十一)Facet

    说Facet以前,我们先说一下浏览器加载解析以及渲染的过程。浏览器获取一个HTML的文件时,会按照自上向下的顺序进行解析,并在加载过程中进行渲染。对html解析...

    用户1169343
  • salesforce 零基础学习(六十七)SingleEmailMessage 那点事

     在salesforce开发中,发送邮件是一个很常见的功能。比如在进入审批流以后的通过和拒绝的操作需要发送邮件给记录的owner,和其他系统交互以后更改了某些状...

    用户1169343
  • salesforce零基础学习(九十六)Platform Event浅谈

    本篇参考:https://developer.salesforce.com/blogs/2018/07/which-streaming-event-do-i-u...

    用户1169343
  • salesforce零基础学习(一百零三)项目中的零碎知识点小总结(五)

    本篇参考:Salesforce Admin篇(四) Security 之Two-Factor Authentication & Single Sign On

    用户1169343
  • salesforce 零基础学习(二十一)workflow Q&A

    有一篇内容专门写了workflow,后来用到的时候心生疑问,不知道小伙伴有没有和我想法一样的,workflow具体内容原来已经说过,不在过多叙述,只说一下运行条...

    用户1169343
  • Salesforce 集成篇零基础学习(一)Connected App

    https://trailhead.salesforce.com/content/learn/modules/connected-app-basics

    用户1169343
  • salesforce 零基础学习(六十)Wizard样式创建数据

    项目中表之间关联关系特别多,比如三个表中A,B,C  C作为主表,A,B作为从表,有时候C表需要创建数据时,同时需要创建A,B两个表的数据,这种情况下,使用Wi...

    用户1169343
  • salesforce 零基础学习(六十八)http callout test class写法

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

    用户1169343
  • Salesforce Sales Cloud 零基础学习(四) Chatter

    Chatter是一个Salesforce实时协作应用程序,它允许你的用户一起工作、互相交谈和共享信息,不管用户角色或位置如何,连接、并激励用户在整个组织内高效工...

    用户1169343
  • Salesforce Sharing And Visibility 零基础学习(一)基础知识篇

    https://trailhead.salesforce.com/en/users/strailhead/trailmixes/architect-sharin...

    用户1169343

扫码关注云+社区

领取腾讯云代金券