一種受托代銷商品存貨成本計算方法
【專利摘要】本發(fā)明公開了一種受托代銷商品存貨成本計算方法,其具體實現(xiàn)過程為:首先構(gòu)造虛擬時間列,該虛擬時間列由業(yè)務(wù)日期、流水編號和寄存出入庫標(biāo)識構(gòu)成;按照虛擬時間列中的業(yè)務(wù)日期、流水編號和寄存出入庫標(biāo)識列升序排列,該組合列的升序次序標(biāo)識了受托代銷商品出入庫的時間先后次序,并以該次序作為后續(xù)移動加權(quán)平均法計算出庫成本的依據(jù)。本發(fā)明的一種受托代銷商品存貨成本計算方法與現(xiàn)有技術(shù)相比,通過構(gòu)造“虛擬時間列”制定了對普通商品和受托代銷品通用的規(guī)則,支持受托代銷商品按照移動加權(quán)平均法計算當(dāng)月發(fā)出存貨成本,使得GS供應(yīng)鏈產(chǎn)品能夠支持價格波動敏感的受托代銷商品的成本核算,擴(kuò)大了產(chǎn)品的適用范圍,實用性強(qiáng),易于推廣。
【專利說明】
一種受托代銷商品存貨成本計算方法
技術(shù)領(lǐng)域
[0001] 本發(fā)明涉及計算機(jī)技術(shù)領(lǐng)域,具體地說是一種通過T-SQL語言實現(xiàn)受托代銷品按 照移動加權(quán)法計算成本方法。
【背景技術(shù)】
[0002] 與普通商品相比,受托代銷品業(yè)務(wù)上的特殊性,決定了在現(xiàn)有的數(shù)據(jù)結(jié)構(gòu)下,是先 生成出庫單再生成入庫單,而原有通過業(yè)務(wù)日期和流水編號標(biāo)識出入庫順序的規(guī)則不適合 于受托代銷品的業(yè)務(wù),因此無法在原有的規(guī)則下按照移動加權(quán)法對受托代銷品進(jìn)行成本核 算。對于一個既有普通商品又有受托代銷品業(yè)務(wù)的企業(yè)來說,也就無法使用現(xiàn)有的GS產(chǎn)品 按照移動加權(quán)法進(jìn)行存貨成本核算。本發(fā)明通過構(gòu)造"虛擬時間列"制定了對普通商品和受 托代銷品通用的規(guī)則,以擴(kuò)大了產(chǎn)品的適用范圍。
【發(fā)明內(nèi)容】
[0003] 本發(fā)明的技術(shù)任務(wù)是針對以上不足之處,提供一種受托代銷商品存貨成本計算方 法。
[0004] -種受托代銷商品存貨成本計算方法,其具體實現(xiàn)過程為:
[0005] 首先構(gòu)造虛擬時間列,該虛擬時間列由業(yè)務(wù)日期、流水編號和寄存出入庫標(biāo)識構(gòu) 成;
[0006] 按照虛擬時間列中的業(yè)務(wù)日期、流水編號和寄存出入庫標(biāo)識列升序排列,該組合 列的升序次序標(biāo)識了受托代銷商品出入庫的時間先后次序,并以該次序作為后續(xù)移動加權(quán) 平均法計算出庫成本的依據(jù)。
[0007] 構(gòu)造虛擬時間列時,將計算成本所需普通商品和受托代銷品出入庫單據(jù)信息一并 插入到該虛擬時間列的中間臨時表中。
[0008] 所述虛擬時間列在排序前需要進(jìn)行賦值,具體賦值過程為:
[0009] 首先將虛擬時間列組合中的業(yè)務(wù)日期和流水編號列賦值為單據(jù)本身的業(yè)務(wù)日期 和流水編號,寄存入庫標(biāo)識賦值為"Γ ;
[0010] 其次將受托代銷品入庫單據(jù)虛擬時間列組合中業(yè)務(wù)日期和流水編號更新為其對 應(yīng)出庫單據(jù)的流水編號和業(yè)務(wù)日期,寄存入庫標(biāo)識更新為"〇" ;
[0011] 相對應(yīng)的,對于重構(gòu)后的數(shù)據(jù),按照虛擬時間列中的業(yè)務(wù)日期、流水編號和寄存出 入庫標(biāo)識列升序排列,以此順序按照移動加權(quán)法計算出庫成本。
[0012] 本發(fā)明的一種受托代銷商品存貨成本計算方法和現(xiàn)有技術(shù)相比,具有以下有益效 果:
[0013] 本發(fā)明的一種受托代銷商品存貨成本計算方法,通過構(gòu)造"虛擬時間列"制定了對 普通商品和受托代銷品通用的規(guī)則,支持受托代銷商品按照移動加權(quán)平均法計算當(dāng)月發(fā)出 存貨成本,使得GS供應(yīng)鏈產(chǎn)品能夠支持價格波動敏感的受托代銷商品的成本核算,擴(kuò)大了 產(chǎn)品的適用范圍,實用性強(qiáng),易于推廣。
【具體實施方式】
[0014] 下面結(jié)合具體實施例對本發(fā)明作進(jìn)一步說明。
[0015] 在供應(yīng)鏈的數(shù)據(jù)結(jié)構(gòu)中,出入庫單據(jù)上的業(yè)務(wù)日期代表了日期的前后,而對于業(yè) 務(wù)日期相同的情況,由于后續(xù)生成單據(jù)的流水編號要比之前單據(jù)的流水編號大,因此業(yè)務(wù) 日期加流水編號的組合按照升序排列即可代表實際業(yè)務(wù)的出入庫順序。而受托代銷品的入 庫日期和出庫日期相同,入庫單據(jù)卻是在其對應(yīng)出庫單據(jù)之后生成,入庫單據(jù)流水編號要 比出庫單據(jù)的編號大,因此原有"業(yè)務(wù)日期+流水編號"標(biāo)識出入庫順序的規(guī)則無法適用于 受托代銷品業(yè)務(wù)。
[0016] 基于此,本發(fā)明提供一種受托代銷商品存貨成本計算方法,按照"虛擬時間列"升 序排列,可以標(biāo)識出受托代銷商品先入庫再出庫的業(yè)務(wù)順序,此規(guī)則也同樣適用于普通商 品。移動加權(quán)平均法的前提就是要能夠正確識別出入庫業(yè)務(wù)順序,因此此方法的提出使得 受托代銷商品按照移動加權(quán)法計算成本成為可能。
[0017] 其具體實現(xiàn)過程為:
[0018] 首先構(gòu)造虛擬時間列,該虛擬時間列由業(yè)務(wù)日期、流水編號和寄存出入庫標(biāo)識構(gòu) 成;
[0019] 將計算成本所需普通商品和受托代銷品出入庫單據(jù)信息一并插入到包含"虛擬時 間列"的中間臨時表。
[0020] 對"虛擬時間列"字段賦值,本步驟也是該方法的核心之處,其中包含以下兩個步 驟:
[0021 ]將臨時表中"虛擬時間列"組合中的業(yè)務(wù)日期和虛擬流水編號列全部賦值為單據(jù) 本身的業(yè)務(wù)日期和流水編號,寄存出入庫標(biāo)識賦值為"Γ。
[0022] 將臨時表中受托代銷品入庫單據(jù)的"虛擬時間列"組合中業(yè)務(wù)日期和流水編號列 更新為其對應(yīng)出庫單據(jù)的流水編號和業(yè)務(wù)日期,寄存出入庫標(biāo)識更新為"〇"。
[0023] 對于重構(gòu)后的數(shù)據(jù),按照"虛擬時間列"中的業(yè)務(wù)日期、流水編號和寄存出入庫標(biāo) 識列升序排列,以此順序按照移動加權(quán)法計算出庫成本。
[0024] 舉例說明:
[0025]假如A企業(yè)經(jīng)營的商品P同時存在普通和受托代銷品的業(yè)務(wù),在2016年1月1號普通 商品入庫2個,單價為1元,1月5號正常商品出庫1個;1月10受托商品出庫1個,同時系統(tǒng)會自 動生成對應(yīng)的入庫1個,入庫成本確認(rèn)為2元,如下表1所示,其中特殊庫存列,Z代表普通業(yè) 務(wù),K代表受托代銷業(yè)務(wù)。
[0026] 表1 A企業(yè)2016年1月份商品出入庫情況
[0028]在原有按照業(yè)務(wù)日期和單據(jù)流水排序規(guī)則下,我們無法獲得準(zhǔn)確的先入后出的順 序,即正確單據(jù)順序:〇〇〇 1-000240004-0003,而只能獲得0001-000240004-0003的順 序,以此順序的移動加權(quán)法計算出流水編號為0003的出庫單的發(fā)出單價為1元,如下表2所 示。而受托代銷商品雖然具有業(yè)務(wù)上的特殊性,但是在進(jìn)行成本核算的時候,通用需要是將 入庫單據(jù)排到出庫單據(jù)的前面進(jìn)行計算成本,因此上面順序計算出來的價格是不準(zhǔn)確的。 但是在現(xiàn)有的數(shù)據(jù)結(jié)構(gòu)下,我們又無法獲得一個準(zhǔn)確的順序。
[0029] 表2 A企業(yè)2016年1月份商品出入庫情況
[0031] 現(xiàn)在在臨時表中加入虛擬業(yè)務(wù)日期、虛擬流水和寄存出入庫標(biāo)識三列,創(chuàng)建表結(jié) 構(gòu)的語句如下,其中加粗部分是本次添加的"虛擬時間列"字段,其中流水編號對應(yīng)單據(jù)流 水編號和分錄流水編號。
[0033] 在將所需業(yè)務(wù)單據(jù)插入到上述表中之后,按照我們之前描述的規(guī)則:
[0034] 1)將所有單據(jù)"虛擬時間列"組合中的虛擬日期和虛擬流水編號列更新為單據(jù)本 身的業(yè)務(wù)日期和流水編號,出入庫標(biāo)識更新為"Γ,此步操作我們在向臨時表中插入數(shù)據(jù)過 程中已經(jīng)同時做了賦值處理。
[0035] 2)將所有受托代銷品入庫單據(jù)的虛擬日期和虛擬流水編號更新為其出庫單據(jù)對 應(yīng)的流水編號和業(yè)務(wù)日期,出入庫標(biāo)識更新為"0",對應(yīng)的處理語句如下:
[0036] update#TempYDJQPJ set OrderCreateDate =GoodsMovement.CreateDate from
[0037] GoodsMovement
[0038] where exists(select lfrom BargainGoodsLinks where BargainGoodsLinks.BargainBi11ID =
[0039] GoodsMovement.GoodsMovementID and TempYDJQPJ.GoodsMovementID=
[0040] BargainGoodsLinks.GoodsMovementID and BargainType='2')
[0041] update#TempYDJQPJ set 0rderCode='0',
[0042] OrderGoodsMovementID=goodsmovementitem.GoodsMovementID,
[0043] OrderGoodsMovementItemID=g oodsmovementitem.GoodsMovementItemID
[0044] from GoodsMovementItem where exists(select lfrom BargainGoodsLinks where
[0045] BargainGoodsLinks.BargainBi11ID=GoodsMovementItem.GoodsMovementID and
[0046] BargainGoodsLinks.BargainBi11ItemID=GoodsMovementItem.GoodsMovementI temID
[0047] and#TempYDJQPJ.GoodsMovementID=BargainGoodsLinks.GoodsMovementID
[0048] and#TempYDJQPJ.GoodsMovementItemID=BargainGoodsLinks.GoodsMovementI temID and BargainType=,2,)
[0049] 這樣按照虛擬時間列排序之后,就能正確反映單據(jù)的出入庫順序,計算出流水號 為0003的出庫單的成本為1.5。
[0050] 表3添加"虛擬時間列"后成本計算情況
[0051]
[0052]通過上面【具體實施方式】,所述技術(shù)領(lǐng)域的技術(shù)人員可容易的實現(xiàn)本發(fā)明。但是應(yīng) 當(dāng)理解,本發(fā)明并不限于上述的【具體實施方式】。在公開的實施方式的基礎(chǔ)上,所述技術(shù)領(lǐng)域 的技術(shù)人員可任意組合不同的技術(shù)特征,從而實現(xiàn)不同的技術(shù)方案。
[0053]除說明書所述的技術(shù)特征外,均為本專業(yè)技術(shù)人員的已知技術(shù)。
【主權(quán)項】
1. 一種受托代銷商品存貨成本計算方法,其特征在于,其具體實現(xiàn)過程為: 首先構(gòu)造虛擬時間列,該虛擬時間列由業(yè)務(wù)日期、流水編號和寄存出入庫標(biāo)識構(gòu)成; 按照虛擬時間列中的業(yè)務(wù)日期、流水編號和寄存出入庫標(biāo)識列升序排列,該組合列的 升序次序標(biāo)識了受托代銷商品出入庫的時間先后次序,并以該次序作為后續(xù)移動加權(quán)平均 法計算出庫成本的依據(jù)。2. 根據(jù)權(quán)利要求1所述的一種受托代銷商品存貨成本計算方法,其特征在于,構(gòu)造虛擬 時間列時,將計算成本所需普通商品和受托代銷品出入庫單據(jù)信息一并插入到該虛擬時間 列的中間臨時表中。3. 根據(jù)權(quán)利要求2所述的一種受托代銷商品存貨成本計算方法,其特征在于,所述虛擬 時間列在排序前需要進(jìn)行賦值,具體賦值過程為: 首先將虛擬時間列組合中的業(yè)務(wù)日期和流水編號列賦值為單據(jù)本身的業(yè)務(wù)日期和流 水編號,寄存入庫標(biāo)識賦值為"1" ; 其次將受托代銷品入庫單據(jù)虛擬時間列組合中業(yè)務(wù)日期和流水編號更新為其對應(yīng)出 庫單據(jù)的流水編號和業(yè)務(wù)日期,寄存入庫標(biāo)識更新為"0" ; 相對應(yīng)的,對于重構(gòu)后的數(shù)據(jù),按照虛擬時間列中的業(yè)務(wù)日期、流水編號和寄存出入庫 標(biāo)識列升序排列,以此順序按照移動加權(quán)法計算出庫成本。
【文檔編號】G06Q30/02GK106097018SQ201610451189
【公開日】2016年11月9日
【申請日】2016年6月21日
【發(fā)明人】趙洪超
【申請人】浪潮通用軟件有限公司