随笔分类 -  Apex 和 Visualforce 开发

摘要:Salesforce 中的文件夹 在 Salesforce 中,我们可以建立各种文档、报表、仪表板、电子邮件模板等。它们都被保存在相应的文件夹中。 Salesforce 的后端将这些文件夹保存为 Folder 类型的对象。这样,我们就可以在 Apex 代码中通过 Folder 对象对文件夹进行操作。 阅读全文
posted @ 2018-08-22 15:26 程程哥 阅读(425) 评论(0) 推荐(0)
摘要:startTest和stopTest的使用 在Apex的Test类中,有startTest和stopTest两个函数。这两个函数经常配对使用。 每个单元测试函数都只能调用它们一次。 startTest函数标明了测试的开始。在使用它之前,测试数据应该已经建立完成。 stopTest函数标明了测试的结束 阅读全文
posted @ 2018-08-22 15:25 程程哥 阅读(1487) 评论(0) 推荐(0)
摘要:在进行团队开发的时候,我们经常要对 pull request 进行代码审查,从而合并不同成员提交的代码。 我们在审查 pull request 的时候可能没有时间去查看代码的整体结构,而着重于被修改的部分。这时,我们可以从以下几个方面入手,检验代码的质量。 对于 Apex 代码的部分,本文参考了 " 阅读全文
posted @ 2018-05-16 23:57 程程哥 阅读(875) 评论(0) 推荐(0)
摘要:外部对象(External Object) 在Salesforce中,管理员或开发者可以通过“外部对象”将其他系统中的数据虚拟地展现为Salesforce的对象。每个外部对象都要连接到一个外部数据源(External Data Source)。 在开发的时候,外部对象和Salesforce内部的标准 阅读全文
posted @ 2018-05-04 04:48 程程哥 阅读(1157) 评论(0) 推荐(0)
摘要:自定义标签简介 Salesforce 中自定义标签(Custom Label)的作用是存储一般性的文本,可以用于 Apex、Visualforce 页面、Lightning 组件等地方,用于显示提示信息、错误信息等。 与此同时,当系统管理员在“翻译工作台”模块中设置了多种语言之后,我们可以对每个标签 阅读全文
posted @ 2018-04-04 23:57 程程哥 阅读(629) 评论(0) 推荐(0)
摘要:简档(Profile)中的 Visualforce 页面访问权限 在Salesforce中,对于自定义的简档,可以设置“Visualforce 页面访问”的权限。 Visualforce 页面权限的范围 当一个简档拥有了Visualforce页面的访问权限,也得到了和该页面相关的一些内容的访问权限, 阅读全文
posted @ 2018-03-07 02:17 程程哥 阅读(751) 评论(0) 推荐(0)
摘要:通过Salesforce,我们可以配置或开发出功能强大的网络应用。与此同时,无论作为管理员还是开发者,我们都要面对数据安全的问题。 常见的数据安全隐患有: SQL注入 跨站脚本攻击 跨站请求伪造 点击劫持 重定向攻击 本文将阐述在Salesforce中对于上述隐患的基本防护措施。 SOQL注入 SQ 阅读全文
posted @ 2018-01-19 17:12 程程哥 阅读(1354) 评论(0) 推荐(0)
摘要:动态建立Lightning组件 组件化前端开发是Lightning框架的优点之一。在进行Lightning应用开发时,我们可以将组件进行嵌套、引用,从而实现模块的封装和重用,提高开发效率。 组件的嵌套和引用最常用的方法是在Lightning组件中直接使用组件标签,比如: 在这段代码中,正在进行开发的 阅读全文
posted @ 2018-01-14 06:28 程程哥 阅读(852) 评论(0) 推荐(0)
摘要:在本文中,我们将通过一个示例说明如何将“流”(Visual Flow)用于Visualforce页面。 更全面的知识可以参考 "官方文档" 。 创建流 我们要创建一个流,它的作用是得到一个“客户”(Account)变量,然后根据其中的自定义字段“是否破产”(Bankrupt__c)来决定是否在客户名 阅读全文
posted @ 2017-12-22 23:27 程程哥 阅读(1366) 评论(0) 推荐(0)
摘要:Visual Flow(流) Salesforce提供了几种自动化流程工具,其中的Visual Flow(流)可以用来实现用户界面和逻辑,并对数据进行CRUD(Create 创建,Read 读取,Update 更改,Delete 删除)的操作。 从开发者的角度来说,我们可以把“流”看作是Apex代码 阅读全文
posted @ 2017-12-16 04:13 程程哥 阅读(1211) 评论(0) 推荐(0)
摘要:Visualforce框架是遵循MVC结构的。Visualforce页面代表了“视图”部分,Salesforce的各种对象代表了“模型”部分,而Apex则代表了“控制器”部分。 Visualforce页面绑定控制器 在Visualforce页面中的“apex:page”标签里可以绑定控制器。 控制器 阅读全文
posted @ 2017-12-01 02:08 程程哥 阅读(2814) 评论(1) 推荐(0)
摘要:Visualforce Visualforce是一个和Apex语言相匹配的开发框架。开发者可以使用Visualforce和Apex建立自定义网络应用程序。 Visualforce的基本功能类似于前端框架,可以构建页面,与后端的Apex进行数据交流,并将结果显示给用户。在MVC结构中扮演V的角色。 V 阅读全文
posted @ 2017-11-29 21:01 程程哥 阅读(1203) 评论(0) 推荐(0)
摘要:Developer Console是Salesforce提供的一个基于浏览器的集成开发环境。在Developer Console中,开发者可以新建、修改各种Apex、Visualforce、Lightning组件,并且有强大的日志、测试、查询、断点调试功能。 本文将简单介绍Developer Con 阅读全文
posted @ 2017-11-27 03:32 程程哥 阅读(2621) 评论(0) 推荐(0)
摘要:Apex的对象共享 在Apex中,每个对象都有一个“共享”对象,其中存储了该对象的共享设定。 这种共享对象以“share”结尾。比如Account的共享对象是AccountShare,Contact的共享对象是ContactShare。对于自定义对象,其对应的共享对象是以“__share”结尾,比如 阅读全文
posted @ 2017-11-24 23:10 程程哥 阅读(961) 评论(0) 推荐(0)
摘要:Apex计划作业框架的实现 在本文中,我们实现一个简单的“计划作业框架”,用于实现数据的定时自动处理。 Apex相关接口 Apex中提供了一组接口用来实现数据的处理。我们主要使用以下两个: Schedulable:数据的定时处理 Batchable:数据的批量处理 示例情景 本文以如下情景为例,实现 阅读全文
posted @ 2017-11-17 05:04 程程哥 阅读(1590) 评论(0) 推荐(0)
摘要:异步Apex类 一个Apex类可以定义为异步类,用于异步执行。 异步类可以通过多种方式实现: Future注解 批处理 Queueable接口 Schedulable接口 Future注解 使用Future注解可以将一个Apex函数定义为异步执行类。该类会拥有自己的线程,并在此线程中独立运行,实现异 阅读全文
posted @ 2017-11-17 05:02 程程哥 阅读(1358) 评论(0) 推荐(0)
摘要:Apex 中的异常处理 在 Apex 中,和其他语言类似,对于异常处理通常使用 try、catch、finally、throw 等关键字。 对于每一个 try 代码段,必须要有至少一个 catch 或 finally 代码段,而 finally 代码段最多只能有一个。 finally 代码段是必然会 阅读全文
posted @ 2017-11-17 05:01 程程哥 阅读(1810) 评论(2) 推荐(0)
摘要:Apex Triggers Apex 触发器(Apex Triggers)是一种特殊的 Apex 类。它的主要作用是在一条记录被插入、修改、删除之前或之后自动执行一系列的操作。每一个 Trigger 类必须对应一种对象。 Trigger 的语法和普通的 Apex 类一样。 Salesforce 建议 阅读全文
posted @ 2017-11-17 05:00 程程哥 阅读(1420) 评论(0) 推荐(0)
摘要:Salesforce 中的数据库操作方式 Salesforce 为用户和开发者提供了四种基本的数据库操作方式: Apex 中的 DML 语句 Apex 中的 Database 类 SOQL 查询 SOSL 查询 DML 语句 DML 全称 Data Manipulation Language,是 A 阅读全文
posted @ 2017-11-17 04:58 程程哥 阅读(8960) 评论(3) 推荐(0)
摘要:sObject对象的定义 Salesforce中的标准对象或自定义对象在Apex中使用时被称作“sObject”。sObject对象的一个实例相当于Salesforce中的一条记录。 比如:Account代表了“客户”对象,Contact代表了“联系人”对象。 在Apex中使用sObject对象 用 阅读全文
posted @ 2017-11-17 04:57 程程哥 阅读(959) 评论(0) 推荐(1)