说起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,其中有几点需要注意:

  1. 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介绍及用法的更多相关文章

  1. salesforce零基础学习(八十)使用autoComplete 输入内容自动联想结果以及去重实现

    项目中,我们有时候会需要实现自动联想功能,比如我们想输入用户或者联系人名称,去联想出系统中有的相关的用户和联系人,当点击以后获取相关的邮箱或者其他信息等等.这种情况下可以使用jquery ui中的au ...

  2. salesforce零基础学习(八十二)审批邮件获取最终审批人和审批意见

    项目中,审批操作无处不在.配置审批流时,我们有时候会用到queue,related user设置当前步骤的审批人,审批人可以一个或者多个.当审批人有多个时,邮件中获取当前记录的审批人和审批意见就不能随 ...

  3. salesforce零基础学习(八十九)使用 input type=file 以及RemoteAction方式上传附件

    在classic环境中,salesforce提供了<apex:inputFile>标签用来实现附件的上传以及内容获取.salesforce 零基础学习(二十四)解析csv格式内容中有类似的 ...

  4. salesforce零基础学习(八十七)Apex 中Picklist类型通过Control 字段值获取Dependent List 值

    注:本篇解决方案内容实现转自:http://mysalesforceescapade.blogspot.com/2015/03/getting-dependent-picklist-values-fr ...

  5. salesforce零基础学习(八十五)streaming api 简单使用(接近实时获取你需要跟踪的数据的更新消息状态)

    Streaming API参考链接: https://trailhead.salesforce.com/en/modules/api_basics/units/api_basics_streaming ...

  6. salesforce零基础学习(八十六)Ajax Toolkit (VF页面中使用及javascript action使用)

    Ajax Toolkit 参考文档:https://resources.docs.salesforce.com/212/latest/en-us/sfdc/pdf/apex_ajax.pdf 在项目中 ...

  7. salesforce零基础学习(八十八)项目中的零碎知识点小总结(二)

    通过做项目以及群里面的一些大神的聊天,总结一下关于项目中的两个知识点,以后当做参考. 一. 在custom setting中配置集成接口信息后刷sandbox的问题 我们做项目时,经常会遇见和其他平台 ...

  8. salesforce零基础学习(八十四)配置篇: 自定义你的home page layout

    当我们进入salesforce系统或者切换app后,默认第一个看到的就是home页面.home页面简单的来说可以包括左侧(narrow component)和右侧(wide component)两部分 ...

  9. salesforce零基础学习(八十一)更改标准字段的label名称(Admin)

    我们在开发中往往需要考虑国际化功能,salesforce 提供了国际化功能,在search部分搜索translate,便可以找到translate部分,从而对需要的进行translate.比如pick ...

  10. salesforce零基础学习(八十三)analytics:reportChart实现Dashboard(仪表盘)功能效果

    项目中经常会用到Report以及Dashboard来分析汇总数据,Dashboard可以指定view as user,如果针对不同的用户需要显示其允许查看的数据,比如  根据role hierarch ...

随机推荐

  1. Win7下安装一个装逼文本编辑器Atom + activate-power-mode插件

    Atom是Github推出的一个文本编辑器,搜索一下大概是给Web前端用的,最近比较火的是他的一个插件activate-power-mode,可以实现打字屏振效果. 用来装装逼还是挺适合的,本来想试试 ...

  2. Linux下TCP网络编程与基于Windows下C#socket编程间通信

    一.linux下TCP网络编程基础,需要了解相关函数 Socket():用于套接字初始化. Bind():将 socket 与本机上的一个端口绑定,就可以在该端口监听服务请求. Listen():使s ...

  3. [LeetCode]436 Find Right Interval

    Given a set of intervals, for each of the interval i, check if there exists an interval j whose star ...

  4. (转)Linux的启动过程

    原文链接:http://www.ruanyifeng.com/blog/2013/08/linux_boot_process.html 半年前,我写了<计算机是如何启动的?>,探讨BIOS ...

  5. java嵌套类

    java有四种嵌套类: 静态内部类,成员内部类,局部内部类,匿名内部类 1)静态内部类: (1)类的申明加上staitc关键字.一般用public修饰 (2)只能访问外部类的静态变量和静态方法.不能访 ...

  6. mysql 存储过程 死循环,如何关闭

    如果误操作  ,存储过程中出现了死循环怎么办?删除存储过程是不能解决问题的. 解决方法, 1,打开mysql客户端,在查询窗口中执行: show processlist; 2,查询到自己的那个进程   ...

  7. 更改Android Studio的主题背景

    看到别人炫酷的主题,好奇心使然,想要选择一个自己喜欢的炫酷背景,于是乎百度,动手尝试更换各种主题. 保存下来,留着以后想换主题的时候看. 1.Android Studio自带主题 File -> ...

  8. Android中的TabHost

    TabHost是整个Tab的容器,包含TabWidget和FrameLayout两个部分,TabWidget是每个Tab的表情,FrameLayout是Tab内容. 实现方法:继承TabActivit ...

  9. 树莓派安装RASPBIAN系统

    买了个树莓派3B,安装Raspbian时出现问题,能ping通,但是无法建立ssh链接!对于我这种只有网线和电源的玩家来说打击太大. 找了一下原因,如下链接所述: http://downloads.r ...

  10. JS继承模式粗探

    之前提到了JS中比较简单的设计模式,在各种设计模式中被最常使用的工具之一就是原型链的继承.作为OOP的特质之一——继承,今天主要谈谈JS中比较简单的继承方法. 最基础的原型链继承在这里就不复述了,主要 ...