我在做一个进销存,客户要求到月底出一份结存报表(期初,入仓,出仓,期未),但因客户行业的特殊性,经常要修改上月的数据,请教应如何做结存才好。
数据量不大的话无需每月做结存,他要的不就是一个统计结果么,你每月底都从初始值开始作加减就行了。这样的话客户爱怎么改就怎么改
把本月修改的上月数据记录下来,加到结存报表中就是了。
现是每月月底做结转,但经常客户做完结转后,又去修改上个月的数据(必须的),造成本月的期初数不对
因系统数据量大,使用一段时间后,如采用重新计算期初数年的方法,系统会花很长的时间。
,你的客户就偏偏要修改,你也只有让他花时间等待了!从初始值开始计算!
每月月底做结转,但经常客户做完结转后,又去修改上个月的数据。
此時,只需要計算兩個月的數據。
因為總有一份可信任的結存表,也就是記錄一下每條記錄的修改時間,從而知道引用最近的一份結存表,減少大量的運算。
這個操作過程是必須的。這是盤點過程的一部分。即每個月檢查一次認為無誤後結轉,可是結轉後因為工作失誤,難免再發現錯誤,所以系統需要支持“取消當次結轉”,修正錯誤後,重新執行結轉操作,而且結轉操作過程中,允許不間斷的進出庫動作。
1、这个系统是用于加工企业的,加工商品来货后,即进入生产和出货,是24小时不间断的。
2、每一批货生产一天或几天,库存变动的很大。
3、要随时查询到库存的情况。
做完结转后不允许修改上个月的数据,所有修改算本月的数据
这样的业务流程本身就有问题,如果结转后的数据已上报,修改后将会影响其它管理部门的工作,建议先把工作流程规范化后再考虑解决方案。
做完结转后,再调整库存,你可以做盘点进行,不能直接去修改期末库存,否则哪里出了问题都查不出来是什么原历了。
不需要什么结转的,直接用sql语句进行统计出期末是多少就行了。
有个出入库的流水表就可以了
期初和期末可以计算出来
但这个系统的数据量大,用了一两年后,统计要花长时间呀
“但这个系统的数据量大,用了一两年后,统计要花长时间呀”
数据量再大,也僅僅是計算兩個月的量就夠了。
前提是,每個月保存一份可信任的庫存快照。這樣無須向前追溯或全部計算,只要回溯至最近的一份庫存快照就可。。
這樣的系統就算用了一两萬年后,速度依然不變。
倒过来每个月对几个月前不可能再进行修改的数据进行结存。既保证了速度,又保证结存后的数据不会再修改。未修改的话,不影响上月报表的存货的准确性。如果修改了已提交的报表库存依然要改,这时结存点不受影响。
那就把一年前的数据备份并转结,就没有问题了吧。
建议结帐了,就不要再修改数据库,否则有时数据就不太真实的
|