在本文中,我们将介绍ax2012中x++表的一些常用属性,以及它们的作用和用法。x++表是ax2012中存储数据的基本结构,它们可以通过表浏览器或代码来创建和修改。表的属性可以影响表的行为、性能和安全性,因此了解它们的含义和设置方法是很重要的。
表的属性可以分为以下几类:
- 基本属性:这些属性定义了表的名称、标签、帮助文本等基本信息,以及表是否启用缓存、日志、版本控制等功能。
- 关系属性:这些属性定义了表与其他表之间的关联关系,包括主外键、索引、删除操作等。
- 安全属性:这些属性定义了表的访问级别、权限组、数据隔离等安全设置。
- 扩展属性:这些属性定义了表的扩展功能,如工作流、数据导入导出、数据实体等。
下面我们将逐一介绍这些属性的具体含义和用法。
基本属性
基本属性是表的最基本的信息,它们可以在ax2012中的开发工作区中的AOT(应用对象树)中找到。在AOT中,选择一个表,右键单击,选择“属性”,就可以看到该表的所有基本属性。下面是一些常用的基本属性:
- Name:表的名称,必须唯一且符合命名规范。
- Label:表的标签,用于在用户界面中显示表的名称。
- HelpText:表的帮助文本,用于在用户界面中提供表的简要说明。
- ConfigurationKey:表的配置键,用于控制表是否可用。配置键可以在系统设置中启用或禁用,以便根据不同的业务需求选择性地使用某些功能模块。
- CacheLookup:表的缓存查找方式,用于提高表的访问速度。缓存查找方式有以下几种:
- None:不使用缓存,每次访问表时都从数据库中读取数据。
- Found:使用缓存,但只缓存已经查找过的记录。如果查找一个新记录,就会从数据库中读取并加入缓存。
- EntireTable:使用缓存,并且缓存整个表的数据。这种方式适合数据量较小且变化不频繁的表。
- SaveDataPerCompany:表的数据是否按公司分开存储。如果该属性为Yes,则每个公司都有自己独立的数据集;如果为No,则所有公司共享同一份数据集。该属性只能在创建表时设置,之后不能修改。
- LogDataChanges:表的数据变化是否记录日志。如果该属性为Yes,则每次对表进行插入、更新或删除操作时,都会在SysDatabaseLog表中记录操作类型、操作时间、操作用户等信息。这种方式可以用于审计或恢复数据。
- VersionControlPropertiesEnabled:表是否启用版本控制。如果该属性为Yes,则每次对表进行修改时,都会在SysVersionControlSystem 表中记录修改内容、修改时间、修改用户等信息。这种方式可以用于跟踪或回滚修改。
关系属性
关系属性是定义表与其他表之间关联关系的属性,它们可以在AOT中的“关系”节点下找到。在“关系”节点下,可以添加多个关系对象,每个关系对象代表一种关联关系。关系对象有以下几种类型:
- Normal:普通关系,表示两个表之间存在一对多或多对多的关联关系。例如,在CustTable(客户表)和SalesTable(销售订单头)之间,可以定义一个Normal关系,表示一个客户可以有多个销售订单,一个销售订单只能属于一个客户。
- ForeignKey:外键关系,表示两个表之间存在一对多的关联关系。例如,在SalesLine(销售订单行)和SalesTable(销售订单头)之间,可以定义一个ForeignKey关系,表示一个销售订单头可以有多个销售订单行,一个销售订单行只能属于一个销售订单头。在这种关系中,SalesLine表的SalesId字段是外键字段,它引用了SalesTable表的SalesId字段。
- UniqueIndex:唯一索引关系,表示表中某个字段或字段组合的值必须唯一。例如,在CustTable(客户表)中,可以定义一个UniqueIndex关系,使得AccountNum字段的值在整个表中都是唯一的。
安全属性
安全属性是定义表的访问级别和权限设置的属性,它们可以在AOT中的“权限”节点下找到。在“权限”节点下,可以添加多个权限对象,每个权限对象代表一种访问级别。权限对象有以下几种类型:
- NoAccess:无访问权限,用户不能对表进行任何操作。
- Read:读取权限,用户只能查看表的数据,不能进行插入、更新或删除操作。
- Update:更新权限,用户可以查看和更新表的数据,但不能进行插入或删除操作。
- Create:创建权限,用户可以查看和插入表的数据,但不能进行更新或删除操作。
- Correct:纠正权限,用户可以查看、插入和更新表的数据,但不能进行删除操作。
- Delete:删除权限,用户可以查看、插入、更新和删除表的数据。
扩展属性
扩展属性是定义表的扩展功能的属性,它们可以在AOT中的“扩展”节点下找到。在“扩展”节点下,可以添加多个扩展对象,每个扩展对象代表一种扩展功能。扩展对象有以下几种类型:
- WorkflowEnabled:工作流启用属性,表示表是否启用工作流功能。如果该属性为Yes,则可以为该表定义工作流规则,并在用户界面中启动和管理工作流实例。
- DataImportExportEnabled:数据导入导出启用属性,表示表是否启用数据导入导出功能。如果该属性为Yes,则可以使用Excel或CSV文件来导入或导出该表的数据。
- DataEntityEnabled:数据实体启用属性,表示表是否启用数据实体功能。如果该属性为Yes,则可以将该表映射到一个数据实体,并通过OData服务来访问该数据实体。