症状:当试图从Lists > Sales By Date打开一个Sales时,你会收到以下一个或两个错误:
行项目丢失
这张发票应该有1个项目,我们找到了2个。我们建议您取消此操作,并为ITEM运行数据库恢复。TPS文件,然后重试该操作。
运行恢复,选择“维护>重建索引>恢复损坏的数据文件”。
和/或,
支付总不匹配
发票上的所有付款总额与发票上保存的当前支付金额不匹配。发票记录的原始付款金额是20.09,全部付款总额是62.48。
保存发票将调整支付金额为所有付款的总额。
原因:在系统中输入的每个销售都会在不同的数据库文件中创建多个记录,所有记录都指向发票记录。如果发生了某些事情,导致程序在关闭前不能正确保存这些文件,比如系统崩溃或网络连接丢失,就有可能损坏一些文件或丢失未完全保存的记录。
在这两个错误消息的情况下,它通常表明记录已经从发票文件丢失,但项目和支付记录仍然存在。
当输入销售时,在数据库的不同部分创建多个记录。销售1000创建发票记录1000,每一个项目的项目记录与指针发票1000,和一个或多个付款记录与指针发票1000。当您继续输入销售时,发票号码将按顺序编号。
如果您使用的是发票1023,并且每个发票都有付款,但是随后发生了一些事情,损坏或从发票文件中删除发票记录1020-1023,但是其他文件仍然完好无损,那么这些项目和付款现在指向不存在的发票。当创建新的销售时,它们的发票将按顺序编号,它们将变成1020、1021、1022和1023,每个都添加了自己的新项目和支付记录。所以现在发票1020有新的销售中输入的物品和付款,但是旧的物品和付款记录仍然指向发票1020。当您打开发票时,它的记录显示有一个单行项目,但它有2行项目的项目记录。并且显示发票的总金额是20.09,但是有总计62.48的付款记录。
问题在于,由于个人支付记录或项目记录并不糟糕,因此回收过程没有办法将其标记为糟糕。现有的发票记录也不错,但有些丢失了,所以恢复过程也没有什么可做的。
解决方案:了解了以上所有内容后,最好的做法是在问题开始之前恢复备份。
看看List > Payments By Date,它设置为Show: By Number。参考编号栏显示该付款的发票号码。你应该能找到他们向后跳的点。按照我上面的数字,付款清单是1019、1020、1021、1022、1023、1020、1021。如果我去List > Sales By Date,我可以毫无错误地打开Sales 1019。1020和1021给出上述错误,1022和1023不存在。这将允许你缩小问题开始的时间范围。
默认情况下,系统会在每天早上程序第一次打开时自动创建备份。这些备份保存在服务器机器的C: WQS\BackupA中。如果该程序没有在夜间关闭,或者该选项被禁用,您应该定期手动创建备份,因此您需要找到并恢复问题开始前创建的最后一个备份。手动备份的默认位置是C:\WQS\Backup。
如果您有一个经常崩溃或失去网络连接的站点,您应该识别并解决问题的原因,以防止它导致进一步的数据库损坏,这一点至关重要。