有的时候我们需要对XML进行读写操作,常用的XML操作主要有Streams和DOM方式. 一.Streams方式 Streams常用到的类主要有两个XmlStreamReader 以及XmlStreamWriter. XmlStreamReader:此种读取方式的读的特点为从上而下读,下图是根据reader的EventType自上而下的运行步骤. 我们将此xml读取后封装到一个Goods的List中,Goods包括item,name以及type属性,代码如下: /* * 假定目前XML数据样式为…
custom label在项目中经常用到,常用在apex class或者VF里面用来显示help text或者error message.有的时候我们需要用到的信息是动态变化的,那样就需要动态来显示信息. 步骤如下: 一.创建custom label 我们创建名为Show Message Dynamic的label,value值通过{item}来动态展示信息. 二.使用custom label实现动态显示 为了方便显示,将custom label显示在trigger中处理错误信息. trigge…
第十七篇的Trigger用法为通过Handler方式实现Trigger的封装,此种好处是一个Handler对应一个sObject,使本该在Trigger中写的代码分到Handler中,代码更加清晰. 十七篇链接:salesforce 零基础学习(十七)Trigger用法 有的时候对于sObject的trigger处理复杂的情况下,比如一个sObject的before update要实现功能1,2.....n功能情况下,Handler中需要在before update写实现功能1--n的代码.然而…
项目中,审批操作无处不在.配置审批流时,我们有时候会用到queue,related user设置当前步骤的审批人,审批人可以一个或者多个.当审批人有多个时,邮件中获取当前记录的审批人和审批意见就不能随便的取一个审批人了,有以下方式针对不同的场景可以获取到当前记录的最终审批人以及审批意见. 邮件内容使用以下几种方式实现: 1.代码里面实现邮件发送 2.email template(text/html/custom) 3.visualforce emailTemplate 对发送邮件方式不清楚的,可…
项目中,常常需要用到文件的上传和下载,上传和下载功能实际上是对Document对象进行insert和查询操作.本篇演示简单的文件上传和下载,理论上文件上传后应该将ID作为操作表的字段存储,这里只演示文件上传到Document对象中. 一.文件上传功能 apex代码 public with sharing class FileUploadUsedTransientController { public transient Blob fileUploadBody{get;set;} public S…
在salesforce中,我们做SOQL查询时,往往需要用到计算式,比如求和,求平均值,或者过滤数据时,往往需要通过时间日期过滤,SOQL已经封装了很多的函数,可以更加方便我们的sql查询而不需要自己另外设计. 一. 聚合函数 常用的聚合函数有如下几种: AVG():求平均值 COUNT():求记录个数 COUNT_DISTINCT():求不重复记录个数 MIN():求记录中最小值 MAX():求记录中的最大值 SUM():求和 这些聚合函数通常和group by fieldName 一起用,达…
上一篇内容是通过Process Builder和Approval Processes实现锁定记录的功能,有的时候,往往锁定一条记录需要很多的限制条件,如果通过Approval Processes的条件判断写起来可能很麻烦,有些逻辑通过Apex写起来很容易,此篇内容为通过Process Builder 和Apex代码实现锁定记录. 需求:对Opportunity表进行判断是否加锁或者解锁.当Delivery/Installation Status这一项的值为'Completed'情况下加锁,为其他…
本篇引用以下三个链接: http://www.tgerm.com/2012/01/recordtype-specific-picklist-values.html?m=1 https://github.com/abhinavguptas/Multi-RecordType-Sobject-Picklist-Describer http://bobbuzzard.blogspot.com/2012/01/record-type-picklist-values.html 我们知道,record typ…
本篇参考:http://resources.docs.salesforce.com/200/17/en-us/sfdc/pdf/salesforce_workbench_cheatsheet.pdf 做项目一般需要考虑国际化问题.在salesforce中,当我们自定义一个Custom label情况下,他就可以选择需要translate的语言,如下图所示. 但是当我们new一个PickList字段或者当我们validation写错误信息情况下,便只能通过一种语言写,那如何实现PickList,v…
有的时候我们可能有这样的需求,当某个字段为特定的值情况下,便锁定此条记录,仅允许Profile为System Admin的用户修改或者解锁,其他的用户只能查看此条记录,不能修改此条记录,这种情况下我们就的需要锁定记录(Lock Record). 锁定记录(Lock Record)可以通过Process Builder以及Approval Processes实现功能.本人最开始用的自己申请的免费帐户使用Custom Object来进行测试,发现的尴尬的事情就是Profile为System Admi…