Field-Level Security(FLS),也就是字段级别的安全性,再整个Salesforce环境中,可以说有很大的作用,会经常被使用,以及设置。有两个地方可以控制,1是简档(Profile)中,2是对象(Object)的字段(Field)的设置页面。
通过对某个对象(Object)的字段(Field)进行FLS设定Required,Read-Only以及Visible,可以控制特定的简档(Profile)的用户,对这个字段的访问权限,也就是在页面布局上(或者其他位置,ListView等)是否可以看到这个Field,是不是必须要填写的字段,是不是只可以看,不能更改的字段。这些设置也许不难,但是其实是涉及到业务上的一些流程。
比如这个字段是比较敏感的字段,个人工资,金额等,那这个字段肯定不会公开所有人共享。
比如这个字段是页面中必须该输入的值,有这个值,才会有后面的步骤,那么这个值必须设置为必须字段,必须字段设置有两个位置,1是在创建字段的页面,2是在页面布局(PageLayout)上设置。这两个设置显示的结果有微妙的区别,稍后详细说明。
比如另一种情况,有些字段是不让修改的,我们只可以看到,可能是参照其他的字段,在另一个字段上更改的话,这个字段会自定变更,如公式(Formula)字段。
下面从页面开始验证吧。我大部分写的内容,都会有图片的说明。个人觉得图形更容易想象吧。
首先在Account对象上创建三个字段,
Field Label : TEST Required
Data Type : Text
Required : check
Field Label :TEXTAREA
Data Type :Text Area
Required : checkout
Field Label : Last Activity Date
Data Type : Formula:Return Type(Date) :LastActivityDate
Formula选择的字段是Last Activity,API名是LastActivityDate。
在页面布局上进行配置如下:
实际的Account页面是这样的,
字段TEST Required 和TEXTAREA 是可以编辑的,但是字段 Last Activity Date是只读的,由于Last Activity Date是公式字段,所以只能看,不能修改。Last Activity Date参照的是Account对象内的标准字段Last Activity,但是在页面布局上我们是无法直接使用Last Activity字段显示的,但是听过开发者控制台(Developer Console)可以听过SOQL语句,查询到结果。
然而,标准的LastActivityDate字段代表着神马呢?没有错,上面的Account页面的图片中,LastActivityDate的时间和活动(Activity)最后的开始时间是一样的,这就说明,代表的是Account关联的活动的最后的开始时间。当然此字段是不能修改的,根据活动的开始时间不同而改变。
比如我们更改一下,开始时间为2020/07/05。
自定义的Last Activity Date字段也改变了,我们到开发者控制台去看一下标准的字段。两者都变成了2020/07/05。
自定义的Last Activity Date是只读的,我们不能在页面布局或者FLS里面更改为必须字段。这是Salesforce的标准式样。
页面布局:
FLS:
点击Set Field-Level Security:
我们可以设置对于某个简档,此字段不显示在页面上。
当通过FLS设置为不可见时,但是页面布局任然表示。
System Administrator的Profile设置为不可加见,同时PageLayout显示的情况,结果是System Administrator的Profile的用户看不到此字段,其他Profile的用户是可以看到的。
System Administrator的Profile:
其他的Profile:
如果,直接从页面布局去掉这个字段,那么所有人都看不到这个字段。
以上都是默认的显示情况。下面我们稍微做点更改。
首先对于这个TEST Required字段,因为是必须字段。
想要设置为只读,是不可以的,默认拥有编辑权限,想要从页面移除也是不可以的。
FLS也可以从Profile看里面更改。
移除提示:
This field must be displayed on the page layout and cannot be removed.
然后对于TEXTAREA字段,如果再页面布局上设置为必须字段。
1,如果在继续设置为只读(Profile)的情况,这个字段显示在页面上的话,而且是必须输入的,不能编辑。也可以从页面布局上移除。
2,如果在不设置为只读(Profile)的情况,这个字段显示在页面上的话,也可以保存,不会报错,可一编辑。也可以从页面布局上移除。
PageLayout不能同时设置为只读和必须。
第一种情况:
TEXTAREA FLS:
实际页面:
即使是必须字段,也可以不显示在页面上。但是之前在字段设置页面设置为必须的时候,就不能够移除页面。
第二种情况:
只是必须,不是只读。不显示在页面上的话,也可以正常保存。
显示在页面,可编辑。
不显示在页面上。
今天所写的内容比较基础,也是必须要理解的内容。
自己学习过程中,可能比较粗浅的理解,如果有任何问题可以随时评论,共同交流。
我一直都在,我从未离开。
Latest posts by zchao (see all)
- Auraでアクションボタン作成して画面のチェックボックス項目一括処理 - 2021年4月12日
- デフォルト項目値を含むレコード作成実例説明(defaultFieldValues) - 2021年1月9日
- Salesforce のノーコード・ローコード開発 - 2020年12月31日