可以先检查看看这个神秘力量是不是你自己:有可能是你透过公式、默认值、链接与加载、定期汇入数据......等功能设置自动化流程时没注意到某些事情导致的。这种问题很适合先查询有问题数据的数据修改纪录,看看你觉得奇怪的改动是什么功能触发的,找到对应功能之后才能对症下药。
这边举几个我们遇过的例子给你参阅(情境可能略作改编):
① 利用多版本表单功能设计了不同币别的报价单,其中台币版本的“含税金额”套了参照台湾税率的公式、人民币版本的含税金额字段(同一个字段 id)套了参照另外一种税率的公式,两种版本算出来的结果会不同。某天意外在人民币版本触发一笔台币计价数据的公式重算时,原本台湾税率的公式结果就被意外覆盖/改掉。
② 在某个字段上做了自动带入数据的设置(例如套公式、设为链接与加载的加载字段),同时又设置自己会手动输入数据来修改这个字段值,这样就有可能在自动化流程被触发(例如触发公式重算、链接与加载随时同步)时,被系统运行的自动化流程修改、覆盖掉手动输入的字段值。
例如:你的薪资计算表上面“每小时薪资”的字段是套公式计算出来的,但你在某笔数据里又自己手动填写这个字段去修改“每小时薪资”字段值以符合特殊状况,当这笔数据因为某些情况被触发公式重算时,“每小时薪资”字段值就会自动被修改成公式运算的结果,覆盖掉手动填写的内容。
更不容易发现的状况是“意外加载/汇入空值字段的情况”,例如:
薪资计算表上面“每小时薪资”的字段值设计上是要利用链接与加载的功能,从其他例如像“薪资基准表”之类的表单带入的(加载字段),但你设计之后就忘了这件事,来源表单上该字段没有填值(空值),平常都是手动在薪资计算表上把“每小时薪资”字段值写上去;后来为了要让“薪资基准表”上的信息与薪资计算表随时同步,你在薪资计算表上勾选“链接与加载随时同步”,来源表单加载字段的“空值”就随着链接与加载随时同步,被更新到薪资计算表的“每小时薪资”字段,这样“每小时薪资”字段可能就会在你没注意的时候“意外”被清空了。
假如你有查出自己设计的表单有此问题,除了把错误数据改正之外,也会需要重新思考表单设计或规范输入数据的流程。
举例来说:如果多版本表单的同一个字段有套用不同的公式,那就要做一些措施(例如设置适当的固定筛选)确保用户不会在意外情况下触发公式。
如果某个字段某些情况希望手动填入字段值、某些情况需要依照规则带出数据,那一开始就不用统一套用公式,因为有时候不见得能 100% 确认公式是否会因为你的某个动作而意外触发。可以考虑搭配像 UPDATEIF这样的公式,在符合条件时才用公式更新。
另外,不要因为加载字段、汇入字段目前的数据是“空值”就忽略它们,要小心数据覆盖问题(不需要加载的字段可到链接管理工具撤销加载;不需要汇入的字段可以在汇入时选择“忽略”)。
有时候错误地修改字段种类也会造成这个问题,例如原本你的字段值是“一二三四五”,你进入设计模式把字段改成日期字段,因为不符合该字段应有的格式,就会显示成空白的;同样的状况,你进入设计模式把字段改成“从其他表单选择”,但来源表单链接字段并没有“一二三四五”这个字段值,那就像试图在菜单里输入不存在的选项一样,也会变成空白的。
但如果你没有接着做任何更动,赶快把字段种类更正回来的话,还是会恢复正常。(这个问题跟“为什么我输入的数据没有存进去?”这则文档说明的状况其实是一样的)
如果你发现自己是因为不小心触发链接与加载同步或公式重算,导致手动填写的字段值遗失,可以参阅这篇教学找回原本的值。