salesforce 零基础学习(三十五) 通过Process Builder(进程生成器)和Approval Processes(批准过程)锁定记录(Lock Record)...

此贴是转载,并非原创,原创地址  https://www.cnblogs.com/zero-zyq/p/5624365.html

有的时候我们可能有这样的需求,当某个字段为特定的值情况下,便锁定此条记录,仅允许Profile(简档)为System Admin(系统管理员)的用户修改或者解锁,其他的用户只能查看此条记录,不能修改此条记录,这种情况下我们就的需要锁定记录(Lock Record)。

  锁定记录(Lock Record)可以通过Process Builder(进程生成器)以及Approval Processes(批准过程)实现功能。本人最开始用的自己申请的免费帐户使用Custom Object(自定义对象)来进行测试,发现的尴尬的事情就是Profile(简档)为System Admin(系统管理员)的账户可以看到相关创建的Tab(标签),并且可以锁定记录,但是其他非System Admin(系统管理员)的账户没法看到相关的tab(标签),更没法查看被锁定的记录了,所以为了测试其是否可以锁定记录,使用系统表Opportunity来进行测试。步骤如下:

1.Setup(设置)->Create(创建)->Workflow&Approvals(工作流和批准)->Process Builder(进程生成器)或者直接在搜索栏搜索Process Builder(进程生成器),点击进入后点击右上角的new(新建)

2.输入相关信息后点击OK

3.选择需要操作的Object(对象),按照自己需要设置执行状态

4.设置条件,条件可以是标准的条件抑或使用formula(公式)方式设置判断条件,在设置条件时,可以设置多个条件,按照条件的逻辑可以选择与,或,或者其他自定义逻辑

5.设置action(操作),action type(操作类型)有如下很多种,在这里可以选择Apex或者Submit for Approval(提交待审批),因为apex代码可以通过Approval(审批)类调用lock()锁方法,在这里选择通过配置Approval(审批)方式而不是写代码方式进行。

6.输入具体信息后点击save(保存),然后点击右上角的Activate(启用),然后点击Back To SetUp(返回设置),回到SetUp(设置)页面。

 

7.SetUp(设置)->Create(创建)->Workflow&Approvals(工作流和批准) 点击进入,在Manage Approval Processes For(批准过程):选择Opportunity,在下方显示Use Standard Setup Wizard(使用标准设置向导)

8.输入Approval(批准)的具体信息以后,点击Next(下一步)

9.选择执行的条件,如果对Approval Process(批准过程)不熟悉的移步Approval Process(批准过程)学习

10.指定Approval(批准) 字段和记录访问的配置,这里做默认的配置即可,然后点击Next(下一步)

11.选择Approval(批准)需要的通知的email(电子邮件)模板,当前不需要通知

12.选择在Approval Page Layout(批准页面布局)展现的字段,因为字段不需要展示,所以直接默认,Next(下一步)

13指定Submitter(提交人),按照自身需求,这里默认。点击Save(保存)

14.save(保存)以后选择创建approval step(批准步骤),点击Go(转至)

15.输入基本信息后点击Next(下一步)

16.选择Enter step(如果满足以下条件,则进入此步骤)方式,然后选择formula(公式)方式,在formula(公式)中输入false,点击Next(下一步)

17选择分配的审批者,按需选择,这里选择默认的,点击Save(保存)

18.选择No,I'll do this later(不,我稍后再做。)

19.将Approval(批准)设置成Activate(启用),置成以后效果如下所示

20.效果演示,通过当前用户修改一条Opportunity记录,将Stage(阶段)项修改成Closed Won,则Save(保存)以后此条记录便Lock(锁上)。管理员可以拥有UnLock Record(解锁记录)的权限

21.用普通用户登录,普通用户的Profile(简档)选择可以查看Opportunity这个Tab(标签)权限的Profile(简档)

22.登陆后此条记录只能只读,如果修改便报错误。

总结:通过Process Builder(进程生成器)以及Approval Process(批准过程)配置方式可以通过点击方式便实现特定情况下锁定记录功能,相对方便,此种方式缺点为无法通过当前登录用户的Permission Set(权限设置)来设置,如果项目通过Permission Set(权限设置)来设置权限,则无法通过上述的方式设置,可以考虑在第5步的时候选择Apex来完成此种功能。Apex代码可以很轻松获取当前用户的Permission Set(权限设置)以及通过Approval(批准)类可以很轻松的调用Lock()锁方法。

 

转载于:https://www.cnblogs.com/d-yw/p/10286451.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值