用友U8 | 我是如何解決序列號狀態出錯問題的?


問題描述:

每次在審核或者棄審其他出入庫單時,都會提示這種錯誤:xxx不符合當前單據約束條件或者不是來源於上游單據的,該序列號目前狀態處於待入庫,當前操作需要處於以下狀態:xxx

(不限於這種情況,出錯的情況有很多種,這里只是舉例說明一下問題的展示效果

 原因分析:

下面講一個例子:

背景:銷售調出單(這個是二開的產品,非標准功能)原理應該也是同普通調撥單,以銷售調出單為例來講解

從商務整機倉(001)調撥到區域倉(100)

單據審核順序:

審核:先審核出庫、再審核入庫

棄審:先棄審入庫,再棄審出庫

 

 現在我們來查看一下后台是怎么展示的:

select AutoID,cInvCode,cWhCode,iSNState,iSNOperateCount,cInvSN ,* from ST_SNState WHERE  cInvSN in('HME170220301011') 
select AutoID,cInvCode,cWhCode,iSNPreState,iSNOperateCount,iVouchsID,iVouchID,cInvSN  ,* from ST_SNDetail_OtherIN  where cInvSN in('HME170220301011')
select AutoID,cInvCode,cWhCode,iSNPreState,iSNOperateCount,iVouchsID,iVouchID ,cInvSN ,* from ST_SNDetail_Otherout  where cInvSN in('HME170220301011')

當出庫、入庫都審核完的狀態為:

 

cwhcode(倉庫)

isnstate(狀態)

100(區域倉)

2(在庫)

先棄審【入庫】:棄審完為開立狀態

此時【序列號狀態表】為:

cwhcode(倉庫)

isnstate(狀態)

100(區域倉)

1(待入庫)

先棄審【出庫】:棄審完為開立狀態

此時【序列號狀態表】為:

cwhcode(倉庫)

isnstate(狀態)

001(區域倉)

3(待入庫)

錯誤操作:

棄審出庫:

此時序列號狀態表為:

cwhcode(倉庫)

isnstate(狀態)

100(區域倉)

3(待入庫)

過程不怎么操作什么了,就提示錯誤:xxx不符合當前單據約束條件或者不是來源於上游單據的,該序列號目前狀態處於待入庫,當前操作需要處於以下狀態:xxx

就改成原始狀態(這個過程只需要修改序列號狀態表,其他2個表不用修改,數據是不變的)

update ST_SNState SET cWhCode='100',iSNState=2 WHERE cInvCode='2300100070'and cInvSN='HME170220301011'

然后再按正常的順序棄審

要棄審什么:就把序列號狀態表返回到:xx倉庫在庫

要審核什么:就把序列號狀態表返回到:xx倉庫待出庫,再審核

 

總結:

操作及狀態:

操作

倉庫

狀態

初始

001商務整機倉

           3(待出庫)

①其他出庫審核

100區域倉

1(待入庫)

②其他入庫審核

100區域倉

2(在庫)

③其他入庫【棄審】

100區域倉

1(待入庫)

④其他出庫【棄審】

001商務整機倉

3(待出庫)

 




免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM