Actions — Quick Actions in Apex

DEX455 - 使用 Salesforce 特性与 Apex 集成

📄 第 271 页 🎬 视频课程

课程章节介绍

同学们,咱们现在要讲的是Salesforce里的“快速操作”和它背后的Apex编程支持。别看这个Slide只有几行字,里头的门道还挺多。来,我先用大白话给大家串一遍。 快速操作是干什么的呢?简单说,就是让用户不用打开完整的记录编辑页面,就能快速完成一件事。比如在一个列表页上,点一下按钮,啪,直接创建一条新记录,这就是“创建操作”。或者你点一个按钮,弹出一个Lightning组件,跑一个自动化流程,甚至打开Visualforce页面或画布应用,这些都叫“自定义操作”。这些操作可以挂在某个对象的布局上,那就是“对象特定”的;也可以挂在全局发布者上,那就是“全局”的,哪儿都能用。不过注意一条规则:更新记录的操作必须绑定到具体的对象,不能是全局的,这个记一下。 好,那咱们作为开发者,怎么用Apex去处理这些操作呢?Slide上说了,Apex给了一组丰富的类。但这段文字里有几处拼写可能要纠正一下——可能是Slide生成时的小瑕疵,实际开发中你搜到的类名更规范。比如“用于元数据的QuickAction”,就是指`QuickAction`这个命名空间下的描述方法,像`QuickAction.DescribeQuickActions`,能让你拿到某个操作的定义、类型、标签这些元数据。接着,“用于提交请求的QuickDeliverase”,其实就是`QuickActionResult`,是用来把待执行的动作请求提交出去的,比如创建一个记录,调用这个类就能返回结果。还有“处理结果的QuickDeliverase”还是指`QuickActionResult`,因为同一个类既包含提交方法,返回的对象里也包含了处理结果的状态、错误信息、新记录ID等等。最后提到的各种“描述类”,是指像`QuickAction.DescribeQuickActionResult`、`QuickAction.DescribeLayoutResult`这样的类,它们能告诉你操作在界面上怎么展示、有哪些字段可用,这样你编程处理时,就知道该填什么参数了。你看,这些类把原本手动点按钮的事,变成了可以在代码里自动化进行的步骤。 可能你听到类名“QuickDeliverase”会觉得不对劲,那八成是转录错误,正确的应该是`QuickActionResult`。实际敲代码时,你会用到`QuickAction.QuickActionResult`。别担心,后面我们讲到具体示例时会看到。 现在就记住这几点:快速操作分创建和自定义;可以全局也可以绑定对象,唯独更新操作必须绑定对象;要用Apex控制它们,就去找QuickAction相关的类拿元数据,用QuickActionResult提交和处理结果,还有一系列Describe类帮你了解布局。这样你就能在触发器、批处理或者自定义API里实现自动创建记录或触发流程了。 好了,我们喝口水,然后看看下一个Slide怎么把这些类用起来。

关键词

Apex Salesforce Developer Guide