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

更新别张表单字段值

更新别张表单的字段值

如果你希望在表单A的数据可以去改变表单B的数据,例如一张订单确认出货之后,可以扣该商品的库存,这一类的需求可以利用这个单击钮来达到。以下我们将用扣库存的例子来演示:

这里有两张表单,左边是销售订单,右边是商品表单。

如何创建单击钮

由于是要从出库单的数据去影响仓库库存,因此我们要在出库单来设置“更新别张表单的字段值”单击钮。

进入表单设计模式后,选择 表单工具,并在 自订单击钮下找到更新别张表单的字段值

在窗口中可以设置更新别张表单的字段值,这里我们选择要更新值的表单为“商品数据”。接着设置怎么更新以及在什么情况下更新。

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

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

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

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


如果要一次更新多个字段的话,可以单击“+”来新增

注意,更新字段值的顺序是由上往下运行的。

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

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

等于

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

如果有多个条件的话,可以单击“+”来新增条件。设置多组条件的话,会在全部条件都满足的情况下才可以运行单击钮。

注意,假设条件有误会无法保存单击钮设置。你可以参阅 这里来看常见的错误设置。

进阶设置

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

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

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

以上设置都完成了以后,单击创建更新别张表单字段值动作单击钮,并在退出的窗口中为你的动作单击钮命名,确认之后,该单击钮就会被新增在表单设置下的动作单击钮中。(每笔数据的表单页面中右下角可以看到该动作单击钮)

以上都确定之后,就可以保存这次的表单设计了!

新增此动作单击钮的同时,系统也帮你新增了一个日期时间字段,这个字段会再你单击下动作单击钮时自动填上日期及时间做为记录。

更新别张表单字段值动作单击钮会需要此字段作为依据,因此请勿删除这个字段!

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

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

接着演示刚才创建的单击钮:

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

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

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

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

要复原“扣库存”动作的话,单击下“复原扣库存”动作单击钮即可。(设计这组动作单击钮时有勾选“创建复原单击钮”的话,才会看到“复原扣库存”单击钮)

单击完之后,你会发现系统创建的日期时间字段的值被清空了,代表目前是没有运行过更新别张表单字段值(扣库存)的动作。

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

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

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

旧的更新别张表单字段值动作单击钮设计如果要运行复原的动作的话,需先手动将记录动作日期时间的字段值清空,再单击"复原 扣库存"动作单击钮。

以下为复原单击钮在新旧设计上的差别说明:

复原单击钮行为新旧差异: (新旧判断- 2017/06/01)

(旧) 检查最后修改日期是否为空,若是则运行并更新最后修改日期

(新) 直接运行,并自动清空最后修改日期时间

(旧) 无防止连续运行复原之机制 (只要判断的日期时间字段为空的即可单击复原动作单击钮,可能会造成运行多次复原)

(新) 若最后修改日期为空,则不运行复原,并回传运行成功 (视为没有更新过,可避免连续运行复原)

ps. 用旧的工具生成的动作单击钮在改版后仍可以使用,行为不变(根据旧的行为)

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

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

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

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

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

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

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

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

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

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

此操作为复原既有两列品项的库存,以避免后续重复扣库存。

运行复原动作单击钮时,系统会以现有的数据逆向运行,例如若原本减去 3 个库存,那么会以现有的数据再加回 3 个库存,并同时清空运行时间字段的字段值

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

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

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

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

步骤二:在系统创建的运行时间字段套用公式“" "”。

设置更新别张表单字段值的常见错误

1. 如果是要做加减运算的话,更新别张表单字段值所依据的来源字段及需被更新的目标字段都必须是数字字段。(填入字符串的话请用"=")

2. 需设置至少一组的更新别张表单字段值条件。

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

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

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

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

移除动作单击钮

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

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

回最上面 目录

马上登记
免费试用 Ragic!

用 Google 帐号登记

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