在项目中我们可能会遇见这种情况,不同的Profile拥有不同的页面,页面中的PickList标签可能显示不同的值。这个时候,使用Record Types可以很便捷的搞定需求。

Record Types允许在相同的object中为数据定义多个UI。用户通过Profile进行分组,不同的Profile可以设置不同的Page Layout 以及显示不同的PickList的item值。

简单需求描述如下(以Goods__c为例):

1.Profile为Admin的用户可以看到所有的字段,Profile为其他的用户不能看到GoodsCostPrice__c;

2.Profile为Admin的用户可以看到类型为PickList的GoodsBrand__c所有值,Profile为其他的用户只能看到GoodsBrand__c的一部分值。

(注:需求只是随便写的)

实现上述功能可以通过Record Types实现,先定义两个Page Layouts,使不同的Profile显示不同的页面,然后定义两个Record Types,使不同的Profile显示的PickList的值不同。

 一.创建PageLayout

setup->Create->Objects->Goods__c进入具体的sObject.在Page Layouts中创建两个Page Layout

Goods Layout For Admin显示所有的字段,如下图所示

Goods Layout For Other User显示除GoodsCostPrice以外的所有字段,如下图所示

二.创建Record Types

创建两个Record Types,分给不同的Profile,如下图所示

其中ShowUIByAdmin创建步骤如下:

1.点击New后输入具体的信息,然后选择需要设置可见的Profile后点击Next;

2.分配不同的Page Layouts给相关的Profile;

3.点击Save以后,会显示下图所示页面,点击下方Edit,修改相关的PickList的Item Value值;

4.修改GoodsBrand的显示项后Save,则名为ShowUIByAdmin的Record Type创建成功;

5.按照上述1-4创建另外的Record Types,分配相关的Page Layouts以及设置不同的Picklist Values的值。

显示效果如下:

Profile为Admin的显示页面

Profile为other user的显示页面

总结:Record Types可以基于不同的Profile设置不同的显示页面以及不同的PickList的Values,并且只能基于Profile,如果项目通过Permission Set进行分组则无法使用Record Types.如果篇中有描述错误的地方欢迎指正,如果有疑问的地方欢迎留言。

salesforce 零基础学习(二十九)Record Types简单介绍的更多相关文章

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

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

  2. salesforce 零基础学习(四十七) 数据加密简单介绍

    对于一个项目来说,除了稳定性以及健壮性以外,还需要有较好的安全性,此篇博客简单描述salesforce中关于安全性的一点小知识,特别感谢公司中的nate大神和鹏哥让我学到了新得知识. 项目简单背景: ...

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

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

  4. salesforce零基础学习(九十九)Salesforce Data Skew(数据倾斜)

    本篇参考: https://developer.salesforce.com/blogs/engineering/2013/04/managing-lookup-skew-to-avoid-recor ...

  5. salesforce零基础学习(九十九)Git 在salesforce项目中的应用(vs code篇)

    本篇参考: https://code.visualstudio.com/docs/editor/versioncontrol https://git-scm.com/doc https://git-s ...

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

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

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

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

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

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

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

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

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

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

随机推荐

  1. Head First 设计模式读书笔记

    在网上学习了一段时间设计模式,总感觉不系统,很容易忘,最近买书,学习了<Head First设计模式>,受益匪浅,特做此记录,以便激励自己不断的向后学习. 原书JAVA版本,本次学习记录及 ...

  2. jquery 传递事件的自定义数据

    整理一下 1. <script type="text/javascript">$(document).ready(function(){  $("input& ...

  3. 杨光福IT讲师微博

    杨光福IT讲师微博: http://weibo.com/321chinavideo  微博现在里面有很多干货,以后会越来越多,主要用于分享和交流技术.关注一下对你有帮助.

  4. ant 的详细的入门教程

    Ant是一个Apache基金会下的跨平台的构件工具,它可以实现项目的自动构建和部署等功能.在本文中,主要让读者熟悉怎样将Ant应用到Java项目中,让它简化构建和部署操作. 一.            ...

  5. 小游戏runpig总结

    前几天写了一个JavaScript小游戏,大概是这样的 demo:strongfanfan.top/RunPig  源代码:www.github.com/strongfanfan/RunPig 画风简 ...

  6. 基于EasyUi ComBotree树修改 父节点选择问题

    本人在使用 Easy UI 期间发现了一个不太适合项目的bug,可能也不算bug把 . 毕竟不同项目背景 取舍不同. 我在做网元树选择的时候  发现当选取父节点后,子节点都会被选择  返回  .但是如 ...

  7. XML dom

    将文件解析为文档 三步过程 为了使用 XML 文件中的信息,必须解析文件以创建一个 Document 对象. Document 对象是一个接口,因而不能直接将它实例化:一般情况下,应用程序会相应使用一 ...

  8. 拾遗——java多线程

    由于sleep()方法是Thread类的方法,因此它不能改变对象的机锁.所以当在一个Synchronized方法中调用sleep()时,线程虽然休眠了,但是对象的机锁没有被释放,其他线程仍然无法访问这 ...

  9. (转载)JAVA敏捷开发环境搭建

    整个软件项目分为四个环境 开发本地环境.开发环境.测试环境.IDC环境.和传统C++开发不一样的模式是多了第一个开发本地环境.这是为什么呢,因为目前大部分开发人员还是比较熟悉windows下开发.对于 ...

  10. FileInputStream和BufferedInputStream的区别

    FileInputStream 属于数据源 BufferedInputStream 属于FileInputStream的一个装饰 BufferedInputStream 有个内部缓冲区当read时会先 ...