salesforce 零基础学习(十八)WorkFlow介绍及用法
说起workflow大家肯定都不陌生,这里简单介绍一下salesforce中什么情况下使用workflow。
当你分配许多任务,定期发送电子邮件,记录修改时,可以通过自动配置workflow来完成以上操作而不是手工做这些工作。
一. WorkFlow配置
点击setup-->build-->create-->Workflow & Approvals-->workflow Rules或者在搜索栏中搜索workflow 然后选择workflow Rules.选择后会出现下图的引导页,用来描述workflow组成部分以及Workflow可以自动执行哪些种类型的action。从图中可以看到,可以执行Tasks,Email Alerts,Field Updates以及Outbound Messages.

点击Continue后进入列表页面,此页面显示已经创建的所有的Workflow rules。从描述信息中可以看到Workflow的执行流程为,当一条记录满足workflow rule标准条件时,便自动执行Workflow设置的action。

点击new rule 开始新建一条workflow rule,如下图所示,总共需要3步来创建一个workflow。
第一步为选择哪个Object进行workflow设置。

第二步为设置workflow的名称以及什么标准条件下才会自动执行此workflow的action,其中有几点需要注意:
- Evaluation Criteria的选择:系统默认情况下选择第三种,即当这条记录被创建或者被修改情况下校验下方校验规则,如果条件满足,则执行action,其中执行action部分还需要配置time trigger,这点在第三步加以描述。当选中第一种则只有当记录被创建时执行校验,选择第一种则这条记录最多只能执行一次workflow,选择第二种为每次添加或者修改操作时会执行下方校验,如果校验成功,则执行第三步的action,其中采用第二种方式则不需要配置time trigger,立即执行action操作。
2. Rule Criteria:这部分是workflow执行的关键,当只有workflow满足设置的校验的条件才可以执行相应的action,注意2的部分是一个下拉框,当选择另外一种formula evaluates to true的选项时,下方则变成了一个formula框,当校验条件为true情况下才会走相关的action;
3. Field/formula框:用于设置标准条件,当记录满足设置的标准条件才会触发workflow配置的action,这里需要注意的是,不是所有的formula函数都支持此处的formula, 使用时需要先查看一下所用函数是否支持workflow。

第三步为配置满足标准条件的action。分成4中情况:
1.New Email Alert:https://help.salesforce.com/apex/HTViewHelpDoc?id=customize_wfalerts.htm&language=en_US
2.New Field Update:更新此workflow关联的Object的字段值;
3.New Outbound Message:https://help.salesforce.com/apex/HTViewHelpDoc?id=workflow_managing_outbound_messages.htm&language=en_US

不要以为创建完以后WorkFlow就可以用了,因为创建后默认是不可用状态,需要将其置为可用。

