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

更新别张表单字段值

如果你希望在表单 A 的数据可以去改变表单 B 的数据,例如一张订单确认出货之后,可以扣该商品的库存,这一类需求就可以利用更新别张表单字段值单击钮。以下将用扣库存来演示这个功能,假设有两张表单,左边是“销售订单”,右边是“商品数据”。

创建更新别张表单字段值单击钮

由于是要从“销售订单”的数据去影响“商品数据”中的库存,因此要在“销售订单”中设置单击钮。进入表单页面设计模式后,选择 表单工具,并在 自订单击钮下找到更新别张表单的字段值

在窗口中设置要更新的表单,接着设置怎么更新以及在什么情况下更新。

怎么更新库存表单的字段值

将销售订单的“数量”字段

更新到:“-”(因为是要扣库存,所以选择“减”;若是设置入库则选择“加”)

商品表单的“总数量”字段

如果要一次更新多个字段的话,可以单击“+”来新增,更新字段值的顺序是由上往下运行的。

更新商品表单的字段值的条件

当销售订单的字段:商品编号

“等于”

商品数据的字段:商品编号

如果有多个条件的话,可以单击“+”来新增条件。设置多组条件的话,会在全部条件都满足的情况下才可以运行单击钮。假设条件有误会无法保存单击钮设置,可以参阅这篇来看常见的错误设置。

进阶设置

重新计算表单中的公式:假如你的目的表单中有其他字段设有公式并参照到数据更新影响的字段,记得勾选,如此以来,数据如果有透过数据更新动作单击钮被更新的话,设有参照这个字段的公式才会被重新运算。

创建复原单击钮:默认会勾选,多创建一个复原数据更新动作的单击钮,单击此动作单击钮可以复原之前单击下数据更新单击钮的结果。

保存时自动运行:保存新增或更新纪录时,系统自动运行更新别张表单字段值的动作。会确保只有以最新的数据来做更新,而一张表单只能有一组自动运行的更新别张表单字段值单击钮。

完成后,单击创建更新别张表单字段值动作单击钮,并命名单击钮。该单击钮就会被新增在表单设置下的动作单击钮中。每笔数据的表单页面中右下角也可以看到该单击钮。

离开前记得保存设计!

系统生成的日期时间字段

新增此单击钮的同时,系统会帮你新增了一个日期时间字段,这个字段用来自动纪录动作单击钮运行的日期及时间。更新别张表单字段值动作单击钮会需要此字段作为依据,因此请勿删除这个字段!

如果是 2017/06/01 之后新增或修改此动作单击钮的话,建议将此日期时间字段设成只读,避免用户手动修改动作单击钮运行结果的判断日期。

如果是 2023/03/21 之后创建此单击钮所自动生成的记录运行时间字段会有不可删除的属性,要先删除单击钮之后才能删除此字段。

运行更新别张表单字段值单击钮

在“销售订单”中可以看到,选择“单人座扶手椅”这个商品时,列表中显示目前该商品的库存为 35,而数据中的出库数量为 15。

新增并保存了这张订单后,单击右下方的“扣库存”单击钮。

系统会退出信息告诉你数据已经更新,并在系统创建的日期时间字段自动填上运行动作的日期及时间。

该商品库存已经被扣减 15,变为 20。

要复原“扣库存”的话,可以单击下“复原扣库存”动作单击钮(有勾选“创建复原单击钮”的话,才会看到“复原扣库存”单击钮)。单击完之后,会发现系统创建的日期时间字段值被清空了,代表目前是没有运行过更新别张表单字段值(扣库存)的动作。

(如果你是2017/06/01以前新增此动作单击钮,并且没有在此之后修改该动作单击钮设置的话,请参阅这篇说明来运行复原动作。)

运行完成后,该商品的库存数量就会复原到扣减前。

复原动作单击钮运行说明( 2017/06/01 前后)

旧的更新别张表单字段值单击钮设计要运行复原动作,需先手动将系统的日期时间字段值清空,再单击“复原扣库存”动作单击钮。

以下为复原单击钮在新旧(新旧分界为 2017/06/01)设计上的差异:

旧版:检查最后修改日期是否为空,若是则运行并更新最后修改日期。无防止连续运行复原之机制,只要判断的日期时间字段为空即可单击复原动作单击钮,可能运行多次复原。

新版:直接运行,并自动清空最后修改日期时间。若最后修改日期为空,则不运行复原,并回传运行成功(视为没有更新过,可避免连续运行复原)。

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

当更新别张表单字段值有包含子表格字段时,可以套用筛选条件来只更新符合条件的子表格数据。例如在“出库单”要透过单击钮扣库时,或许最后只出货了其中两项商品,而你的子表格中有字段记录“确定出货”的话,就可以搭配套用筛选条件。

以下图为例,“出库单”中原本有三个项目,但最后只出其中两项,子表格中也有字段记录是哪两个项目:

在进阶设置中选择套用子表格筛选条件

根据设置的条件,运行单击钮后就只会扣除有“确定出货”的子表格项目数量。

如何重复运行更新别张表单字段值动作单击钮

默认情况下,每一笔数据中一个更新别张表单字段值动作单击钮只能运行一次,系统会透过检查运行时间字段是否有值来避免重复运行。而需要重复运行的使用情境通常有两种:

1. 表单内容需要更新,希望针对新增的数据再次运行

此类重复运行通常更新方式为“+ 加、- 减”,若直接再次运行会造成重复加减的问题,因此会需要先运行复原动作单击钮,调整好数据后再重新运行。举例来说,如果有一张“出库单”中的子表格原本有两列品项,且已经运行过扣库存动作单击钮,而你希望新增第三列品项并且运行出库,操作步骤应为:

步骤ㄧ:运行复原动作单击钮

为复原既有两列品项的库存,以避免后续重复扣库存。运行复原动作单击钮时,系统会以现有的数据逆向运行,例如若原本减去 3 个库存,那么会以现有的数据再加回 3 个库存,并同时清空运行时间字段的字段值。

步骤二:于子表格中新增第三列品项,完成后再次运行扣库存动作单击钮。

2. 表单内容会持续更新,希望每一次保存都触发动作单击钮并更新目的表单的值

此类重复运行通常更新方式为“= 等于”。举例来说,来源表单和目的表单直接没有链接关系,但你希望 A 表单的字段值每一次变更都可以随时更新到 B 表单上,可以参阅以下设置:

步骤一:创建更新别张表单字段值动作单击钮时,在进阶设置中勾选“保存时自动运行”。

步骤二:在系统创建的运行时间字段套用公式“" "”,代表自动填入空值,以便下次再次运行。

常见错误

1. 要做加减运算,更新别张表单字段值所依据的来源字段及被更新的目的字段都必须是数字字段;而填入字符串的话请用“=”。

2. 需设置至少一组的更新条件。

3. 设置不同组条件时,目标条件字段不能被重复设置。

4. 设置更新别张表单字段值动作单击钮时系统所帮你新增的日期时间字段不能移除,否则此动作单击钮会无效。但你可以重新命名此字段或是隐藏。

5. 旧版不能在记录动作日期时间字段已经值的情况下,再单击一次更新别张表单字段值的动作单击钮或是复原动作单击钮,如果要双击动作单击钮的话,要先把记录日期时间字段的值清空。

6. 有多个更新别张表单字段值的动作时,只能针对其中一个来设置保存时自动运行

移除动作单击钮

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

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

回最上面 目录

马上登记
免费试用 Ragic!

用 Google 帐号登记

立即科技 Ragic, Inc.
02-7728-8692
台北市中正区南昌路二段81号9楼