一线从业者撰写的中文原创内容,从入门到架构师,覆盖Salesforce全技术栈
标准控制器可以提供 Visualforce 页面所需的所有功能 因为它们包含用于标准页面的相同逻辑。例如,如果你 使用标准帐户控制器,单击 Visualforce 页面产生的行为与在 标准帐户编辑页面。但是,如果要覆盖现有功能,请通过以下方式自定义导航 应用程序,使用标注或 Web 服务,或者如果您需要更精细地控制方式 访问页面的信息,您可以编写自定义控制器或控制器 使用 Apex 的扩展: 什么......
标准列表控制器允许您创建可以显示或处理一组记录的 Visualforce 页面。现有 Salesforce 页面的示例 使用一组记录的包括列表页、相关列表、 和大规模行动页面。标准列表控制器可与 以下对象: 帐户 资产 运动 箱 联系 合同 想法 铅 机会 次序 产品2 溶液 用户 自定义对象 以下主题包括有关使用 标准列表控制器: 关联标准列表控制器 使用 Visualforce 页面 使用列表......
Visualforce 控制器是一组指令,用于指定用户在用户执行以下操作时发生的情况 与关联的 Visualforce 标记中指定的组件进行交互,例如当用户 单击按钮或链接。控制器还提供对应显示的数据的访问 ,并且可以修改组件行为。 闪电网络平台提供了许多标准控制器,其中包含相同的 用于标准 Salesforce 页面的功能和逻辑。例如,如果您使用 标准帐户控制器,单击 Visualforce 页......
您可以使用 PDF 生成 Visualforce 页面的可下载、可打印的 PDF 文件 渲染服务。通过更改标签将页面转换为 PDF。 <apex:page> <apex:page renderAs="pdf"> 呈现的 Visualforce 页面 PDF文件要么显示在浏览器中,要么被下载,这取决于 浏览器的设置。具体行为取决于浏览器、版本、 和用户设置,并且不受 Visualforce 的控制。......
默认情况下,Visualforce 自动将所需的 HTML 标记添加到页面,以确保结果是有效的 HTML(和 XML) 公文。您可以放松甚至覆盖此行为。 对于使用此自动行为的页面,Visualforce 会在两个上下文中添加 HTML 标记:更简单的请求上下文(最初加载页面时)和 呈现;和上下文, 当一个是 提交回来,使用标记发出 Ajax 请求,依此类推。GETPOSTBACK<apex:for......
Visualforce 页面和组件 输出发送到浏览器进行呈现的 HTML。Visualforce 的 HTML 生成是 复杂,自动提供页面结构、内容和样式。Visualforce 还提供了多种方法来 更改 Visualforce 的默认 HTML, 替换您自己的资源,或关联其他资源,例如 CSS 样式表或 JavaScript 文件,带有页面。 设置 Visualforce 页面的样式 设置 Vi......
为了展示 Visualforce 的基本元素,本章包括一组示例: 演示语言的功能。虽然这些示例没有涉及每个细节,但规则或 例外,新的 Visualforce 开发人员可以使用本教程来 了解 Visualforce 的工作原理,然后再继续阅读 本指南的其余部分。 这些示例分为初级和高级部分。初学者的例子主要是 使用 Visualforce 标记。高级示例除了使用 Lightning Platform......
在开始开发 Visualforce 页面和组件之前,请熟悉不同的位置 要创建它们,请执行以下操作: 构建 Visualforce 开发模式的最佳方式仅适用于具有“自定义”的用户 应用程序“权限。开发模式为您提供:每个 Visualforce 页面上包含页面视图的特殊开发页脚 状态、任何关联的控制器、指向组件参考文档的链接和页面 标记编辑器,提供突出显示、查找替换功能和自动建议 组件标记和属性名称。......
Visualforce 由一种基于标签的标记语言组成,可为开发人员提供 构建应用程序和自定义 Salesforce 用户界面的方式。借助 Visualforce,您可以: 生成向导和其他多步骤过程。 通过应用程序创建自定义流控制。 定义导航模式和特定于数据的规则,以实现最佳、高效的应用程序 互动。 有兴趣创建新的 Visualforce 组件吗?我们建议构建闪电网络 组件。它们是适用于 Sales......
Jest 是一个强大的工具,具有丰富的功能,可用于编写 JavaScript 测试。使用 Jest 为所有 Lightning Web 组件编写单元测试。 在命令行中运行 Jest 测试,或者在 IDE 中(通过一些配置)运行 Jest 测试。Jest 测试不会在浏览器中运行,也不会连接到组织,因此它们运行速度很快。在“监视模式”下运行时,它们会在您编码时为您提供即时反馈。Jest 测试仅适用于 ......
Lightning Web 组件使用标准 HTML 和 JavaScript 构建,在桌面上,它们在各种受支持的浏览器中运行。您可以使用标准浏览器和 JavaScript 调试工具(如 Chrome DevTools)在开发过程中调试组件。若要查看特定于移动设备的功能,请使用移动设备或虚拟设备内部版本。 在开发过程中运行和调试组件的最简单方法是创建一个 Lightning 页面并将您的组件添加到其......
Aura 组件和 Lightning Web 组件可以存在于同一个应用程序中。本部分通过将概念从 Aura 组件映射到 Lightning Web 组件,帮助您迁移组件并应用现有技能。 有关如何将概念从 Aura 组件映射到 Lightning Web 组件的图形说明,请参阅此 Medium 帖子。 适用于 Aura 开发人员的 Lightning Web 组件 Trailhead 模块是帮助您了......
互操作性层使 Lightning Web 组件和 Aura 组件能够在应用程序中协同工作。 您可以编写新的 Lightning Web 组件,并将其添加到包含 Aura 组件的应用程序中。或者,您可以通过将应用程序中的单个 Aura 组件替换为 Lightning Web 组件来按计划迭代迁移。 Lightning Web 组件和 Aura 组件可以协同工作,但您必须了解一些限制。 重要 Aura......
使用 Lightning Out 在 Salesforce 服务器之外运行组件。无论是在 Heroku 上运行的 Node.js 应用程序,还是防火墙内的部门服务器,都可以将您的 Lightning Web 组件添加到独立的 Aura 依赖项应用程序中。然后,无论用户身在何处,都可以运行它们。 注意 此版本包含 Lightning Out 的测试版,这意味着它是一项具有已知限制的高质量功能。您可以......
电子邮件内容生成器中的自定义组件允许营销人员和经理为其客户创建更具吸引力的电子邮件内容。 为电子邮件生成器配置组件 在 Pardot 电子邮件内容生成器中提供自定义 Lightning Web 组件,用户可以将其添加到他们的电子邮件内容中。 在组件的配置文件中,添加电子邮件内容生成器的目标。设置为 。lightningStatic__Email<isExposed>true <?xml versi......
使用 Lightning 消息服务在 Lightning 页面内的 DOM 之间进行通信。在同一 Lightning 页面中嵌入的 Visualforce 页面、Aura 组件和 Lightning Web 组件(包括实用程序栏中的组件和弹出式实用程序)之间进行通信。选择组件是订阅来自整个应用程序的消息,还是仅订阅来自活动区域的消息。 如果您要从 Salesforce Classic 切换到 Li......
组件可以发送弹出的通知以提醒用户、请求用户确认、提示响应或仅提供信息。 警报模态 使用警报模式来停止用户,并传达影响其系统、功能或页面的紧急错误。要在 Lightning Experience 中显示警报模式,请从模块导入,然后使用所需的属性进行调用。LightningAlertlightning/alertLightningAlert.open() 注意 此警报模式是原生函数的替代方法,Chro......
要在 Lightning Experience、Experience Builder 站点和 Salesforce 移动应用程序中导航,请使用导航服务 .lightning/navigation 该服务仅在 Lightning Experience、Experience Builder 站点和 Salesforce 移动应用程序中受支持。其他容器不支持它,例如 Lightning Componen......
将 Lightning Web 组件添加到您的 Visualforce 页面,以利用您在 Visualforce 中所做的任何投资。使用 Lightning Web 组件实现新功能,然后将其用于现有 Visualforce 页面。 重要 Lightning Components for Visualforce 基于 Lightning Out,这是一项强大而灵活的功能,可让您将 Aura 和 Li......
快速操作使用户能够在 Salesforce 中执行更多操作。通过自定义快速操作,您可以方便地访问最重要的信息,从而使用户的导航和工作流程尽可能顺畅。快速操作可以在记录页面上调用自定义 Lightning Web 组件。 配置组件时,可以选择在模式窗口中显示它,也可以选择无头执行其自定义代码。例如,快速操作可以打开自定义 Lightning Web 组件,其中包含允许用户创建或更新记录上特定字段的表......
创建 Lightning App Builder 中提供的自定义 Lightning Web 组件,以添加到 Outlook 和 Gmail 集成的电子邮件应用程序窗格中。 在组件的配置文件中,添加目标并设置为 。lightning__Inbox<isExposed>true <?xml version="1.0" encoding="UTF-8"?> <LightningComponentBun......
开发一个自定义属性编辑器,当管理员在 Flow Builder 中配置自定义屏幕组件或可调用操作时,该编辑器可为其提供简化的 UI。自定义属性编辑器是一个 Lightning Web 组件,它提供用于输入输入值的自定义 UI。 将自定义属性编辑器与标准属性编辑器进行比较 如果没有自定义属性编辑器,当管理员在 Flow Builder 中配置自定义流屏幕组件或可调用操作时,UI 由组件输入值的文本框......
Flow Builder 允许管理员使用流自动执行业务流程。了解如何开发和配置 Lightning Web 组件,以用作 Flow Builder 中操作和屏幕组件的流屏幕组件和自定义 UI。 创建流屏组件 正如管理员在 Lightning App Builder 中配置记录页面的用户体验一样,他们使用流屏幕组件为流用户执行相同的操作。每个屏幕都由一个或多个屏幕组件组成。 为流屏幕配置组件 要在流......
了解如何在不同的目标中使用 Lightning Web 组件,包括 Lightning Experience、Salesforce 移动应用程序和 Experience Builder 站点。 查看组织中的 Lightning 组件列表 在设置中,查看组织中 Lightning Web 组件和 Aura 组件的列表。 在“设置”中,输入“快速查找”框,然后选择“Lightning 组件”。在此页面......
Lightning Web Security 旨在让您的组件更轻松地使用安全编码实践。Lightning Locker 一直是所有 Lightning 组件的默认安全架构。Lightning Web Security (LWS) 正在取代 Lightning Locker for Lightning 组件。适用于 Lightning Web 组件和 Aura 组件的 LWS 已正式发布。 Ligh......
Lightning Locker 架构层通过将单个 Lightning 组件命名空间隔离在自己的容器中并强制执行编码最佳实践来增强安全性。Lightning Web Security (LWS) 旨在使您的组件更容易使用安全编码实践,旨在取代 Lightning Locker。Lightning Locker 一直是 Lightning 组件的默认安全架构。LWS 最初在 22 年春季开始为 Li......
无论是用户驱动还是应用调用,在不重新加载整个页面的情况下同步数据的能力都是一项关键的用户体验要求。RefreshView API 和模块提供了一种在 LWC 和 Aura 中刷新组件数据的标准方法。lightning/refresh RefreshView API 对刷新范围的详细控制使你能够创建精细的用户体验,同时保持向后兼容性。 RefreshView API 为您提供了更新组件层次结构(称为......
Lightning Web 组件可以从 Apex 类导入方法。导入的方法是组件可以通过或命令性调用的函数。@wire 在使用 Apex 方法之前,请确保没有更简单的方法来获取数据,例如,使用基本 Lightning 组件。请参阅数据指南。 重要 假设 Apex 方法提供不可变数据,即使今天可以改变数据。最佳做法是将组件接收的所有数据视为不可变数据。若要更改数据,请创建要更改的对象的浅拷贝。在处理数......
为了读取 Salesforce 数据,Lightning Web 组件使用反应式连线服务。在组件的 JavaScript 类中用于指定 Lightning 数据服务线路适配器。线路适配器定义线路服务在不可变流中预配的数据形状。@wire LDS 电线适配器基于用户界面 API 资源构建,并位于模块中。每个线路适配器都提供不同的 Salesforce 数据和元数据,从单个记录和记录列表到对象和布局架......
若要显示记录数据的行和列,请使用该组件。若要在具有结构层次结构的表中显示数据,例如客户记录和关联的联系人,请使用该组件。lightning-datatablelightning-tree-grid 比较和用于数据显示lightning-datatable lightning-tree-grid 这些组件类似,但有一个 V 形按钮,用于展开和折叠具有子记录的行。lightning-tree-grid......
Salesforce 为 Lightning Web 组件提供了多种处理数据的方法。始终从最简单的解决方案开始,然后转向允许根据需要进行更多自定义的解决方案。 数据准则 处理 Salesforce 数据的最简单方法是使用基于 Lightning 数据服务 (LDS) 构建的基本 Lightning 组件。 如果您需要更大的灵活性,请直接使用 Lightning 数据服务线路适配器。每个电线适配器提......
Lightning Web 组件调度标准 DOM 事件。组件还可以创建和调度自定义事件。使用事件向上传达组件包含层次结构。例如,子组件 调度一个事件,以告知其父组件 ,用户选择了它。c-todo-itemc-todo-app Lightning Web 组件中的事件基于 DOM 事件构建,DOM 事件是每个浏览器中可用的 API 和对象的集合。 DOM 事件系统是一种包含这些元素的编程设计模式。 ......
注意 此功能是一项测试版服务。客户可自行决定是否试用此类测试版服务。对测试版服务的任何使用均受协议和条款中提供的适用测试版服务条款的约束。 在 LWC 中使用第三方 Web 组件可以节省在 LWC 中重新创建相同组件的时间。要使用第三方 Web 组件,请先启用 Lightning Web Security。Lightning Locker 不支持使用自定义元素,自定义元素是第三方 Web 组件的关......
Lightning Web 组件的生命周期由框架管理。框架创建组件,将它们插入到 DOM 中,呈现它们,然后将它们从 DOM 中删除。它还监视组件的属性更改。 生命周期流程 此图显示了从创建到渲染的组件生命周期流程。 此图显示了从 DOM 中删除组件实例时发生的情况。 创建组件时运行代码 该方法在创建组件实例时触发。不要在构造过程中向 host 元素添加属性。您可以在任何其他生命周期挂钩中向 ho......
辅助软件和辅助技术使残障用户能够使用您构建的产品。开发组件,以便所有用户都能感知、理解、导航并与之交互。 我们建议您在创建自定义组件时遵循 WCAG 辅助功能指南。 组件辅助功能属性 若要使组件可用于屏幕阅读器和其他辅助技术,请在组件上使用 HTML 属性。HTML 属性描述它们所包含的 UI 元素。辅助功能软件通过大声朗读属性来解释 UI 元素。 辅助功能的一个关键部分是属性的使用。屏幕阅读器向......
Lightning 组件可以访问全局 Salesforce 值,例如标签、资源和用户。 访问静态资源 从作用域模块导入静态资源。静态资源可以是存档(如 .zip 和 .jar 文件)、图像、样式表、JavaScript 和其他文件。@salesforce/resourceUrl 在导入静态资源之前,请先创建并上传文件。 创建并上传静态资源 要创建和上传静态资源,请执行以下操作: 在“设置”中,输入......
文档对象模型 (DOM) 表示 HTML 页面,以便您可以使用 JavaScript 或标准 DOM API 处理其内容、结构和样式。例如,您可以使用标准 DOM API 访问组件中的元素,无论是否使用模板引用选择器。虽然我们不建议操作 DOM,但某些第三方 JavaScript 库需要接管 DOM。querySelector() 有关 DOM 的更多信息,请参阅 MDN Web 文档:文档对象模......
每个组件都必须有一个 JavaScript 文件。Lightning Web 组件中的 JavaScript 文件是 ES6 模块。 共享 JavaScript 代码 若要在组件之间共享代码,请在服务组件中创建一个 ES6 模块,并使用标准 JavaScript 语法导出要共享的变量或函数。 ES6 模块是一个 JavaScript 文件,它显式导出其他模块可以使用的变量或函数。模块使构建代码变得......
在组件的 JavaScript 类中声明字段。在组件的模板中引用它们以动态更新内容。 字段和属性几乎是可以互换的术语。组件作者声明类中的字段。类的实例具有属性。对于组件使用者来说,字段是属性。在 Lightning Web 组件中,只有组件作者用来修饰的字段才能作为对象属性公开提供给使用者。@api 属性和属性几乎是可以互换的术语,可能会造成混淆。一般来说,在 HTML 中我们谈论属性,在 Jav......
您可以在另一个组件的主体中添加组件。组合使您能够从更简单的构建块组件构建复杂的组件。 注意 允许继承,但不建议这样做,因为组合通常更有效。若要在组件之间共享逻辑,请使用仅包含逻辑的模块。请参阅其他 JavaScript 文件。如果您选择使用继承,请注意,它不适用于 Lightning Locker 下的命名空间。您必须启用 LWS 才能跨命名空间使用继承。不能在任一安全体系结构中扩展命名空间。li......
要为您的组件提供 Lightning Experience 外观,请使用 Lightning Design System。要走自己的路,请编写自己的 CSS。 使用 Lightning Design System 设置组件样式 Salesforce Lightning Design System (SLDS) 是一个 CSS 框架,可提供与 Lightning Experience 一致的外观。使......
Lightning Web 组件是具有自己的 API 的可重用自定义 HTML 元素。 请查看这些部分,了解有关创建自己的 Lightning Web 组件的更多信息。 定义组件 HTML 模板 CSS的 组成 字段、属性和特性 Javascript的 访问 Salesforce 资源 组件可访问性 生命周期钩子 定义组件 呈现 UI 的 Lightning Web 组件必须包含 HTML 文件、......
使用 Lightning Web 组件 (LWC) 框架在 Salesforce 平台上构建自定义用户界面、Web 和移动应用程序以及数字体验。Lightning Web 组件是使用 HTML 和 JavaScript 构建的自定义 HTML 元素。 Salesforce 提供基于 Lightning Design System 构建的基本 Lightning Web 组件,用作自定义体验的构建块......
本附录提供了 Apex 应用程序的示例。这是一个比 Hello World 示例。 运输发票演练 装运发票示例代码 装运发票示例演练 装运发票示例代码 装运发票示例演练 本节中的示例应用程序包括混合了的传统 Salesforce 功能 与 Apex。Apex 的许多句法和语义特征,以及常见的习语,是 在此应用程序中进行了说明。 注意 装运发票示例需要自定义对象。您可以 您可以自行创建这些代码,或者......
您无法在 Salesforce 生产组织中开发 Apex。您的开发工作是 在沙盒或 Developer Edition 组织中完成。您可以使用以下方法部署 Apex: 更改集 Salesforce 扩展 针对 Visual Studio Code 蚂蚁迁徙 工具 肥皂 应用程序接口 使用元数据 API 或工具 API 的第三方工具 带有 Salesforce DX 插件的 VS Code 部署时编......
Apex 提供了一个测试框架,允许您编写单元测试,运行 测试,检查测试结果,并有代码覆盖率结果。 让我们来谈谈单元测试、测试的数据可见性以及可用的工具 在 Lightning 平台上用于测试 Apex。我们还将介绍测试最佳实践 以及一个测试示例。 注意 若要保护数据的隐私,请确保测试错误消息和异常 详细信息不包含任何个人数据。Apex 异常处理程序和测试 框架无法确定敏感数据是否包含在用户定义的消......
异常会记录中断正常代码流的错误和其他事件 执行。 语句用于 生成异常,而 、 和 语句用于从异常中正常恢复。throwtrycatchfinally 有许多方法可以处理代码中的错误,包括使用断言(如调用)或返回错误 代码或布尔值,那么为什么要使用异常呢?使用异常的优点是 它们简化了错误处理。异常从被调用的方法冒泡到 caller,根据需要设置多个级别,直到找到处理错误的语句。这种冒泡缓解了 您不必......
在沙盒中开发 Apex 代码,并使用开发人员控制台对其进行调试,然后进行调试 原木。对代码进行单元测试,然后使用包将其分发给客户。 调试ApexApex 提供调试支持。您可以使用开发人员控制台和调试日志来调试 Apex 代码。 测试 Apex Apex提供了一个测试框架,允许您编写单元测试、运行测试、检查测试结果以及获得代码覆盖率结果。 部署 Apex您无法在 Salesforce 生产组织中开发......
可以使用类提供的方法保护数据。 Crypto 类中的方法提供标准 用于创建摘要、消息身份验证代码和签名的算法 作为加密和解密信息。这些可用于保护 Salesforce,或与 Google 或 Amazon 等外部服务集成 网络服务 (AWS)。Crypto 示例:集成 Amazon WebServices 以下示例演示了 Amazon WebServices 与 销售人员: public clas......
Apex 提供了实用程序类,用于创建和解析 使用流和 DOM 的 XML 内容。 本节包含有关 XML 支持的详细信息。 使用 Streams读取和写入 XML Apex 提供了用于使用流读取和写入 XML 内容的类。 使用 DOM读取和写入 XML Apex 提供了使您能够使用 DOM(文档对象模型)处理 XML 内容的类。 使用流读取和写入 XML Apex 提供了用于使用流读取和写入 XML......
Apex 中的 JavaScript 对象表示法 (JSON) 支持可实现 Apex 的序列化 对象转换为JSON格式,并对序列化的JSON内容进行反序列化。Apex 提供了一组类,用于公开 JSON 序列化的方法和 反序列化。下表描述了可用的类。 类描述System.JSON包含用于将 Apex 对象序列化为 JSON 格式的方法,以及 反序列化使用此类中的方法序列化的 JSON 内容。seri......
Apex 允许您使用标注与外部 SOAP 和 REST Web 服务集成。 您可以使用用于 JSON、XML、数据安全和编码的实用程序。通用实用程序 对于带有文本字符串的正则表达式,也提供了。 使用 Apex 调用标注 JSON 支持 Apex 中的 JavaScript 对象表示法 (JSON) 支持将 Apex 对象序列化为 JSON 格式,并对序列化的 JSON 内容进行反序列化。 XML ......
支持类允许您与支持中心常用的记录进行交互, 例如营业时间和案例。 与企业合作 小时 营业时间用于指定营业时间 您的客户支持团队运作的地方,包括多项业务 多个时区的小时数。本示例查找时间 1 从 startTime 开始的工作时间,返回本地的 Datetime 时区。它通过查询 BusinessHours 来获取默认工作时间。 此外,它还调用该方法。 BusinessHoursadd // Get ......
Salesforce Sites 允许您通过继承来构建自定义页面和 Web 应用程序 闪电平台功能,包括分析、工作流程和审批,以及可编程 逻辑。 您可以使用 和 类的方法在 Apex 中管理您的 Salesforce 站点。SiteCookie 重写 Salesforce 站点的 URL 站点提供内置逻辑,可帮助您显示用户友好的 URL 和指向站点访问者的链接。创建规则以重写在地址栏中键入的、从书......
通过 Apex 的 Salesforce 报告和仪表板 API,您可以以编程方式访问您的 报表生成器中定义的报表数据。 该 API 使您能够将报表数据集成到任何 Web 或移动应用程序中,内部或 在 Salesforce 平台之外。例如,您可以使用 API 触发带有 每个季度表现最好的销售代表的快照。 通过 Apex 的 Salesforce 报告和仪表板 API 彻底改变了您访问和 可视化您的数......
Apex 代码可以通过任何 Salesforce Connect 适配器访问外部对象数据。使用 Apex Connector Framework,用于为 Salesforce Connect 开发自定义适配器。自定义适配器可以从外部系统检索数据并在本地合成数据。 Salesforce Connect 在 Salesforce 外部对象中表示该数据,使用户和 Lightning Platform 可......
Salesforce Knowledge 是一个知识库,用户可以在其中轻松创建和管理 内容,称为文章,并快速查找和查看他们需要的文章。 使用 Apex 访问以下 Salesforce Knowledge 功能: 知识管理除了 Salesforce 用户界面外,用户还可以使用 Apex 编写、发布、存档和管理文章。 升级的搜索词 升级的搜索词对于推广 Salesforce Knowledge 文章非......
Lightning Platform 平台缓存层提供更快的性能和更好的可靠性 缓存 Salesforce 会话和组织数据时。指定要缓存的内容以及不缓存多长时间 使用自定义对象和设置或重载 Visualforce 视图状态。平台缓存 通过分配缓存空间来提高性能,使某些应用程序或操作不会 从他人那里窃取容量。 因为 Apex 在多租户环境中运行,缓存数据在内部并存 缓存数据,缓存对核心 Salesfo......
若要为权限集组提供 Apex 测试覆盖率,请使用类中的方法编写测试。 System.Test.calculatePermissionSetGroup() 该方法强制立即计算 聚合指定权限集组的权限。由于强制计算很重要 针对 Apex CPU 限制,并且可能需要复杂的数据设置,最佳做法是尽量减少 执行此操作的次数。calculatePermissionSetGroup() 将此测试设置为在“测试设置......
Salesforce使用类型和组件来表示组织配置和 定制。元数据用于管理员控制或配置的组织设置 已安装的应用和程序包应用的信息。 使用命名空间中的类访问 来自 Apex 代码中的任务的元数据,包括:Metadata 自定义应用安装或升级 - 在安装(或升级)期间或之后,您的应用可以 创建或更新元数据,让用户配置您的应用。 安装后自定义应用程序 - 安装应用程序后,您可以在 Apex 允许管理员使用......
Flow Builder 允许管理员构建应用程序(称为流),这些应用程序通过收集来自动执行业务流程 数据并在您的 Salesforce 组织或外部系统中执行某些操作。 例如,您可以创建一个流来编写客户支持中心或 为销售团队生成实时报价。您可以在 Visualforce 页面或 Aura 组件中嵌入流程,然后 在 Apex 控制器中访问它。 获取流变量您可以在 Apex 中检索特定流的流变量。 从可......
您可以使用 Apex 处理入站和出站电子邮件。 将 Apex 与以下电子邮件功能结合使用: 入站电子邮件使用 Apex 处理发送到 Salesforce 的电子邮件。 出站电子邮件使用 Apex 处理从 Salesforce 发送的电子邮件。 入站电子邮件 使用 Apex 处理发送到 Salesforce 的电子邮件。 您可以使用 Apex 接收和处理电子邮件和附件。Apex 收到电子邮件 电子邮......
Apex 中的 DataWeave 使用 Mulesoft DataWeave 库从一个库读取和解析数据 格式化、转换并以其他格式导出。您可以创建 DataWeave 脚本 作为元数据,并直接从 Apex 调用它们。与 Apex 一样,DataWeave 脚本在 Salesforce 应用程序服务器,在执行时强制执行相同的堆和 CPU 限制 法典。 企业应用程序通常需要在 CSV 等格式之间转换数......
为 ChatterMessage 编写一个触发器,以自动审核 组织或 Experience Cloud 站点中的私人消息。使用触发器确保消息 符合贵公司的邮件策略,并且不包含列入黑名单的内容 的话。 适用于:Salesforce Classic适用于:Enterprise、Performance、Unlimited 和 Developer Edition 用户权限 需要要保存 ChatterMes......
本主题介绍用于使用公共 Connect 的类和方法 Apex 功能。 也可以直接转到 ConnectApi 命名空间参考内容。 使用操作链接 操作链接是源元素上的按钮。单击操作链接可以将用户带到网页、启动文件下载或调用对 Salesforce 或外部服务器的 API 调用。操作链接包括 URL 和 HTTP 方法,并且可以包含请求正文和标头信息,例如用于身份验证的 OAuth 令牌。使用操作链接将......
在 Apex 中使用 Connect 开发自定义体验 Salesforce的。Connect in Apex 提供对 B2B Commerce 的编程访问, CMS 托管内容、Experience Cloud 站点、主题等。创建 Apex 显示 Chatter 摘要的页面,发布带有提及和主题的摘要项目, 并更新用户和群组照片。创建更新 Chatter 的触发器 饲料。 许多 Connect RES......
查看平台的演练、用例和参考资料。 CommercePayments 若要查看类参考文档,请转到 CommercePayments 命名空间。CommercePayments 支付网关适配器 支付网关适配器代表了 Salesforce 中的支付平台与外部支付网关之间的桥梁。 付款授权撤销服务授权撤销是通过解除客户付款方式中的资金冻结来否定授权的交易。 令牌化服务信用卡令牌化过程将敏感的客户信息替换为......
Salesforce 用户界面的许多功能都在 Apex 中公开,因此您可以 在 Lightning 平台中以编程方式访问它们。例如,您可以编写 Apex 代码 发布到 Chatter 摘要,或使用审批方法提交和审批流程 请求。 操作 创建快速操作,并将其添加到 Salesforce Classic 主页、Chatter 选项卡、Chatter 小组和记录详细信息页面。从标准快速操作(例如创建和更新......
Apex Transactions 确保数据的完整性。Apex 代码作为原子的一部分运行 交易。调速器执行限制确保有效利用资源 Lightning Platform 多租户平台。 大多数调控器限制是按事务设置的,有些则不是,例如 24 小时限制 限制。 为确保 Apex 遵守调速器限制,应使用某些设计模式, 例如查询中的批量调用和外键关系。 Apex 事务Apex 事务表示作为单个单元执行的一组操......
您可以使用电子邮件服务来处理 入站电子邮件。例如,您可以创建自动创建的电子邮件服务 基于邮件中的联系人信息的联系人记录。您可以将每个电子邮件服务与一个或多个 Salesforce 生成的电子邮件相关联 用户可以向其发送消息进行处理的地址。授予多个用户访问权限 对于单个电子邮件服务,您可以: 关联多个 Salesforce 生成的电子邮件地址与电子邮件服务并分配 这些地址给用户。 关联单个 Sale......
您可以将 Apex 方法公开为 SOAP Web 服务,以便外部应用程序 可以访问您的代码和应用程序。 若要公开 Apex 方法,请使用 Web 服务方法。 提示 Apex SOAP Web 服务允许外部应用程序调用 Apex 方法 通过 SOAP Web 服务。Apex 标注使 Apex 能够调用外部 Web 或 HTTP 服务业。 Apex REST API 将您的 Apex 类和方法公开为 ......
可以使用触发器调用 Apex。Apex 触发器使您能够执行 在更改 Salesforce 记录之前或之后执行自定义操作,例如插入、更新或 删除。触发器是在以下类型的操作之前或之后执行的 Apex 代码: 插入 更新 删除 合并 更新插入 取消删除 例如,您可以在将对象的记录插入到 数据库,在删除记录之后,甚至在从回收中恢复记录之后 站。 您可以为支持触发器的顶级标准对象定义触发器,例如 联系人或客......
您可以在以下位置以编程方式访问 Salesforce 用户界面的许多功能 Apex,您可以与外部 SOAP 和 REST Web 服务集成。您可以运行 Apex 代码 使用多种机制。Apex 代码在原子事务中运行。 调用 Apex 您可以使用触发器、异步或作为 SOAP 或 REST Web 服务运行 Apex代码。 Apex 事务和调速器限制Apex 事务可确保数据的完整性。Apex 代码作为原......
自定义设置类似于自定义对象。应用程序开发人员可以创建自定义 数据集,并关联组织、配置文件或特定用户的自定义数据。都 自定义设置数据在应用程序缓存中公开,无需 对数据库进行重复查询的开销。公式字段、验证规则、流、Apex 和 然后,SOAP API 可以使用此数据。 警告 保护 仅适用于标记为受保护并安装到订阅者的自定义设置 组织作为托管包的一部分。否则,它们将被视为公共习俗 设置,并且对所有配置文......
了解安全性 Apex 和 Visualforce 页面的强大组合使 Lightning Platform 开发人员向 Salesforce 或 创建一个在 Lightning 平台内运行的新独立产品。但和 任何编程语言,开发人员都必须认识到潜在的安全相关 陷阱。 Salesforce 在 Lightning Platform 中整合了多项安全防御措施。但 粗心的开发人员仍然可以绕过内置的防御措施,......
当您使用 Apex 时, 代码的安全性至关重要。您需要为 Apex 类添加用户权限并强制执行 共享规则。请继续阅读,了解 Apex 托管共享和 获取一些安全提示。 强制执行共享规则 强制执行对象和字段权限 对数据库操作强制实施用户模式 通过使用带有特殊关键字的 SOQL 或 SOSL 查询,或者使用 DML 方法重载,可以在用户模式下运行数据库操作,而不是在默认系统模式下运行数据库操作。 使用 s......
Dynamic Apex 通过为开发人员提供 能够: 访问 sObject 和字段描述信息描述信息提供有关 sObject 和字段属性的元数据信息。 例如,sObject 的描述信息包括 该类型的 sObject 支持创建或取消删除等操作, sObject 的名称和标签、sObject 的字段和子对象, 等等。字段的描述信息包括 字段有默认值,是否为计算字段,类型 的领域,依此类推。请注意,描述信......
您可以在列表、集和映射中管理 sObject。 sObjects 列表 列表可以包含其他类型的元素中的 sObjects。sObject 列表可用于批量处理数据。 对 sObject 列表进行排序 使用该方法,可以对 sObject列表进行排序。List.sort 扩展 sObject 和列表表达式 对象集 集可以包含 sObject 以及其他类型的元素。 sObject 映射映射键和值可以是任何......
您可以评估 Salesforce 对象查询语言 (SOQL) 或 Salesforce 对象搜索 语言 (SOSL) 语句在 Apex 中动态,方法是将语句括在正方形中 括弧。 SOQL 语句 SOQL 语句的计算结果为方法查询的 sObjects、单个 sObject 或 Integer 列表。count例如,您可以检索名为 顶点: List<Account> aa = [SELECT Id, ......
以下是您可能想了解的有关使用数据操作语言的一些事项。 设置 DML 选项 交易控制 在 DML 操作中不能一起使用的 sObject 某些 sObject(有时称为设置对象)上的 DML 操作不能与同一事务中其他 sObject 上的 DML 混合使用。之所以存在此限制,是因为某些 sObject 会影响用户对组织中记录的访问。您必须在不同的事务中插入或更新这些类型的 sObject,以防止使用不......
您可以在 Lightning 平台持久性层中添加数据并与之交互。这 sObject 数据类型是保存数据对象的主要数据类型。您将使用数据 操作语言 (DML) 用于处理数据,并使用查询语言检索数据, 例如(),等等。 使用 sObjects在本开发人员指南中,该术语是指可以存储在 Lightning 平台数据库中的任何对象。sObject 数据操作语言Apex 使您能够在数据库中插入、更新、删除或还......
为了帮助向后兼容,类和触发器与版本一起存储 特定 Salesforce API 版本的设置。 如果 Apex 类或触发器引用组件,例如 自定义对象,在已安装的托管包中,每个托管包的版本设置 类引用的包也会被保存。这确保了作为 Apex, API,并且托管包中的组件在后续发布的版本中不断发展,一个 类或触发器仍绑定到具有特定已知行为的版本。 为已安装的包设置版本可确定公开的 接口和任何 Apex 代......
Apex 提供了多种异步运行 Apex 代码的方法。选择 最适合您需求的异步 Apex 功能。 下表列出了异步 Apex 功能以及何时使用每个功能。 异步 Apex 功能何时使用可排队的Apex启动长时间运行的操作并获取其 ID将复杂类型传递给作业链接作业预定Apex计划 Apex 类按特定计划运行批处理Apex对于需要批量执行的具有大量数据的长时间运行的作业,例如 作为数据库维护作业对于需要比常......
Apex 类和 Java 类的工作方式相似,但有一些重要的 差异。以下是 Apex 类和 Java 类之间的主要区别: 内部类和接口只能在外部内部声明一个级别 类。 静态方法和变量只能在顶级类中声明 定义,而不是在内部类中。 内部类的行为类似于静态 Java 内部类,但不需要关键字。内部类可以 具有像外部类一样的实例成员变量,但没有隐式 指向外部类的实例的指针(使用 关键字)。staticthis......
通常,所有类型信息在运行时都可用。这意味着 Apex 启用强制转换,即将一个类的数据类型分配给一个数据 另一个类的类型,但仅当一个类是另一个类的子类时。使用铸造 当您要将对象从一种数据类型转换为另一种数据类型时。 在以下示例中,扩展 类 .因此,它是一个子类 那个班级。这意味着您可以使用强制转换将对象与父对象一起分配 数据类型 () 添加到对象的 子类数据类型 ()。CustomReportRep......
Apex 提供了 if-else 语句、switch 语句和循环来控制 代码执行。语句通常按照它们出现的顺序逐行执行。 使用控制流语句,可以根据某个条件使 Apex 代码执行, 或者让代码块重复执行。 条件 (If-else) 语句 Apex 中的条件语句的工作方式与 Java 类似。 Switch 语句 Apex 提供了一个语句,用于测试表达式是否与多个值之一匹配,并相应地分支。switch L......
与 Java 一样,您可以在 Apex Class中创建类。类是用于创建对象的模板或蓝图。对象是类的实例。 例如,该类描述整个购买 订单,以及您可以使用采购订单执行的所有操作。类的实例是特定的采购订单 您发送或接收的内容。PurchaseOrderPurchaseOrder 所有对象都有状态和行为,即 对象知道自己,以及对象可以做的事情。状态 PurchaseOrder 对象(它所知道的对象)包括......
接口就像一个类,其中没有任何方法 已实现 - 方法签名存在,但每个方法的主体为空。自 使用接口,另一个类必须通过为所有方法提供主体来实现它 包含在接口中。 接口可以为代码提供抽象层。他们分离特定的 从该方法的声明中实现方法。这样你就可以拥有 基于特定应用程序的方法的不同实现。 定义接口类似于定义新类。例如,一家公司可以有 两种类型的采购订单,一种来自客户,另一种来自客户 他们的员工。两者都是一种采......
Apex 提供了 关键字 final, instanceof, super, this, transient, with sharing and without sharing 使用 final 关键字 使用 instanceof 关键字 使用 super 关键字 使用 this 关键字 使用 transient 关键字 使用 with sharing、without sharing 和 inhe......
附注 Apex 注解修改了方法或类的使用方式,类似于 Java 中的注解。注释使用初始符号定义,后跟相应的关键字。 @ 若要向方法添加批注,请在方法或类之前指定它 定义。例如: global class MyClass { @Future Public static void myMethod(String a) { //long-running Apex code } } Apex 支持以下注解......
什么是Apex? Apex 是一种强类型、面向对象的编程语言,允许开发人员 在 Salesforce 服务器上执行流和事务控制语句,并结合 对 API 的调用。使用看起来像 Java 的语法,并且像存储的数据库一样 过程中,Apex 使开发人员能够将业务逻辑添加到大多数系统事件中,包括 按钮单击、相关记录更新和 Visualforce 页面。Apex 代码可以通过以下方式启动 Web 服务请求和来......
Apex 就像 Salesforce 的 Java。它使您能够添加数据并与之交互 Lightning 平台持久性层。它使用类、数据类型、变量和 if-else 语句。您可以根据条件使其执行,也可以执行代码块 反复。 数据类型和变量Apex 使用数据类型、变量和相关语言结构,例如枚举、常量、表达式、运算符和赋值语句。 控制流语句Apex 提供 if-else 语句、switch 语句和循环来控制代码......
表达式是由变量、运算符和方法调用组成的构造,这些变量、运算符和方法调用 计算结果为单个值。 表达式是由变量、运算符和方法调用组成的构造,其计算结果为单个值。 表达式运算符 表达式可以使用运算符相互连接以创建复合表达式。 安全导航运算符 使用安全导航运算符() 替换对 null 引用的显式顺序检查。此运算符使尝试对 null 值进行操作的表达式短路,并返回 null 而不是引发 NullPointe......
学习目标 完成本单元后,您将能够: 列出Lightning Web组件的优点。 描述Aura组件和Lightning Web组件如何协同工作。 确定何时迁移组件。 一种新的编程模型 您现在可以在两种编程模型中开发Lightning组件:原始模型(Aura组件)和新模型(Lightning Web组件)。就在您掌握了Aura组件的开发之后,我们就提供了Lightning Web组件!为什么,哦为什么......
学习目标 完成本单元后,您将能够: 将HTML和标记从Aura组件迁移到Lightning Web组件。 将CSS从Aura组件迁移到Lightning Web组件。 梦之屋应用 比较Aura Component和Lightning Web Components编程模型的最佳方法是查看两个模型中编写的相似组件的代码。 我们将研究DreamHouse应用程序中的某些组件,该应用程序是Salesfor......
学习目标 完成本单元后,您将能够: 将JavaScript从Aura组件迁移到Lightning Web组件。 在Aura组件和Lightning Web组件之间共享代码。 使用JavaScript模块 JavaScript是Lightning Web组件的心脏。没有JavaScript,组件就是毫无生气的主要是HTML。当我们看到Aura组件中的属性如何映射到JavaScript属性时,我们可以......
学习目标 完成本单元后,您将能够: 使用基本组件创建用于处理单个记录的表单。 使用有线服务获取数据。 创建和更新数据。 调用Apex方法。 没有任何数据的组件可能看起来不错,但内部感觉有些空白。在本单元中,我们填补了这一空白,并比较了Aura和Lightning组件如何读写Salesforce数据。 如果您为Aura组件开发了Apex类,则可以在Lightning Web组件中重用Apex。但是,......
学习目标 完成本单元后,您将能够: 组成组件。 使用插槽。 列出两种编程模型的数据绑定行为之间的差异。 您可以在另一个组件的主体内添加组件。这种组件组成使您可以从更简单的构建块组件中构建复杂的组件。 在大型应用程序中,将应用程序与一组较小的组件组合在一起以使代码更易于重用和维护是很有用的。 的 闪电 命名空间包含许多基本组件,例如 闪电按钮,可用于构建组件。有关更多详细信息,请参见组件库。 了......
学习目标 完成本单元后,您将能够: 描述两种编程模型在事件上的差异。 将事件从Lightning Web组件发送到Aura组件。 单独隔离的组件可能很有用,但是当组件开始相互交谈时,真正的应用程序魔术就会发生。这就是事件的源头。使用事件在组件之间进行通信是Web标准,而事件对于Aura组件和Lightning Web组件中的通信都是至关重要的。 组件事件成为DOM事件 将Aura组件中的组件事件迁......
学习目标 完成本单元后,您将能够: 列出闪电组件框架的主要优点。 说明如何同时使用低代码和专业代码工具来提高生产率。 描述构成Lightning Web组件的标准,服务和文件。 嘿Visualforce开发人员,欢迎来到闪电体验! 如果您是经验丰富的Visualforce开发人员,并且希望使用最佳的Lightning Experience工具构建现代且引人入胜的用户体验,那么您将找到合适的位置。 ......
📚 本站共收录 1568 篇 Salesforce 中文技术文章,涵盖开发、运维、认证、行业方案等领域。
由一线从业者撰写,持续更新中。