二.WorkFlow的注意点
1.WorkFlow是在trigger执行以后(after trigger)满足条件才会执行的;
2.一个WorkFlow只能作用在一个单独的sObject上;
3.workflow的action可以设置为多个,如果有多个action情况下,先执行Field Update操作,在执行其他操作;
4.workflow rule formula中不允许使用$Label;
5.当sObject删除后,绑定其workflow也自动删除;
6.当想使用WorkFlow替代trigger时,确保将workflow置为Activate以前删除相关trigger,否则会抛出异常。
详细注意点请参见:https://help.salesforce.com/apex/HTViewHelpDoc?id=workflow_rules_considerations.htm&language=en_US
总结:使用workflow可以便捷的修改数据,分配任务等,但也相应的有很多的限制。在项目中,对于适合使用workflow的操作可以选择使用workflow,使用前应考虑其功能以及限制是否可以完成你需要的工作。
篇中如何有错误的地方欢迎指正,如果有问题需要提问欢迎留言。
salesforce 零基础学习(十八)WorkFlow介绍及用法的更多相关文章
- salesforce零基础学习(八十)使用autoComplete 输入内容自动联想结果以及去重实现
项目中,我们有时候会需要实现自动联想功能,比如我们想输入用户或者联系人名称,去联想出系统中有的相关的用户和联系人,当点击以后获取相关的邮箱或者其他信息等等.这种情况下可以使用jquery ui中的au ...
- salesforce零基础学习(八十二)审批邮件获取最终审批人和审批意见
项目中,审批操作无处不在.配置审批流时,我们有时候会用到queue,related user设置当前步骤的审批人,审批人可以一个或者多个.当审批人有多个时,邮件中获取当前记录的审批人和审批意见就不能随 ...
- salesforce零基础学习(八十九)使用 input type=file 以及RemoteAction方式上传附件
在classic环境中,salesforce提供了<apex:inputFile>标签用来实现附件的上传以及内容获取.salesforce 零基础学习(二十四)解析csv格式内容中有类似的 ...
- salesforce零基础学习(八十七)Apex 中Picklist类型通过Control 字段值获取Dependent List 值
注:本篇解决方案内容实现转自:http://mysalesforceescapade.blogspot.com/2015/03/getting-dependent-picklist-values-fr ...
- salesforce零基础学习(八十五)streaming api 简单使用(接近实时获取你需要跟踪的数据的更新消息状态)
Streaming API参考链接: https://trailhead.salesforce.com/en/modules/api_basics/units/api_basics_streaming ...
- salesforce零基础学习(八十六)Ajax Toolkit (VF页面中使用及javascript action使用)
Ajax Toolkit 参考文档:https://resources.docs.salesforce.com/212/latest/en-us/sfdc/pdf/apex_ajax.pdf 在项目中 ...
- salesforce零基础学习(八十八)项目中的零碎知识点小总结(二)
通过做项目以及群里面的一些大神的聊天,总结一下关于项目中的两个知识点,以后当做参考. 一. 在custom setting中配置集成接口信息后刷sandbox的问题 我们做项目时,经常会遇见和其他平台 ...
- salesforce零基础学习(八十四)配置篇: 自定义你的home page layout
当我们进入salesforce系统或者切换app后,默认第一个看到的就是home页面.home页面简单的来说可以包括左侧(narrow component)和右侧(wide component)两部分 ...
- salesforce零基础学习(八十一)更改标准字段的label名称(Admin)
我们在开发中往往需要考虑国际化功能,salesforce 提供了国际化功能,在search部分搜索translate,便可以找到translate部分,从而对需要的进行translate.比如pick ...
- salesforce零基础学习(八十三)analytics:reportChart实现Dashboard(仪表盘)功能效果
项目中经常会用到Report以及Dashboard来分析汇总数据,Dashboard可以指定view as user,如果针对不同的用户需要显示其允许查看的数据,比如 根据role hierarch ...
随机推荐
- nginx启动脚本
#!/bin/sh # # nginx - this script starts and stops the nginx daemin # # chkconfig: - 85 15 # descr ...
- 高速PCB之EMC设计47则
高速PCB之EMC设计47则 差模电流和共模电流 辐射产生 电流导致辐射,而非电压,静态电荷产生静电场,恒定电流产生磁场,时变电流既产生电场又产生磁场.任何电路中存在共模电流和差模电流,差模信号携带数 ...
- Python 学习---------Day3
第七章 字符串单双引号字符串是一样的用转义序列代表特殊字节字符串抑制转义myfile=open(r'C:\new\text.dat','w')三重引号编写多行字符串块字符串更大的编码集std(u'sp ...
- 为Page添加INotifyPropertyChanged功能
在Page页面里面, DataContext 更新后,前台数据要求会自动更新. 但前台的绑定如果用x:bind 语法. 它要求强类型.直接关联到DataContext上就不行了. 需要为Page 添加 ...
- 日常工作中的点滴:C# 根据字节长度截包含中文的字符串
方法中利用正则表达式判断某个字符是否是中文 public string SubStringB(string text,int length){ int target=0; int b=0; for(i ...
- iOS图片加载框架-SDWebImage解读
在iOS的图片加载框架中,SDWebImage可谓是占据大半壁江山.它支持从网络中下载且缓存图片,并设置图片到对应的UIImageView控件或者UIButton控件.在项目中使用SDWebImage ...
- android wireshark抓包和fiddler抓包
一 wireshark 1.把电脑的网络做为热点 2.开启wifi热点后,被测手机连接到该热点: 3.启动wireshark,选择做为热点的网卡,点击start开始抓包: 4.操作手机,可以抓取到手机 ...
- android 如何结束一个线程
总结: 1 不推荐直接调用onstop()强制结束,,因为不安全 2 run()比较短暂,执行完毕会自动停止 3 在run()设置一个flag标识,满足条件才执行; 4 通过sleep()捕获异常,在 ...
- JS写的排序算法演示
看到网上有老外写的,就拿起自已之前完成的jmgraph画图组件也写了一个.想了解jmgraph的请移步:https://github.com/jiamao/jmgraph 当前演示请查看:http:/ ...
- React学习笔记---项目构建
简介 ReactJs由于有FB的支持,得到了社区的极大关注,同时由于ReactJs只希望专一的做好View层次上的工作,所以本身并没有涉及很多周边工具. 今天要介绍一款工具,同时包含一个构建项目模板的 ...