将字段定义为“必需”

当我们为对象设置字段的属性时,我们需要让某些字段在建立记录的时候必需有值,比如定义一个“地址”对象,那么必须填入“邮编”和“城市”。这时,我们就需要将“邮编”和“城市”字段设置为“必需”。

字段定义级别

最简单的方法是在建立自定义字段时,将某字段定义为“必需”。这时,无论我们从用户界面还是代码来保存相关的数据,这个字段的值都是必需的。

这是 Salesforce 提供的关于“必需”字段最严格的检查规则。

用户界面级别

上述的方法过于严格,不适合需要灵活性的情况。那么我们可以用其他方法来设定字段的“必需”属性。

最常见的方法就是在对象的用户界面(Page Layout)将某字段设置为“必需”。在这种情况下,只有通过用户界面新建或保存数据的用户需要为此字段提供值,而通过代码保存的数据则没有这种检查。

验证规则级别

我们也可以通过验证规则(Validation Rule)来将字段定义为“必需”。这样做有两种好处:

  1. 避免了字段定义级别的“必需”设置
  2. 验证规则对用户界面和代码同时起作用

这种方法可以看作是上述两种方法的中和。

“必需”字段的权限部署

在通过 Metadata API 对“必需”字段的权限进行部署时,有一条特殊的规则。

如果一个字段是在字段定义级别被设置为“必需”的话,对于 API 30.0 以后的版本,那么我们不需要在简档(Profile)或权限集(Permission Set)中对其进行权限设置。

比如:

<fieldPermissions><editable>true</editable><field>Address__c.Postalcode__c</field><readable>true</readable></fieldPermissions>

如果我们用了上述的第一种方法将字段 Postalcode__c 设置为“必需”,然后又在某个简档或权限集中加入了上述的代码,那么在进行部署的时候就会出错。

那么我们怎么确定该字段的权限呢?

在这种情况下,Salesforce 会自动将此字段对于所有权限可见(可读、可修改)。

Salesforce 小知识 - 必需字段的更多相关文章

  1. Salesforce小知识:累计汇总字段类型

    累计汇总字段类型的定义 Salesforce中可以在两个对象之间建立关系.一个对象的某一条记录可以有若干条相关联的其他对象记录. 累计汇总字段可以将这些相关联的记录中的某些字段值汇总起来,显示给用户. ...

  2. Salesforce小知识:在简档中设置Visualforce页面的权限

    简档(Profile)中的 Visualforce 页面访问权限 在Salesforce中,对于自定义的简档,可以设置"Visualforce 页面访问"的权限. Visualfo ...

  3. Salesforce 小知识:大量“子记录”的处理方法

    大量"子记录"的存放 例子:系统中导入了很多"联系人"(Contact)记录,它们没有具体所属的"客户"(Account)记录.那么我们就要 ...

  4. salesforce 零基础开发入门学习(十)IDE便捷小知识

    在这里介绍两个IDE的便捷开发的小知识. 一) 本地调试 由于salesforce代码只能提交以后才能调试,所以很多时候调试代码很麻烦.新版增加了一个特性:即可以在本地调试相关的代码或者查看相关代码运 ...

  5. Jquery:小知识;

    Jquery:小知识: jQuery学习笔记(二):this相关问题及选择器   上一节的遗留问题,关于this的相关问题,先来解决一下. this的相关问题 this指代的是什么 这个应该是比较好理 ...

  6. $Django 路飞之小知识回顾,Vue之样式element-ui,Vue绑定图片--mounted页面挂载--路由携带参数

    一 小知识回顾 1 级联删除问题 2 一张表关联多个表,比如有manytomanyfileds forignkey,基于对象查询存在的问题:反向查询的时候  表名小写_set.all()不知是哪个字段 ...

  7. 【C#小知识】C#中一些易混淆概念总结(五)---------继承 分类: C# 2014-02-06 22:05 1106人阅读 评论(0) 收藏

    目录: [C#小知识]C#中一些易混淆概念总结--------数据类型存储位置,方法调用,out和ref参数的使用 [C#小知识]C#中一些易混淆概念总结(二)--------构造函数,this关键字 ...

  8. 【C#小知识】C#中一些易混淆概念总结(五)---------深入解析C#继承

    目录: [C#小知识]C#中一些易混淆概念总结--------数据类型存储位置,方法调用,out和ref参数的使用 [C#小知识]C#中一些易混淆概念总结(二)--------构造函数,this关键字 ...

  9. 【C#小知识】C#中一些易混淆概念总结(三)---------结构,GC,静态成员,静态类

    目录: [C#小知识]C#中一些易混淆概念总结 [C#小知识]C#中一些易混淆概念总结(二) ---------------------------------------分割线----------- ...

随机推荐

  1. 开源播放器 ijkplayer (二) :ijkplayer倍速变调问题解决方案

    转载注明出处:http://www.cnblogs.com/renhui/p/6510872.html 之前使用IjkPlayer做播放器的使用的时候,在做倍速播放的时候,发现播放的声音音调明显变高了 ...

  2. Sql语句出错:Unknown column 'CLAMP' in 'where clause'

    严重: Servlet.service() for servlet [jsp] in context with path [/management] threw exception [javax.se ...

  3. 从零开始学 Web 之 ES6(五)ES6基础语法三

    大家好,这里是「 从零开始学 Web 系列教程 」,并在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公众号:Web前端之巅 博客园:ht ...

  4. Eureka多机高可用

    线上Eureka高可用集群,至少三个节点组成一个集群,推荐部署在不同的服务器上,IP用域名绑定,端口保持一致. 10.1.22.26:876210.1.22.27:876210.1.22.28:876 ...

  5. C++学习总结(2)

    1.const指针 指向常量的指针变量,其一般形式为 "const 类型名 * 指针变量名 " . 如下: int a=12,b=15; const int *p=&a; ...

  6. biztalk rosettanet 自定义 pip code

    USE [BTARNDATA] GO /****** Object: StoredProcedure [dbo].[proc_GetActivityStatus] Script Date: 09/16 ...

  7. javascript中的iterable

    遍历Array可以采用下标循环,遍历Map和Set就无法使用下标.为了统一集合类型,ES6标准引入了新的iterable类型,Array.Map和Set都属于iterable类型. 具有iterabl ...

  8. python——文件读写

    open()函数用法: file-object = open(file_name, access_mode = ' ', buffering = -1) filename可以是相对路径或绝对路径,ac ...

  9. [Luogu4986] 逃离

    Description 给定次数为 \(n\) 的函数 \(A(x),B(x),C(x)\),求 \(A^2(x)+B^2(x)-C^2(x)\) 在 \([L,R]\) 的零点.\(n\leq 10 ...

  10. S5PV210 串口实验(中断方式)

    结合之前的串口实验(轮询方式)与中断体系分析,我们来做下中断方式的串口接收实验. start.S .global _start .global IRQ_handle _start: /* 关 Watc ...