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

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

1.Setup->Build->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,回到Set Up页面。

7.SetUp->Build->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.效果演示,通过当前用户修改一条Opportunities记录,将Stage项修改成Closed Won,则Save以后此条记录便Lock。管理员可以拥有UnLock Record的权限

21.用普通用户登录,普通用户的Profile选择可以查看Opportunities这个Tab权限的Profile

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

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

salesforce 零基础学习(三十五) 通过Process Builder和Approval Processes锁定记录(Lock Record)的更多相关文章

  1. salesforce 零基础学习(十九)Permission sets 讲解及设置

    Permission sets以及Profile是常见的设置访问权限的方式. Profile规则为'who see what'.通过Profile可以将一类的用户设置相同的访问权限.对于有着相同Pro ...

  2. salesforce 零基础学习(十八)WorkFlow介绍及用法

    说起workflow大家肯定都不陌生,这里简单介绍一下salesforce中什么情况下使用workflow. 当你分配许多任务,定期发送电子邮件,记录修改时,可以通过自动配置workflow来完成以上 ...

  3. salesforce 零基础学习(十六)Validation Rules & Date/time

    上一篇介绍的内容为Formula,其中的Date/time部分未指出,此篇主要介绍Date/time部分以及Validation rules. 本篇参考PDF: Date/time:https://r ...

  4. salesforce零基础学习(九十五)lightning out

    随着salesforce对lightning的推进,越来越多的项目基于lightning开发,导致很多小伙伴可能都并不了解classic或者认为不需要用到classic直接就开始了lightning的 ...

  5. salesforce零基础学习(一百一十)list button实现的一些有趣事情

    本篇参考: salesforce零基础学习(九十五)lightning out https://developer.salesforce.com/docs/component-library/docu ...

  6. salesforce 零基础学习(五十二)Trigger使用篇(二)

    第十七篇的Trigger用法为通过Handler方式实现Trigger的封装,此种好处是一个Handler对应一个sObject,使本该在Trigger中写的代码分到Handler中,代码更加清晰. ...

  7. salesforce 零基础学习(三十六)通过Process Builder以及Apex代码实现锁定记录( Lock Record)

    上一篇内容是通过Process Builder和Approval Processes实现锁定记录的功能,有的时候,往往锁定一条记录需要很多的限制条件,如果通过Approval Processes的条件 ...

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

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

  9. salesforce零基础学习(一百零五)Change Data Capture

    本篇参考: https://developer.salesforce.com/docs/atlas.en-us.232.0.api_streaming.meta/api_streaming/using ...

随机推荐

  1. 编译gtk+程序报错gcc: pkg-config --cflags --libs gtk+-2.0: 没有那个文件或目录

    第一次接触gtk+.在网上搜罗良一番,装好相应的库后,编写了第一hello程序.在编译时输入以下命令:gcc -o hello hello.c 'pkg-config --cflags --libs ...

  2. 【转】测试LibreOffice SDK 开发环境配置(Windows)

    原文:http://www.aqcoder.com/blog/detail/id/7441186b-93fd-482c-b4d7-0facd1ee498d 下载与安装 LibreOffice 主页:h ...

  3. mha报错

    用命令检查集群复制状态:masterha_check_repl --conf=/etc/masterha/app1.cnf 报错如下: Tue Jan 12 09:25:51 2016 - [info ...

  4. ArcGIS API中FindTask中文搜索无效,服务器编码问题URIEncoding="utf-8"

    问题来源:字符编码问题导致ArcMap中字符乱码或显示不正常,因而在F:\Program Files\ArcGIS\Server\framework\runtime\tomcat\conf中serve ...

  5. Ajax&json

    通过json-lib方式 复杂情况:

  6. H5项目常见问题

    转自 https://github.com/FrontEndZQ/HTML5-FAQH5项目常见问题及注意事项 Meta基础知识: H5页面窗口自动调整到设备宽度,并禁止用户缩放页面//一.HTML页 ...

  7. highcharts 柱状图 折线图 混合 双纵轴显示

    $(function () { $('#container').highcharts({ chart: { zoomType: 'xy' }, title: { text: '' }, colors: ...

  8. 调试SQLSERVER (二)使用Windbg调试SQLSERVER的环境设置

    调试SQLSERVER (二)使用Windbg调试SQLSERVER的环境设置 调试SQLSERVER (一)生成dump文件的方法调试SQLSERVER (三)使用Windbg调试SQLSERVER ...

  9. 升级AutoMapper后遇到的“Missing map”与“Missing type map configuration”问题

    前几天发现 AutoMapper 3.3 的一个性能问题(详见:遭遇AutoMapper性能问题:映射200条数据比100条慢了近千倍),于是将 AutoMapper 升级至最新的 5.1.1 看是否 ...

  10. IM系统中聊天记录模块的设计与实现

    看到很多开发IM系统的朋友都想实现聊天记录存储和查询这一不可或缺的功能,这里我就把自己前段时间为傲瑞通(OrayTalk)开发聊天记录模块的经验分享出来,供需要的朋友参考下. 一.总体设计 1.存储位 ...