§1.1. 问题造成的原因分析 查看客户数据库以及单据看到是由于客户进货单录入的进货折扣大都是100%,或者是低于真正的成本折扣,包含其他出入、库。库存成本问题出现主要是由于操作不当造成库存与销售成本出现的问题。 这样在批销的时候往往批销折扣又低于这个成本折扣,因此造成所有的成本均不正确。 §1.2. 解决问题的思路 经过考虑要进行成本重算,依据最近进货折扣进行折扣跟新 §1.2.1. 成本价在95系列的中使用的是折扣列 由于95系列中成本取的是折扣,那么首先是执行语句是创建一个函数折扣,得到真正需要的折扣。 §1.2.1.1. 创建函数--折扣 iF EXISTS (SELECT name FROM sysobjects WHERE name = N'uf_GetStock_discount' ) DROP FUNCTION uf_GetStock_discount GO CREATE FUNCTION uf_GetStock_discount ( @h_id CHAR(20)) RETURNS float BEGIN DECLARE @ld_price_zk float SELECT TOP 1 @ld_price_zk = h_discount FROM yw_jh,yw_jh_item WHERE yw_jh.jh_id = yw_jh_item.jh_id AND yw_jh.receipts_class <> 'JT' AND yw_jh.is_verify = '1' AND yw_jh.stock_arrear = '1' AND yw_jh.is_destroy = '0' AND H_ID = @h_id ORDER BY yw_jh.input_date DESC RETURN ISNULL(@ld_price_zk,0) End §1.2.2. 成本重算相关语句 包括进货、批销、退货、零售、其它出入库、库存表等相关单据 §1.2.2.1. 更新折扣 /** 更新进货成本折扣(按照时间取最近折扣) 本语句如果进货折扣正确不需要执行,如果折扣不对需要手工在数据维护子系统进行调整 **/ update yw_jh_item set h_discount_crush = dbo.uf_GetStock_discount( h_id ) from yw_jh where receipts_class = 'GR' and yw_jh_item.jh_id = yw_jh.jh_id and h_discount_crush ='0' ---更新批销成本折扣(按照时间取最近折扣) update yw_px_item set h_discount_crush = dbo.uf_GetStock_discount( h_id ) from yw_px where receipts_class = 'XS' and yw_px_item.px_id = yw_px.px_id update yw_px_item set h_discount_crush = dbo.uf_GetStock_discount_zj(h_id ) from yw_px where receipts_class = 'XT' and yw_px_item.px_id = yw_px.px_id ----跟新零售成本 update db_ls_item set crush_money = dbo.uf_GetStock_discount_zj(h_id ) from db_ls where db_ls_item.ls_id = db_ls.ls_id ----调剂成本(和调剂时间最近进货折扣) -- UPDATE tj_dm_ck_item -- h_price_real = DBO.uf_GetStock_Price_Real_zj((SELECT station_id FROM tj_dm_ck WHERE tj_dm_ck.dm_id = tj_dm_ck_item.dm_id), h_id, (SELECT isnull( input_date ,getdate()) FROM tj_dm_ck WHERE tj_dm_ck.dm_id = tj_dm_ck_item.dm_id)) -- WHERE -- h_amount > 0 -- UPDATE tj_dm_ck_item set h_price_real = h_price * isnull(h_discount_arrear,0) -- WHERE h_amount > 0 -- -- UPDATE tj_dm_rk_item set h_price_real = h_price * isnull(h_discount_arrear,0) -- WHERE h_amount > 0 ---更新库存成本(按照最后进货折扣) UPDATE db_stocks_amount SET h_discount = dbo.uf_GetStock_discount(h_id),db_stocks_amount.NOTRIGGER = db_stocks_amount.NOTRIGGER FROM db_stocks WHERE db_stocks.s_id = db_stocks_amount.s_id ---更新进出冲减成本折扣(按照最后进货折扣) Update cj_in_out set h_discount = dbo.uf_GetStock_discount(h_id) ----更新其他出入库的成本(按照最后进货折扣) UPDATE db_other_store_item SET h_discount = dbo.uf_GetStock_discount(h_id) FROM db_other_store WHERE db_other_store_item.os_id = db_other_store.os_id AND h_price > 0 UPDATE db_other_store_ck_item SET h_discount = dbo.uf_GetStock_discount(h_id) FROM db_other_store_ck WHERE db_other_store_ck_item.os_id = db_other_store_ck.os_id AND h_price > 0 UPDATE cj_in_out SET cj_in_out.h_discount =dbo.uf_GetStock_discount(h_id) §1.3. 税率更新 更新税率,征求客户意见后全部税率统一为13% --更新批销单主表税率 update yw_px set tax_rate = '.1300' update yw_px set i_class_id = '0002' --更新批销单明细表税率 update yw_px_item set tax_rate = '.1300' update yw_px_item tax_rate_crush =tax_rate --更新进货单主表税率 update yw_jh set tax_rate = '.1300' --更新进货明细税率 update yw_jh_item set tax_rate_crush =tax_rate --更新库存税率 update db_stocks_amount set tax_rate = '.1300'where tax_rate = '0'
- 粉丝: 0
- 资源: 4
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助