智能表#
智能表是用于储存数据记录的通用关联属性解析表。每个智能表在数据库中都有自己的数据库表,因此需要唯一的元数据定义。此外,搜索优先键和顺序是智能表定义的重要部分。
系统智能表#
系统附带了一组智能表,这些表是系统正常运行所必需的。您可以在系统智能表页面中看到详细说明。
智能表页面视图#
数据视图#
列出智能表中包括的所有数据行。用户可以添加新行或编辑现有行。
定义视图#
- 智能表定义 - 显示有关实际表定义的信息。
- 属性 - 显示有关实际表定义的信息。
- 优先键 - 显示有关实际表定义的信息。
历史记录视图#
此视图整合了有关引用当前智能表对象的其他对象的信息:
- 历史记录 - 显示操作的历史记录、关联信息、执行更改的用户以及更改的日期和时间。
创建智能表#
SmartTable.Create
步骤1:一般数据#
- 输入智能表的名称。
- (可选)输入描述。
- 指定表是否应保留历史记录信息。
- 定义历史记录中默认显示的天数。
- 选择是否允许为同一个键使用多个值。
- 选择是否为智能表激活变更控制。请向下滚动,查看更改受控智能表部分以了解更多信息。
- 输入用于在本地化消息中引用的键。
- (可选)定义用于预验证数据的规则。
- (可选)定义用于后验证数据的规则。
- 按下一步以定义智能表属性
步骤2:属性#
-
按下按钮可以根据需要添加任意多个属性(可以通过按按钮删除属性)。对于每个属性,必须输入:
-
名称;
- 描述;
- 键状态(注意:将字段设置为键也会强制设置必需状态);
- “必需”状态;
- 该属性是否会在数据库中编入索引;
- 引用类型(取决于引用,需要在下面提供其他详细信息)。
- 无
- EntityType
- 实体版本 - 需要特定可版本化的实体类型和它所引用的属性
- 枚举 - 需要指定特定枚举
- 查找表
- 查找值 - 用作值引用的表的名称
- 数据类型 - 取决于引用类型
- 大小(仅适用于某些数据类型,例如VARCHAR、十进制等)
- 小数位数,仅适用于“十进制”数据类型。必须小于或等于“大小”。
- 验证范围(可选)- 类似于“[start:end]”的字符串,用于指定开头和末尾之间的范围末尾的开括号可排除限值,例如:]1:10] 可排除数字1,但包括数字10。
- 验证正则表达式(可选)
-
默认值(可选)
-
按下一步以配置优先键。
Warning
十进制范围验证必须使用当前文化定义的十进制分隔符。
Warning
在SQL Server中,所有索引键列的最大总大小都有900字节的限制。
步骤3:优先键#
此步骤用于配置智能表的优先键。搜索始终按照定义优先键的顺序执行。
-
按下或可添加和删除优先键。
-
按下完成以完成向导。
步骤3:生成架构#
SmartTable.GenerateSchema
步骤1-3用于创建表定义。要在数据库中创建架构并使其能够在系统中的任何位置使用,必须实际创建智能表并将其插入数据库,以便将其激活。
在“智能表定义视图”中按生成架构按钮,即可生成该架构。
Info
若要生成架构,表必须至少定义一个键。
编辑智能表定义#
SmartTable.Edit
要编辑智能表的定义,请打开“定义”视图,然后按按钮。此时将显示一个向导,用于编辑基本详情以及添加或删除属性或优先键。按完成将保存新设置。
Warning
以上步骤仅用于修改表定义。要应用更改,必须按生成架构按钮。为智能表生成架构后,将无法再删除属性或优先键。
终止使用智能表#
SmartTable.Delete
要终止使用智能表,必须打开智能表详细信息并按终止使用按钮。
Warning
如果智能表被活动对象引用,则无法终止使用。
编辑智能表数据#
SmartTable.EditData
要编辑智能表数据,请执行以下操作:
- 打开所需的智能表数据视图。
- 按顶部功能区上的按钮添加新记录。
- 按按钮将打开一个对话框,允许用户编辑现有记录。
- 单击值并按顶部功能区上的按钮可删除现有记录。
- 按保存提交更改。
Info
要编辑智能表值,必须已生成该表。
更改受控智能表#
可以通过智能表定义中的配置来启用或禁用更改控制。 启用更改控制后,对智能表的修改必须遵循正常的变更集审批流程。
当智能表嵌入对象(例如StepChartContext),并且该对象是步骤的一部分时,智能表将不再能作为主对象的一部分进行编辑。此时将使用单独的向导来管理智能表的更改,如下图所示。
Info
同一个智能表行不可能有两个待定更改。
通过单击待处理更改选项卡,可以查看待定更改。









