Skip to content
赞助合作

本站右侧赞助位长期招租

联系我投放

RelationshipType 关系类

Aras Innovator 通过 RelationshipType 机制实现 ItemType 之间的关联。关系本身就是一种特殊的 ItemType,可以携带独立的属性,并在表单的 Relationship Grid(关系网格)中展示。


关系的基本结构

一条关系由三个部分组成:

组成部分说明
Source ItemType关系的父端(如 Purchase_Order
Related ItemType关系的子端(如 Part
RelationshipType关系的定义本身,保存在 RelationshipType 元数据表中
Relationship ItemType由 RelationshipType 创建时自动生成,用于存储每条关系实例的数据,包含 source_idrelated_id 两个系统字段

创建 RelationshipType

推荐的方式是从 Source ItemType 的 RelationshipTypes 标签页中操作,而不是单独到 Administration 下创建:

  1. 打开 Source ItemType 编辑
  2. 进入 RelationshipTypes 标签页
  3. 点击 Add ItemTypes,在弹窗中选择 Related ItemType
  4. 填写 Relationship Name(关系名)和 Tab Label(标签页显示名)
  5. 保存

系统会自动在数据库中生成对应的 Relationship ItemType 物理表。


RelationshipType 关键配置

配置项说明
Name关系名称,也是自动生成的 Relationship ItemType 的名称
Label关系标签页在父 Item 表单上的显示名称
Source ItemType父端 ItemType 名称
Related ItemType子端 ItemType 名称
Min Occurs最少必须关联的子 Item 数量(0 表示可选)
Max Occurs最多允许关联的子 Item 数量
Behavior关系实例创建时默认的版本行为:Fixed / Float
On New Related Option添加关系时允许的操作方式
Requires Related是否强制要求关联子 Item(禁止空行占位)
Open Related Form创建子 Item 时是否自动打开其表单
Auto Search关系网格加载时是否自动检索
Default Page Size关系网格每页显示行数
Grid View子 Item 属性列在网格中的位置:Left / Right / Intermix
Sort Order多个关系标签页之间的排列顺序

该配置决定了用户在关系网格中新增关联记录的方式:

选项行为
Pick Only只能从已有记录中搜索选择,隐藏 New Item 按钮
Create Only只能新建记录,隐藏 Add Item 按钮
Pick & Create两种方式都允许(默认)

关系类型模式

Aras 中存在几种典型的关系模式:

直接关系(Direct Relationship)

最常见的模式,Source 和 Related 是两个不同的 ItemType:

Design RequestDocument:一个设计申请关联多份文档

循环关系(Circular Relationship)

Source 和 Related 指向同一个 ItemType,典型例子是 BOM(物料清单):

PartPart BOMPart:一个零件可以包含多个子零件

空关系(Null Relationship)

Related ItemType 为空,关系实例仅用于在父 Item 上展示附加属性网格,不需要指向另一个 ItemType:

Design RequestComments:在设计申请上添加多条评论记录

创建 Null 关系时,直接在 RelationshipTypes 标签页点击 New RelationshipType,Name 留空,只填写 Relationship Name 和 Tab Label。

Null 关系必须有可见属性

如果 Null Relationship 的 Relationship ItemType 上没有任何可见属性(Hidden2 未勾选),网格将无法正常显示,操作会失败。

关系的递归关系(Relationship to Relationship)

Aras 允许关系指向另一个关系。标准方案中的 BOM Substitute 就是这个模式:在 Part BOM 的某条关系上,再关联一个替代件记录。


关系 vs Item 属性

当需要在两个 ItemType 之间建立连接时,可以选择使用关系(RelationshipType)或使用 Item 类型属性(Property,数据类型为 Item)。两者各有适用场景:

对比维度Item 属性RelationshipType
关系类型一对一一对多(支持多行网格)
附加信息无法携带额外属性关系本身可以有独立属性
Foreign 属性支持,可以直接拉取关联字段不直接支持,需要通过关系行访问
数据库开销较少(不新增表)较多(新增一张 Relationship 表)
界面呈现以超链接字段展示以关系网格标签页展示

选型建议:

  • 只需引用单条记录,且希望以超链接形式展示 → 用 Item 属性
  • 需要引用多条记录,或需要在关系上存储附加信息(如数量、备注) → 用 RelationshipType
  • 需要拉取关联记录的字段值用于显示 → Item 属性 + Foreign 属性组合更高效

常见建模示例

采购单 - 零件关联(直接关系)

Purchase_Order (Source)
  └─ Purchase_Order_Part (Relationship) ← 可携带 quantity、unit_price 等属性
       └─ Part (Related)

BOM 物料清单(循环关系)

Part (Source)
  └─ Part BOM (Relationship) ← 携带 quantity、reference_designator
       └─ Part (Related)      ← 子零件,子零件可以继续展开

变更单 - 备注记录(Null 关系)

Change_Request (Source)
  └─ Change_Request_Memo (Relationship) ← 携带 comments 字段
       └─ (无 Related ItemType)

本站内容仅供学习与参考

本站总访问量