custom label在项目中经常用到,常用在apex class或者VF里面用来显示help text或者error message.有的时候我们需要用到的信息是动态变化的,那样就需要动态来显示信息. 步骤如下: 一.创建custom label 我们创建名为Show Message Dynamic的label,value值通过{item}来动态展示信息. 二.使用custom label实现动态显示 为了方便显示,将custom label显示在trigger中处理错误信息. trigge…
salesforce中支持对csv格式的内容批量导入,可以使用dataloader,然而有些情况下,当用户没有相关权限使用dataloader导入情况下,就的需要使用VF和apex代码来搞定. 基本想法: 1.通过<apex:inputFile>标签弹出选择文件对话框,选择相应的csv文件; 2.将相关csv文件转换成字符串并加以解析; 3.将解析的字符串通过相关分隔存储到列表中,并插入到数据库. 储备知识: 1.csv:具有以下特征: 纯文本; 由记录组成(典型的是每行一条记录): 每条记录…
在salesforce中,我们做SOQL查询时,往往需要用到计算式,比如求和,求平均值,或者过滤数据时,往往需要通过时间日期过滤,SOQL已经封装了很多的函数,可以更加方便我们的sql查询而不需要自己另外设计. 一. 聚合函数 常用的聚合函数有如下几种: AVG():求平均值 COUNT():求记录个数 COUNT_DISTINCT():求不重复记录个数 MIN():求记录中最小值 MAX():求记录中的最大值 SUM():求和 这些聚合函数通常和group by fieldName 一起用,达…
当我们进入salesforce系统或者切换app后,默认第一个看到的就是home页面.home页面简单的来说可以包括左侧(narrow component)和右侧(wide component)两部分. 左侧包含Recent View,Custom Link,Create New等快捷入口等组件,右侧包括tasks,item to approval,calendar,dashboard snapshot等等. 有时,不同简档的用户需要看到不同的Home页面中的组件或者显示不同的custom li…
上一篇内容是通过Process Builder和Approval Processes实现锁定记录的功能,有的时候,往往锁定一条记录需要很多的限制条件,如果通过Approval Processes的条件判断写起来可能很麻烦,有些逻辑通过Apex写起来很容易,此篇内容为通过Process Builder 和Apex代码实现锁定记录. 需求:对Opportunity表进行判断是否加锁或者解锁.当Delivery/Installation Status这一项的值为'Completed'情况下加锁,为其他…
有的时候我们往往会遇到此种类似的需求:用户在访问某个详细的记录时,需要记录一下什么时候哪个用户访问过此页面,也就是说进入此页面时,需要插入一条记录到表中,表有用户信息,record id,sObject name以及vf page name.但是对于salesforce,不允许在controller的构造函数中进行DML操作,此种情况推荐采用两种方式实现此功能: 一.使用apex:page的action属性 1. DetailGoodsUseAjaxToolkitController:实现数据的…
异常或者error code汇总:https://developer.salesforce.com/docs/atlas.en-us.api.meta/api/sforce_api_calls_concepts_core_data_objects.htm 做项目的时候有很多异常是我们经常遇到的: 1.空指针异常: 2.死锁或者超时: 3.级联删除时无级联表操作权限导致删除失败: 4.一次请求查询超过50000条数据: 5.查询时偏移量超过2000: 6.不满足Validation Rule条件:…
本篇参考: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…
开发中查看log日志是必不可少的,salesforce自带的效果显示效果不佳,大概显示效果如下所示: chrome商城提供了apex debug log良好的插件,使debug log信息更好显示.假设你开发使用chrome浏览器,并且可以访问chrome商城,则使用步骤如下: 1.选择扩展程序项: 2.在搜索框中输入Apex Debugger; 3.添加至Chrome并且在扩展程序中启用即可. 显示效果如下: 总结:安装此插件后,不同的操作可以显示不同的样式,可以更加方便找到所需要的信息,有需…