字段介绍
Dynamic CRM中,实体是CRM业务数据的基本载体,而字段对于实体同样重要,是其核心部分。
CRM中新增实体后,系统会默认为实体创建一些不可编辑,不可删除的字段,如:主键,创建时间,创建人,修改时间,修改人,状态等等,以及和组织,时区等相关的字段,如下图(新建了实体:测试实体):
字段 一般有以下一些规则:
- 主键格式为:实体名+后缀Id,如以上实体主键为new_test1Id,new_test1为实体名。
- 字段new_name作为实体记录的默认名称,会默认显示在窗体和试图里。
- 实体字段创建后,不可修改数据类型和名称,其他如显示名称、字段要求(是否必填)等可修改。
自定义字段
除了默认字段,通常我们会根据业务需求,创建自定义字段,创建字段,有如下属性需要填写:
- 显示名称:在页面展示给用户看到的名称 (创建后可修改)。
- 名称:唯一逻辑名称,对应数据库表的列名,一般为系统设置的前缀+下划线+自定义字符串三部分组成(创建后不可修改)。
- 字段要求:即字段是否必填,有可选、业务必需的、业务建议的三种类型(创建后可修改)。
- 字段安全性:用于权限控制(后面章节会详细讲解)。
- 审核:审核启用后,系统会记录用户对该字段的各种操作,但是对性能有一定的消耗,建议非不要不开启。
- 说明:字段的描述(窗体中鼠标悬浮会显示描述内容,如下图)。
- 数据类型:13种数据类型(文本,整数,货币,查找等,创建后不可修改)。
- 字段类型:有简单、计算、汇总三种(后面章节会详细讲解)。
- 最大长度:字段的最大长度。
- IME模式:和输入法设置有关,可参考官方文档:https://learn.microsoft.com/en-us/power-apps/maker/data-platform/create-edit-field-portal#ime-mode
根据13中数据类型的不同,还有其他属性,如:文本类型有最大长度属性,选项集有默认值属性,浮点数有精度,最大/小值属性等等。
13种字段类型
Dynamics CRM有13种字段类型:单行文本、选项集、多选选项集、两个选项、图像、整数、浮点数、十进制数、货币、多行文本、日期和时间、查找、客户,如下图:
1、单行文本:字符串类,对应数据库的varchar,text等字段类型,对应c#语言的string数据类型 ,有如下几种格式:
不同格式有不同的作用,例如我创建了一个格式为“电子邮件”的名为“测试字段2”的单行文本字段,在窗体中我随意输入一段文字,则会提示“必须输入有效的电子邮件地址”的错误,如下图:
2、选项集:类似c#里的枚举,存入数据库只保存选项集数值,可以设置默认值,如下。
3、多选选项集:和选项集类似。
4、两个选项:对应数据库的bit字段类型,对应c#语言的bool数据类型。
5、图像:图片控件,名称默认为entityimage,字段要求不可选择,只有“可选”选项,一个实体只允许创建一个图像字段。
6、整数:正负整数,对应数据库的int字段类型,对应c#语言的int数据类型,数值范围为-2,147,483,648到2,147,483,648,如下。
7、浮点数:小数,对应数据库的float字段类型,对应c#语言的double数据类型,数值范围为-1,000,000,000.00到1,000,000,000.00,精度范围为0-5位。
8、十进制数:小数,对应数据库的decimal字段类型,对应c#语言的decimal数据类型,数值范围为-1,000,000,000.00到1,000,000,000.00,精度范围为0-10位。
9、货币:所有和钱相关的字段可以定义为此类型,对应数据库的decimal字段类型,对应c#语言的decimal数据类型,数值范围为-922,337,203,685,477.0000到922,337,203,685,477.0000,精度范围为0-4位,创建此字段后,系统会自动创建一个汇率字段和一个以_Base后缀的字段,如下图:
如果用原生sql语句插入数据时,上面两个字段要赋值。
货币字段在窗体表单中显示时,会有一个货币符号,如下图:
10、多行文本:和单行文本类似。
11、日期和时间:对应数据库的datetime字段类型,对应c#语言的datetime数据类型,如下图:
行为属性可以设置时区,格式可以设置为日期格式(2023/08/20)和日期和时间格式(2023/08/20 19:01:20)
12、查找:对应数据库的外键字段,比如创建一个用户实体,创建一个产品实体,产品实体里可以创建一个查找类型的字段,来指向用户实体,这样用户和产品之间就有了1:1关系(当然也有1:N,N:N关系,后续再讲解)。
13、客户:是特殊的查找类型字段,创建后和客户实体关联同时也会和联系人实体关联,如下图: