ItemType 对象类
介绍在 Aras 管理端中配置和修改 ItemType 的基础步骤,包括属性定义、关系类型、表单绑定以及生命周期与权限控制。
核心属性与数据库映射
当你在 Aras 中新建一个 ItemType 时,系统会自动执行以下元数据操作:
- 在 SQL Server 数据库中生成一张名为
[innovator].[NAME]的物理数据表。 - 为该表自动添加一系列系统属性(例如
id,created_by_id,created_on,modified_by_id,state等)。
| 配置项 | 描述 |
|---|---|
| Name | 对象的内部物理标识,决定 SQL 表名。例如命名为 Part,对应的表为 [innovator].[PART]。 |
| Singular Label | 在客户端界面显示的单数中文名称,例如“零件”。 |
| Plural Label | 在目录区(TOC)显示的复数中文名称,例如“零件列表”。 |
| Use Versioning | 开启后,对象处于发布状态时进行修改会自动升版(如从 A 版升级到 B 版)。 |
属性类型(Properties)
属性用于定义数据表的字段,决定了数据的存储格式与输入约束:
| 属性类型 | 说明 | 示例或关联关系 |
|---|---|---|
| String | 字符类型,需要指定字段的物理长度(Length)。 | 用于存储编码、名称等。 |
| Integer / Float | 整数或浮点数类型。 | 用于存储数量、单价等数值。 |
| Date | 日期与时间类型,支持格式掩码。 | 存储创建时间、截止日期等。 |
| List | 键值对字典(Dropdown)。 | 关联自定义的 List 元数据。 |
| Item | 物理外键关联,必须在 Data Source 中指定关联的目标 ItemType。 | 在采购单中关联“供应商” (Vendor)。 |
| Foreign | 联动属性。自动拉取当前 Item 属性关联的对象中的其他字段值。 | 关联供应商后,自动带出供应商的“电话地址”。 |
| Federated | 联合字段。Aras 不会在物理表中为其存储值,其数值是通过 Server Method 在运行时动态计算或从外部 ERP 系统抓取。 | 适用于跨系统数据集成展示。 |
RelationshipType 关系类
Aras 支持一对多(1:N)以及多对多(M:N)的父子级实体关联:
- Source ItemType:关系的源头,即父对象(如
Purchase_Order)。 - Related ItemType:关系关联的目标,即子对象(如
Part)。 - Relationship Type:这本身也是一个特殊的 ItemType(继承了系统关系表字段如
source_id和related_id),用来配置底部 Tab 页的网格行为。
4. Form 表单与视图
每个 ItemType 都可以绑定一个或多个 Form(表单视图):
- 拖拽排版:支持直接拖拽属性控件,在 Form Tool 中完成输入框、单选/复选框和按钮的布局。
- 多视图支持:可以根据当前登录用户的 Identity(角色)或当前 Item 的状态绑定不同的 Form(例如:普通用户显示简化版表单,管理员显示完整表单)。
权限与生命周期
Aras 对业务数据的权限控制分为底层权限包控制和动态生命周期控制:
权限包 (Permissions)
每个 Item 都有一个默认的 Permission 规则,用于定义各个角色(Identity)的静态权限:
- Discover:决定该角色是否能通过检索发现此条记录。
- Get:决定该角色是否能打开读取此记录的详细内容。
- Update / Delete:编辑与删除权限。
生命周期 (Life Cycle)
定义业务对象所处的业务阶段,以及状态流转逻辑(如:Draft -> In Review -> Released -> Obsolete):
- 状态转移限制 (Transitions):控制允许执行流转的角色,以及是否需要配置电子签名(Esig)。
- 状态绑定权限 (State Permissions):在不同状态下自动切换数据权限。例如,在
Draft状态下允许创建者修改,流转到Released状态后自动切换为只读只允许浏览。
