随笔分类 - Apex 和 Visualforce 开发
摘要:在 PMD 的使用过程中,可以用 Java 或 XPath 来开发代码规则。 本文讲述如何使用 XPath 来开发。 XPath 语法 XPath 是类似与 CSS 选择器的语法,主要用来选择 XML 中符合条件的节点。 PMD 将代码转化为 XML 形式的抽象语法树,所以我们可以通过 XPath
阅读全文
摘要:在 PMD 的使用过程中,可以用 Java 或 XPath 来开发代码规则。 本文讲述如何使用 Java 来开发。 AST 对应的 Java 类库 PMD 使用抽象语法树(AST)来分析代码。它本身已经创建了一系列的 Java 类库来操作不同的语法元素。 针对 Apex 语言的 6.22.0 API
阅读全文
摘要:PMD 的功能 PMD (Programming Mistake Detector) 是一个开源的静态代码检查工具。 GitHub 项目链接 静态代码检查就是在不运行代码的情况下检查代码中的内容,然后和事先制定的规则进行比对,指出代码中不符合规则的部分。 PMD 工具可以在以下方面对项目的开发过程进
阅读全文
摘要:使用 Salesforce 数据的途径 在 Lightning Web Component 中使用 Salesforce 数据有以下几种途径: 使用 lightning-record-form 系列预定义组件,直接读取和操作数据 使用 @wire 注解来绑定数据 上面两者都使用了 Lightning
阅读全文
摘要:在不同的 Salesforce 之间,我们可以使用基于 JSON web token(简称 JWT)的验证方式进行 REST 通信。本文就举例说明如何实现。 准备工作 首先假设两个 Salesforce 系统(A、B)的域名分别是: https://A.salesforce.com https://
阅读全文
摘要:Apex 企业设计模式将应用分为服务层、模型层、选择逻辑层、工作单元几个部分。FFLIB 是一个开源的 Apex 框架,可以帮助开发者快速建立相关的功能。 FFLIB 的安装 FFLIB 可以直接部署到需要使用的 Salesforce 系统中。在其 "GitHub 主页" 上可以点击 “Deploy
阅读全文
摘要:FFLIB 是一个免费的框架,对 Apex 进行了扩展。它的结构实现了 Salesforce 推荐的 "Apex 企业设计模式" 。 在学习如何使用 FFLIB 框架之前,我们先来了解一下 Apex 企业设计模式的结构。 Apex 企业设计模式 Apex 企业设计模式的结构遵循了“关注点分离”的概念
阅读全文
摘要:使用WSDL2Apex从网络服务生成Apex类 如果某个网络服务被定义在WSDL文件中,而Salesforce必须使用SOAP和网络服务进行通信,则这种情况在某些时候会为开发者带来很多麻烦。为了简化SOAP请求,可以使用Salesforce中提供的功能将此网络服务转化为Apex类。开发者可以通过此A
阅读全文
摘要:Salesforce与网络服务的通信 在Salesforce中可以利用Apex类与远程站点的网络服务进行通信。当远程网络服务支持REST方法时,开发者可以利用Apex代码进行数据的操作。 设置远程站点 在设置界面下,搜索“远程站点”,点击“安全性控制”菜单项下的“远程站点设置”链接,即可进入远程站点
阅读全文
摘要:Salesforce 数据API分类 Salesforce中提供了四种数据API接口。数据API接口为开发者提供了操作Salesforce数据的能力。它们分别是: REST API:依据RESTful方法对数据进行新建、读取、更新、删除(CRUD)处理。REST API支持JSON和XML格式。RE
阅读全文
摘要:DML 选项 在 DML 语句执行的时候可以设置选项。这些选项用 DML.Options 类来表示。 完整的介绍在 "官方文档" 中。 在建立一个 DML.Options 实例之后,可以使用 setOptions() 函数来使用。 比如: 可用的属性主要有: allowFieldTruncation
阅读全文
摘要:两种在循环中引用 SOQL 的方法 第一种方法: 第二种方法: 效果比较 第一种方法是将所有记录先从数据库中读取出来,然后放入循环进行具体的逻辑。它只需要和数据库(服务器)进行一次通信,然后读取大量数据。 第二种方法是将 SOQL 查询放在 for 循环中,for 循环的循环变量是一个列表,接下来对
阅读全文
摘要:了解 Visualforce 页面的生命周期可以让我们明白其各个元素的执行顺序、改变逻辑,从而提高开发效率,避免不必要的错误。 在 "官方文档" 中有详细的讲解。本文摘取其中的要点,作为一个总结。 Visualforce 页面的请求方式 Visualforce 页面包括两种请求方式: get 请求,
阅读全文
摘要:在使用 Apex 代码插入或更新数据的时候,若干事件会被按顺序执行。了解这些顺序可以提高调试程序的效率,也可以避免不必要的错误。 可以参考 "官方文档" 。 事件的执行顺序 1. 从数据库中读取要更新的数据记录或初始化要插入的数据 2. 更新相关的字段值 3. 如果插入或更新的请求来自标准的 Sal
阅读全文
摘要:PageReference类的作用 PageReference类位于Apex的System命名空间下。它可以用来在Apex代码中将页面跳转到指定的位置。在开发的时候,我们也可以向其中添加任意的参数。 页面跳转的代码示例 PageReference类可以用于多种情况。代码示例如下: 将页面跳转到一个外
阅读全文
摘要:Approval Process(批准过程)简介 批准过程是一个复杂的业务过程。详细的内容可以参考官方文档。 "英文版" "中文版" "官方trailhead模块" 在Apex中调用Approval Process 在Apex中可以使用以下类对Approval Process进行操作: Proces
阅读全文
摘要:Salesforce 的数据模型是基于 sObject 的。在 Apex 中,所有的标准对象、自定义对象都是继承自 sObject 的。 关于在 Apex 中得到 sObject 的信息,我们要基于两点来使用: 1. 系统类 Schema 中定义了 DescribeSObjectResult 类来保
阅读全文
摘要:用户和组概述 Salesforce中对于用户的定义主要体现于两个对象:用户(User)和组(Group)。组的成员可以是用户也可以是另一个组。 Salesforce中的组可以有多种表示方法,比如队列(Queue)等,它们在数据库中都是以组(Group)的形式储存。 Salesforce中的多种组件包
阅读全文
摘要:迭代器 迭代器(iterator)可以遍历一个集合变量中的每个元素。Apex提供了Iterator接口来让开发者实现自定义的迭代器。 Iterator接口 Iterator接口定义了两个函数: hasNext():返回Boolean类型,表示被遍历的集合变量中是否还有下一个元素 next():返回集
阅读全文
摘要:一般原则 1. 在设计页面时,我们要将页面的功能降至最少,不要包含多余的功能和数据,以最大化提高运行效率 2. 如果需要开发的功能可以通过 Salesforce 的标准功能实现,那么尽量使用标准功能,比如 工作流(Workflow Rule)、审批流程(Approval Process)等 数据量的
阅读全文
浙公网安备 33010602011771号