问题现象
收款单据选择源单时,一切正常,也可以录入本次核销金额。保存、审核后,再次选择源单时,销售发票的已核销金额为零。
解决过程
- SQLProfiler
首选的当然是开启跟踪大法。但结果显示各种筛选条件都正常,写库操作的只是插入了一组收款单据,没有更新销售发票表的操作。 - 触发器
SQLProfiler可以跟踪到正常的语句,但无法跟踪到触发器的动作。但在数据库里找不到更新ICSales的触发器,也没有找到相关的存储过程(据说金蝶后期很少用到存储过程了)。
客户反映前段时间还可以正常操作的,于是找来账套比对了一番,数据表没有问题,但问题账套比正常账套多了一个触发器。粗略筛查的结果,也没什么异常(太多了,眼睛都看花了。) - 数据表的“依赖”
抱着试试看的想法,打开了两个表的属性,查看依赖项。发现问题表少了一个“UpdateReceiveAmount
”的触发器。没啥可犹豫的,在问题账套里增加这个触发器。
然后,就一切正常了。