如何从子表单迁移至关联子表?
1. 简介
1.1 功能简介
本文将介绍从子表单字段切换为关联子表字段,并迁移历史数据的具体操作步骤。
注:迁移前,建议先参考 子表单和关联子表的区别,了解两者的区别与适用场景,确保迁移符合业务需求。
1.2 迁移方案
迁移的整体思路为:
- 将子表单内容迁移到一张单独的表单中,并建立该表和主表的关联关系;
- 建立关系后,便可在主表中通过关联子表字段来绑定这张表单,实现一同填报、查看等操作。
根据用户的现有配置类型,本文提供如下所示的两类迁移方案,并给出相应的迁移示例:
- 方案一:仅有子表单字段,参考本文第二节进行迁移;
- 方案二:有子表单字段和子转主辅助表,参考本文第三节进行迁移。
2. 仅有子表单
迁移思路:
- 第一步:通过关联子表字段,来新建并绑定一张单独表单(即 关联表);
- 第二步:将所有子表单数据导入到关联表中,且导入时建立每条子表单数据与主表数据的关联关系。
本节示例:
- 将「销售订单」表中的销售明细子表单切换为关联子表字段。迁移时,还希望每条订单明细也能和「产品信息」表建立关联关系,便于在「产品信息」表中了解产品的销售情况。
2.1 新增关联子表及关联表
新增关联子表字段,来新建并绑定一张关联表。具体步骤如下:
1)进入「销售订单」表的设计页面,添加一个「关联子表」字段,选择关联表来源为「从空白新建」,重命名表单为「销售订单明细」后,点击「设计关联表」前往新标签页进行「销售订单明细」表的设计。
2)参考销售明细子表单中的子字段,同步在「销售订单明细」表中添加相应字段。例如,子表单中包含产品编码、产品名称等子字段,则「销售订单明细」表中也需添加产品编码等字段。
注:此处子字段中选择数据的功能,可被后续步骤 4)中添加的关联数据替代,故无需添加选择数据字段。
3)参考子表单及子字段的字段属性,同步设置「销售订单明细」表中各字段的属性,如公式编辑、必填等。例如,需要对销售金额字段进行公式设置,为标准单价*销售数量。
4)继续添加一个关联数据字段,选择「产品信息」表作为主表,并根据业务需求设置 字段属性,便于后续使用。例如,可以将所选产品的产品编码、产品名称等信息填充到表单的已有字段中。
5)最后,根据业务需求为成员设置「销售订单明细」表的 数据管理权限。以管理全部数据权限为例,效果如下:
2.2 设置关联子表
回到「销售订单」表进行关联子表的设置:
- 修改字段名称为「销售明细」;
- 参考原子表单及实际需要,勾选显示字段,包括:关联销售订单、关联产品、产品名称、产品编码、品牌、规格型号、单位、标准售价、销售数量、销售金额;
- 勾选所需数据操作,包括:允许新增关联表数据、允许导入、允许导出、随主数据一同新增(建议勾选)。
注:此处仅演示字段切换流程,不再赘述关联子表的配置方式,详情可参考:关联子表。
2.3 迁移数据
将子表单数据迁移至「销售订单明细」表时,由于每条订单明细都需通过唯一值来匹配到对应的销售订单和产品数据,以建立和对应销售订单、销售产品间的关联关系,确保后续可以通过关联子表来操作这些历史数据。
故导出时,除子表单数据外,还需导出用于匹配的值(即主键),如销售订单编号、产品编号。具体步骤如下:
1)导出子表单数据
进入「销售订单」表的「数据管理」页面:
- 点击「导出 >> 全部数据」按钮;
- 选择导出字段,包括销售订单编号和销售明细子表单的所有字段;
- 下载导出数据文件,用于后续导入。
2)导入数据至「销售订单明细」表
进入「销售订单明细」表的「数据管理」页面:
- 点击「导入」并上传刚刚导出的文件;
- 标题行选择第二行,并进入如下字段设置;
- 将「销售订单编号」导入至「关联销售订单」,选择匹配字段为「销售订单-销售订单编号」;
- 将「产品编码」导入至「关联产品」,选择匹配字段为「产品信息-产品编码」。
注:导入时,由于 Excel 中的产品编码导入到了关联数据字段「关联产品」中,所以没有数据导入到产品编码字段,导致该列值为空。为避免该情况,可提前将 Excel 中的产品编码再复制一列,导入时,将复制列导入至产品编码字段即可。
3. 有子表单和子转主辅助表
迁移思路:
- 第一步:在辅助表中添加关联数据字段,来构建和主表的关联关系;
- 第二步:在主表中通过关联子表字段,来绑定这张辅助表(即 关联表);
- 第三步:借助智能助手Pro,建立关联表中所有已有数据与对应主表数据间的关联关系。
本节示例:
- 将「销售订单」表中的销售明细子表单切换为关联子表,并迁移辅助表「销售订单明细」中的历史数据。迁移时,希望每条订单明细也能和「产品信息」表建立关联关系,便于在「产品信息」表中了解产品的销售情况。
3.1 新增关联数据
1)进入「销售订单明细」表的设计页面,添加一个关联数据字段,重命名为「关联销售订单」,选择「销售订单」作为主表,并根据需求设置 字段属性。例如,将所选订单中的客户名称等信息填充到已有字段中。
2)继续添加一个关联数据字段,重命名为「关联产品」,选择「产品信息」作为主表,并根据需求设置 字段属性,便于后续使用。例如,将所选产品的编码、规格、售价等信息填充到当前表单的已有字段中。
3.2 新增关联子表
1)进入「销售订单」表的设计页面,添加一个关联子表字段,选择表单为「销售订单明细」后,点击「确定」。
2)进一步对关联子表字段进行如下设置:
- 修改字段名称为「销售明细」;
- 参考原子表单及实际需要,勾选显示字段,包括:关联销售订单、关联产品、产品名称、产品编码、品牌、规格型号、单位、标准售价、销售数量、销售金额;
- 勾选所需数据操作,包括:允许新增关联表数据、允许导入、允许导出、随主数据一同新增(建议勾选)。
注:此处仅演示字段切换流程,不再赘述关联子表的配置方式,详情可参考:关联子表。
3.3 迁移数据
通过智能助手Pro,将「销售订单明细」表中每条订单明细对应的订单数据 ID、产品数据 ID 分别赋值给关联数据字段「关联销售订单」和「关联产品」,以建立订单明细和对应销售订单、销售产品间的关联关系,确保后续可以通过关联子表来操作这些历史数据。
注:
1)具体赋值原理可参考:关联数据【4. 字段填充能力】。
2)本方案单次仅能迁移 200 条数据。若数据超出 200 条,或是需要同时赋值更多关联数据字段,可以结合 如何快速迁移至关联数据 中提供的扩展方案,来一次性迁移所有历史数据。
具体操作步骤如下:
1)进入「销售订单明细 >> 扩展功能」,新建一个智能助手Pro,选择触发方式为「定时触发」。
2)选中触发节点,并进行如下设置,使智能助手Pro 能够在设定的时间触发。
- 触发时间类型:自定义时间;
- 开始触发时间:2025-02-09 00:00;
- 重复触发:不重复触发。
3)添加一个 查询多条数据节点,修改节点名称为「查询待迁移数据&关联订单」,选择目标表单为「销售订单明细」,并添加查询条件「关联销售订单」为空,将需要迁移的订单明细数据查询出来。
4)添加一个 查询多条数据节点,修改名称为「查询订单数据」,选择目标表单为「销售订单」,并添加查询条件销售订单编号「等于」查询待迁移数据&关联订单--销售订单编号,查询出各订单明细所对应的订单数据。
5)添加一个 修改数据节点,将对应订单数据的数据ID,赋值给关联数据字段。
- 修改节点名称为「更新关联销售订单字段」;
- 选择修改对象为「选择节点修改数据」,目标节点为「查询待迁移数据」;
- 设置字段值为关联销售订单「=节点字段值」查询订单数据-数据ID;
- 设置匹配关系为销售订单编号「等于」查询订单数据-销售订单编号。
6)重复上述步骤 3、4、5,顺序添加两个 查询多条数据节点,分别用于查询出待迁移的订单明细数据和各明细所对应的产品数据,以及一个 修改数据节点,将对应产品数据的数据ID,赋值给关联数据字段。具体设置如下:
添加节点 | 具体设置 |
第一个 查询多条数据节点 |
|
第二个 查询多条数据节点 |
|
|
7)完成上述配置后,便可将智能助手Pro 投入使用。智能助手Pro 执行后,「销售订单明细」中所有数据的「关联销售订单」和「关联产品」字段将不再是空值。如下图所示:
4. 效果演示
完成迁移后,即可在「销售明细」表中通过关联子表字段查看相应的历史销售明细数据,同时还可进行一同填报、查看、导出「销售订单明细」数据等操作。以查看历史数据为例,效果如下所示: