设计手册
遇到问题了吗?不用担心,答案都在这。
全站搜索

数据抛转

数据抛转

设置了数据抛转的动作单击钮后,用户就能直接在来源表单单击动作单击钮来将某一笔保存的数据新增拷贝到另一张表单。 (你可以设计选择拷贝全部的字段数据或是只选择某些字段做数据抛转)

数据抛转这类型的链接方法又跟多版本表单不一样。

数据抛转的意义在于,当你抛转某一笔数据的时候,其中的数据会被拷贝到另一张表单中,并存成一笔新数据,所以两边的数据会是不相关的。

因此,你可以改写被抛转的数据而且不会影响数据来源。

设置抛转数据到另一张表单

想把表单中的一笔数据抛转到另一张表单并另外存成一笔数据,你可以在来源表单的设计模式下,

点选工作链接表选择数据抛转

以下面的例子来说,我们要创建一张销售订单,不过内容是来自给客户的报价单。

报价单这张表单中已经含有销售订单会需要的数据了,要不要下订单是顾客的选择,所以我们不想在这两张表单中有链接,所以使用数据抛转。

销售订单的表单体系结构与报价单的长得很像,虽然实际要设置数据抛转时,表单之间并不需要有相似的设计或是要包含很多个可以抛转数据的字段,但这样一致性的设计对于修改或是辨认很有帮助。

在来源表单进入设计模式,也就是我们范例中的报价单表单,我们要来设置将报价单中某些数据抛转到销售订单中。

单击表单工具,在自订单击钮下,选择数据抛转

选择要将数据抛转到哪张表单,这里我们要选择销售订单

接下来你就可以开始对应字段,来决定要将这张表单中(报价单)哪个字段的值抛转到另一张表单(销售订单)的哪个字段。

利用加号可以新增更多组对应的字段。也可以点选右侧的"自动选择字段",点选过后系统会将两边相同字段名称的字段自动对应。

你可以将两张表单的所有字段都做对应来将数据抛转,也可以只选择部分字段。

对应两张表单的字段时,两边的字段名称可能不同,所以在做对应时,要确认好是否对应正确。

没有问题后,单击创建数据抛转动做单击钮

接下来就会退出信息让你输入这个动作单击钮的名称。

在这边我输入"从报价单创建销售订单"

动作单击钮的名称建议简单明瞭,这样其他用户在使用数据库时也会比较方便。

以上步骤完成后,动作单击钮就会被新增在表单内了。

你可以从表单设置中的动作单击钮看到。

记得单击保存设计,新增抛转数据动作单击钮的步骤就完成了!

利用动作单击钮来抛转数据

前面我们已经在报价单表单利用链接工具中的抛转数据功能,创建了动作单击钮,所以我们在报价单保存了一笔数据后,可以看到此动作单击钮。

用户单击了这个单击钮以后,就会把此笔报价单的内容,依据刚刚做的字段对应设置,新增拷贝到销售订单中。

所以你会看到,销售订单有一笔新的数据,而且内容是从我们单击动作单击钮的那一笔报价单数据抛转过来的。

不仅一般的字段数据可以被抛转,连子表格中的产品项目数据也都被抛转了。

在同一笔数据多次单击这个动作单击钮的话,就会在另一张表单生成多笔新的数据,也就是说,我们如果在某一笔报价单数据单击了多次的抛转数据动作单击钮,那么就会有很多笔都是根据这张报价单所生成的销售订单数据。

如要避免同一笔数据被多次抛转,可以参阅此篇说明.

之后如果有需要在此动作单击钮新增更多对应字段的话,也可以回到设计模式下,在链接工作表中>数据抛转下此组动作单击钮,点选名称后就可以编辑或新增对应的字段。

从子表格抛转数据

除了将一般表格的数据抛转到另一张表单的一般表格,你也可以将子表格的字段数据抛转到另一张表单,可以是子表格抛转到子表格,也可以是子表格抛转到一般表格。

请注意:子表格的一个字段可能包含超过一个值(在子表格上显示为多行数据),抛转时,会全部一起抛转,无法指定要抛转哪一行,毕竟每一笔数据会包含的子表格数据都不同。

以下分别说明从子表格抛转的两种情形。

子表格抛转到子表格:从前面“报价单抛转创建销售订单”的案例演示中,我们已经可以看到“子表格抛转到子表格”的例子,设置抛转单击钮时,除了将报价单的“报价单号”、“报价对象”等一般字段值抛到销售订单的一般字段中,也将报价单的“项次”、“产品名称”等子表格字段抛到销售订单表单对应的子表格字段,单击一次单击钮,就会抛转创建一笔数据。

