数据抛转动作单击钮的标准功能并不具备防止重复抛转的机制。这是因为某些情境确实需要多次抛转,例如一笔订单分批出货。此外,系统不会自动新增抛转运行状态的字段,因此无法直接作为避免重复运行的依据。
若要避免重复抛转,可以参阅以下两种方法:
可以先将来源表单的独特值字段抛转到目的表单(该字段需设为独立字段),再将此字段设置为不可重复来达成。
以模块中“请购单”抛转“采购单”为例,目前设有“转采购”的抛转动作单击钮如下:
若希望每一笔“请购单”数据只能够被抛转一次,可以参阅以下步骤:
你必须要在所有列在数据抛转动作单击钮的字段中,找出适合当独特值的字段,例如:“编号”。若目前没有合适的字段,会需要调整动作单击钮的设计并加入可以当作独特值的字段。以上图为例,运行抛转的表单为“请购单”,而“请购单”可当作独特值字段的是“请购单号”字段。
依据上图,“请购单号”字段的对应抛转字段为“来自请购单号”字段,则在该字段设置不可重复属性。
未来当其他用户再次点击该动作单击钮时,系统即会因为不可重复的属性阻塞,并提示已经有重复的数据而抛转失败。
新增一个纪录是否已运行过抛转的字段,再创建一个更新这张表单字段值的单击钮,用来更新该状态字段,并将此单击钮与原本的抛转单击钮归并。最后,再透过条件式格式设置当状态字段显示为已运行时将数据抛转单击钮上锁或隐藏。
以“请购单”抛转“采购单”为例:
在“请购单”上新增一个打勾选项字段,命名为“是否抛转”,并将默认值设为“No”。
创建更新这张表单字段值的动作单击钮,将“是否抛转”字段值改为“Yes”。
接着将“是否抛转”和“转采购单”的动作单击钮归并,命名为“转采购并确认抛转”。未来运行此归并单击钮,就可以生成“采购单”后,同时将“是否抛转”改为“Yes”。
在条件式格式设置中,设置条件当“是否抛转”为“Yes”时,将“转采购并确认抛转”单击钮上锁(或设置为隐藏),以避免重复运行抛转。也可以自订点击被上锁单击钮时的提醒信息。
设置完成后,建议将归并后不再需要单独使用的动作单击钮设为隐藏;同时,将“是否抛转”字段隐藏或设为只读,避免用户手动修改。
若考虑到抛转数据可能输入错误,在删调试误数据后需要重新运行抛转时,可依第二步骤新增另一个动作单击钮,将“是否抛转”更新为“No”,以解锁被上锁的单击钮。