# 外键选择
# 使用场景
把其它表单的数据显示在当前表单中,同时也支持把关联的表单的数据写入当前表单的组件中。 例如,实现【产品出入库】中的两个场景
- 可在当前表单中,直接选择【产品】单中的数据
- 将多条产品的相关数据(名称、规格、颜色等)填充到当前表单的控件

# 表单设计
【外键选择】配置视频教程 (opens new window)
拖动【外键选择】组件置于画布区,并在组件属性区进行关联配置。
# 关联设置

# 1.关联类型

(1)本表:选择当前表单的字段进行关联
(2)本应用其他表单:可选择同应用下的其它表单中的字段进行关联
(3)其他应用表单:可选择其他应用下的表单中的字段进行关联
(4)输出表:可选择经过数据流聚合计算后的数据字段进行关联
(5)聚合表:可选择同应用下的聚合表中的字段进行关联
# 2.关联表单
选择本应用、或其他应用内的表单作为关联,当关联类型为“本表”时不显示。
# 3.关联/显示字段
选择关联表单中的组件作为关联字段,在运行端的列表和表单中,都可显示该字段的值。
如下图,选择【产品】表中的型号作为关联字段

在选中表单【产品表】后,显示“型号”

# 外键选择设置

# 1.外键配置
(1)展示关联表字段 

如上图,合同表中的客户名称是外键,关联到客户表的客户名称字段,那么客户表称为关联表,客户表中的客户类型是外键,关联到类型表中的类型名称,那么类型表称为外键表。所以,【关联表字段】即客户表中的字段,【外键表字段】即类型表中的字段。如果关联表字段是外键的话,那么就需要选择外键表字段。
① 展示关联表字段:
仅在表单中展示关联表的字段,提交表单后并不会把数据存储在表单内。
支持组件:单行文本、多行文本、数字、单选选择、多项选择、日期、时间、外键选择、日期时间、图片上传、评分、生成编码、地理位置、部门单选、部门多选、人员单选、人员多选、地址选择器

② 写入关联表字段:
把关联表字段的值写入本表字段内,提交表单后会把数据存储到本表内。
支持组件:单行文本、多行文本、数字、单选选择、多项选择、日期、时间、外键选择、日期时间、图片上传、评分、生成编码、地理位置、部门单选、部门多选、人员单选、人员多选、地址选择器

(2)外键搜索条件
支持基于外键关联表字段进行组合条件查询,实现数据精准匹配检索,有效提升数据查询与筛选效率。
支持组件:单行文本、多行文本、数字、单选选择、多项选择、日期、时间、外键选择、日期时间、评分、生成编码、部门单选、部门多选、人员单选、人员多选
| 管理后台 | PC运行端 | 移动运行端 |
|---|---|---|
![]() | ![]() | ![]() |
(3)数据排序 
对可选的外键关联表的内容进行排序,可以在外键的选择框中优先显示需要选择的字段。
例如:在【出入库明细表】中,“产品型号”为外键,配置排序规则为“成本”降序,则选择数据时,数据按成本从大到小进行排列,满足用户快速选择成本较大的产品这一场景。

数据排序的更多功能详解,可参见表单设计-关联字段 (opens new window)
(4)数据过滤
对可选的外键关联表的内容进行筛选
可选择的组件:外键选择、单行文本、多行文本、数字、单项选择、多项选择、日期、日期时间、评分、级联选择、生成编码、部门多选、地址选择器、人员单选、人员多选、部门单选
可选系统字段:创建人、创建时间、修改时间、当前处理人、当前节点、流程状态
例如:【出入库明细表】中,仅可选择【产品表】中类型为【家具用品】的产品。

数据过滤的更多功能详解,可参见公共类组件-数据过滤 (opens new window)
(5)联动筛选 当一个表单内存在两个相关联的外键时,可以实现外键间数据的联动。
注:
1)若关联表单字段“单行文本”类型联动当前表单字段“外键选择”类型时,“单行文本”的值需与“外键选择”的值完全匹配才能筛选出来。
2)若外键绑定的是部门组件,部门组件配置的是全路径,那和单行文本匹配的时候,匹配的是部门全称:通用产品部->产品管理部->产品二组->成员,值得注意的是,单行文本输入部门全路径时“>”必须为全角才能与外键选择(部门单选)匹配。
例如,在【合同管理】中,录入合同信息时,当选择外键1【所属客户】时,外键2【关联商机】自动筛选出该客户所关联的商机名称。(Ps:【商机录入】表单内的“客户名称”字段,与【客户信息】表单内的“客户名”使用了外键进行关联)

配置方法:
(1) 首先,创建好【客户信息表】【商机登记表】,并将【商机登记表】中的“所属客户”字段与【客户信息表】中的“客户名称“通过外键进行关联;

(2) 创建【合同登记表】,同样添加外键字段【所属客户】,关联【客户信息表】;

(3)新增外键【关联商机】,关联表单【商机登记】,并设置联动筛选;

设置【商机登记】表中的“所属客户”=本表字段(即【合同登记表】中)的”所属客户“,即可实现当选择A客户时,自动筛选出关联A客户的相关商机。
(6)操作权限
当外键选择在可写状态下,支持开启允许当前表单直接针对关联表进行添加、编辑操作。
场景:在【合同管理】中,录入合同信息时,当选择外键【客户名称】时,发现无所需的客户数据,若开启了允许添加至关联表则可以添加一条新数据。

配置方法: 在管理后台,点击外键配置-操作权限,勾选“添加至关联表”或“编辑关联表数据”,可选择对应的字段模板。

注:
1、外键关联表中的关联组件(外键、子表单、子表关联),支持嵌套引用子表单、子表关联、多表关联、关联查询组件,多级数据嵌套能力在移动端暂未兼容支持。
2、若外键存在于关联组件的关联表中,「添加 / 编辑关联表」功能仅在 PC 端生效,移动端暂不支持该操作。

3、若外键存在于单层表单中,PC 端和移动端均支持使用「添加 / 编辑关联表」功能。
| PC端 | 移动端 |
|---|---|
![]() | ![]() |
(7)外键穿透 
在查看表单详情时,允许查看外键关联的表单数据。 例如:在出入库明细表中,查看【产品型号】的数据明细。

# 2. 默认选择方式

| pc端下拉选择 | pc端弹窗选择 | 移动端仅一种方式 |
|---|---|---|
![]() | ![]() | ![]() |
# 3.附加显示字段

除了显示关联字段的内容外,再展示更多的字段内容,方便用户识别选项并作出选择,效果如下图所示;
支持组件:外键选择、多行文本、数字、单选选择、多项选择、日期、时间、日期时间、评分、生成编码、地理位置、部门多选、地址选择器、人员单选、人员多选、部门单选
| 下拉选择 | 弹窗选择 |
|---|---|
![]() | ![]() |
# 4. 默认值
打开表单时,该字段将自动选中并填充预设默认值。
# 5. 优先加载
支持在重复多次填单时,自动加载出上次填写的内容
# 6. 无适合选项
支持配置该字段,当无适用选项时,可选择 “无” 作为可选值。

# 7.搜索条件样式
支持简洁型、通用型两种展示样式,配置仅在 PC 端生效。
| 简洁型 | 通用型 |
|---|---|
配置的搜索条件将收纳于按钮内,点击按钮即可展开并进行多条件筛选。![]() | 配置的搜索条件默认全部展示在列表上方,当内容超出一行时自动折叠收起。![]() |
# 8.可用条件
详情可查看公共组件-可用条件 (opens new window)