子表格抛转到一般表格:状况略有不同,假设子表格有N列数据,单击一次单击钮,会在对应的表单抛转创建N笔数据。以下以一个案例来说明。

假设我们有一个“报价单”表单,和一个“商品报价纪录”的表单,希望从“报价单”表单的子表格,抛转数据到“报价纪录”表单的一般表格。

“报价单”有报价单编号字段,以及项次、产品名称、单价、数量、金额等子表格字段。

“报价纪录”有报价单编号、项次、产品名称、单价、数量、金额等字段。

在“报价单”表单进入设计模式,在表单工具 > 链接工作表 > 数据抛转,设置将数据抛转到“报价纪录”表单,创建一个“从报价单抛转报价纪录”的动作单击钮,保存设计。

完成后,抛转数据时,由于这张报价单的子表格包含3项商品报价,报价纪录表单会自动创建3笔对应数据。

进阶设置:套用子表格筛选条件

如果你的抛转来源有子表格字段时,你可以套用筛选条件来抛转符合条件的子表格数据即可,例如报价单转订单时,或许客户回签的报价单中最后只选择购买某几个项目而非全部,而你的子表格中有字段记录"是否确定购买"的话,你就可以搭配此设置来套用筛选条件。

以下图为例,报价单中原本报价了三个项目,但最后客户只需要购买其中两项,子表格中也有字段记录要购买的是哪两个项目:

原本直接抛转成订单的话,会将全部的子表格数据一并抛转过去,抛转过去后你会需要"手动"删除不需要的子表格项目,但你若在抛转动作单击钮的进阶设置套用子表格筛选条件,则可以将此自动化。

根据设置的条件,抛转创建的订单中,只会有符合条件的两笔子表格数据:

进阶设置:套用子表格分群条件

如果你的抛转设置有对应子表格字段抛到独立字段+子表格字段抛到子表格字段,意即子表格有N笔数据,就会抛转成N笔独立数据,并且每笔独立数据中都有同样的N笔子表格数据(详细说明可以参阅这个章节)但若你希望的是这些子表格数据,其实要根据某个字段的值分成N群后,来决定生成N笔独立数据,并且根据分群后的结果决定每笔数据中的子表格数据有多少笔的话,你可以搭配此设置来套用子表格分群条件。

当我的销售订单想要透过抛转单击钮来创建采购单时,如果我设计的抛转单击钮对应的是独立字段抛到独立字段+子表格字段抛到子表格字段,那我一笔销售订单只会抛成一笔采购单,但若你销售订单中的各个销售项目其实是要向不同厂商采购的话,直接这样抛转会需要"手动"根据你总共要采购的厂商数量来运行抛转N次,并逐笔手动选择该笔采购单的厂商以及删除不是属于这个厂商的采购项目子表格数据。

以下图为例,如果这张销售订单的多个销售项目总共是来自两家不同厂商:

透过抛转单击钮的进阶设置-套用子表格分群条件,根据子表格抛转到独立字段的"厂商编号"来做为分群的条件:

我就可以直接抛转成给两家厂商的采购单,并且各自包含属于该厂商的子表格项目:

备注

如果你设置为分群条件的字段值在数据中是空值时,默认是不会被分群并进行抛转,但若你希望没有填写的分群字段值也要被抛转(空值自成一群的话),可以勾选"分群字段值为空值的子表格数据也可以被抛转"。

子表格与一般表格的数据抛转关系

子表格与一般表格的数据抛转关系如下表。

抛转来源 抛转到一般表格 抛转到子表格
从一般表格 可以(会创建对应的一笔数据) 不行
从子表格 可以(会创建对应的N笔数据,N为子表格列数) 可以(会创建对应的一笔数据)

说明:由于一般表格一个字段只有一个值,而子表格一个字段可能有超过一个值,因此你不能在Ragic将一般表格的数据,抛转到子表格,系统会设置阻塞。

动作单击钮的移除及附加设置

关于移除动作单击钮可以参阅这篇

或是要针对动作单击钮做附加设置的话,例如限制使用使用动作单击钮的权限等,可以参阅这篇说明

回最上面 目录
瞭解更多:
我们为什么要开发Ragic?
免费课程
使用说明
Ragic定价
Ragic应用
最新信息:
博客
Facebook
YouTube
北京立即科技有限公司
info@ragic.com
京ICP备2022003680号