庫存和來源單回寫說明_第1頁
庫存和來源單回寫說明_第2頁
庫存和來源單回寫說明_第3頁
庫存和來源單回寫說明_第4頁
全文預覽已結(jié)束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、c)d)TBillState .FirstDraft &TBillState .Submission) 庫存和來源單回寫說明1. 回寫業(yè)務與單據(jù)審核流程密切相關所以在編寫前請實現(xiàn)以下兩個商業(yè)接口的a) ICheckData 庫存檢測接口,實現(xiàn)方法:i. bool InvokeCheckData( TBusinessInterfaceStruct BzInterfaceStruct, DataSet ChangedDataSet);ii.庫存檢測方法: TBZMatStatus .CheckStock(BzInterfaceStruct,TableName,InStockName,OutStoc

2、kName,StockListExp)iii.參數(shù)說明1. InStockName 入庫字段名稱:如果為出庫單據(jù)則傳空串2. OutStockName 出庫字段名稱:如果為入庫單據(jù)則傳空串3. StockListExp 倉庫列表的查詢腳本,以單據(jù) ID 為查詢條件,女口: Select StockID from PurlnStockDtl where ID=IDiv. 在特定情況下,某些業(yè)務不參與庫存回寫時則做排除設置,如銷售出庫來源于借出單時就不影響庫存,此時則不需要檢 測庫存,請使用 TBZMatStatus 的屬性: Hashtable NoCheckItems, 按業(yè)務需求添加行的 I

3、tem 信息,注意新舊值都需要 添加,例子請看銷售出庫單的業(yè)務類的 InvokeCheckData 方法b) IChangedBillState 單據(jù)狀態(tài)業(yè)務回寫,實現(xiàn)方法i. bool InvokeChangedBillState(TBusinessInterfaceStruct BzInterfaceStruct, DataSet ChangedDataSet, out stringResultMsg);ii. 參數(shù)說明:1. BzInterfaceStruct :實現(xiàn)工作流觸發(fā)接口的參數(shù)體 包含常用: BilID 來源單類型 ,BillDataSet 當前單據(jù)的 DataSet,Comp

4、No帳套,F(xiàn)romBillState 單據(jù)當前狀態(tài),ToBillState 單據(jù)將要變成的狀態(tài)2. ChangedDataSet:單據(jù)修改后的 DataSet,如果此參數(shù)為空則代表沒有修改過3. ResultMsg : InvokeChangedBillState 方法的返回結(jié)果的輸入?yún)?shù),如果某些信息需要回傳到前臺則增值給這個參 數(shù)III!IChangedBillState 接口方法的常用例子 : ResultMsg =/1 草稿 - 提交if (BzInterfaceStruct.FromBillState =BzInterfaceStruct.ToBillState =/2 提交 - 在

5、審核else if(BzInterfaceStruct.FromBillState =& BzInterfaceStruct.ToBillState =TBillStateTBillState.Submission.Auditing)/3 在審核 - 在審核else if(BzInterfaceStruct.FromBillState =TBillState.Auditing& BzInterfaceStruct.ToBillState =TBillState.Auditing) /4 在審核 - 生效else if(BzInterfaceStruct.FromBillState =TBill

6、State.Auditing& BzInterfaceStruct.ToBillState =TBillState.AuditingFinshed) /5 生效- 在審核else if(BzInterfaceStruct.FromBillState =TBillState.AuditingFinshed& BzInterfaceStruct.ToBillState =TBillState.Auditing)/6 生效- 草稿else if(BzInterfaceStruct.FromBillState =TBillState.AuditingFinshed& BzInterfaceStruct

7、.ToBillState =TBillState.FirstDraft) /7 在審核 - 草稿(不會到提交狀態(tài))else if(BzInterfaceStruct.FromBillState =TBillState.Auditing& BzInterfaceStruct.ToBillState =TBillState.FirstDraft) 參數(shù)說明:i. BzInterfaceStruct :實現(xiàn)工作流觸發(fā)接口的參數(shù)體包含常用:BilID 來源單類型,BillDataSet 當前單據(jù)的 DataSet,CompNo帳套,F(xiàn)romBillState 單據(jù)當前狀態(tài),ToBillState單據(jù)將

8、要變成的狀態(tài)iii.ResultMsg : InvokeChangedBillState 方法的返回結(jié)果的輸入?yún)?shù),如果某些信息需要回傳到前臺則增值給這個參數(shù)2. 回寫業(yè)務的類型包含以下三種a) 貨品狀態(tài)信息回寫,如庫存數(shù)量、訂單量、在途量、在制量等等b) 期間庫存回寫,按月做為期間的貨品庫存信息如:當上月結(jié)存、當月入庫累計、出庫累計等等c) 來源單數(shù)量回寫,如銷售出庫回寫銷售訂單的銷售出庫量a)public void WriteBackMatStatus( TBusinessInterfaceStructBzInterfaceStruct,DataTable BillTable, DataT

9、ableChangedTable, string StockField,int BwQty, DateTime LastTime, bool IsInStock)單據(jù)全表的貨品狀態(tài)信息更新方法,3. 貨品狀態(tài)信息回寫有如兩種方法, MatStatus.WriteBackMatStatus 和 MatStatus.WriteMatStatusRow一般應用于庫存單據(jù),因其他沒有業(yè)務判斷并且只回寫 MatStatus.QtyStock 字段參數(shù)說明1. BzInterfaceStruct :包含單據(jù)的審核流程信息2. BillTable :單據(jù)的最新內(nèi)容3. ChangedTable :單據(jù)的修改

10、內(nèi)容4. StockField :指定當前單據(jù)的倉庫字段的名稱,如傳入空串則會自動轉(zhuǎn)換為 StockID5. BwQty: 指示業(yè)務回寫業(yè)務的方向 , 值 1 表示回寫數(shù)量增加,值 -1 表示回寫數(shù)量減小,值 0 表示作廢回寫6. LastTime: 單據(jù)的核算日期,由系統(tǒng)參數(shù)管控設置取單據(jù)日期或生效日期7. IsInStock :指示回寫是否為入庫方向,值 True 入庫方向,值 False 則為出庫方向b) public void WriteMatStatusRow( TBusinessInterfaceStruct BzInterfaceStruct, DataRow dr, strin

11、g QtyFields, DateTime LastTime, bool IsInStock) 單據(jù)遂行更新貨品狀態(tài)信息方法,一般有業(yè)務需要決定是否需要回寫的情況下使用i.參數(shù)說明,除以下參數(shù)其他與上一方法相同1. dr :單據(jù)最新內(nèi)容或修改內(nèi)容里的行 例子:,由ChangedDataSet是否為空來決定,請參考以下的例子c)public void WriteBackMatStatus( TBusinessInterfaceStruct int BwQty, DateTime LastTime)BzInterfaceStruct,DataTable BillTable, DataTableCh

12、angedTable,TBZMatStatus MatStatus = new TBZMatStatus (m_ConnectionString);MatStatus.WriteBackMatStatus(BzInterfaceStruct, BillTable, ChangedTable,StockID , BwQty, LastTime,true );public void WriteBackMatStatus( int BwQty, DateTime LastTime)TBusinessInterfaceStruct BzInterfaceStruct,DataTable BillTab

13、le, DataTableChangedTable,TBZMatStatus MatStatus =new TBZMatStatus (this .m_ConnectionString);List ExpFields = new List ();DataTable dt = ChangedTable = null ? BillTable : ChangedTable;foreach ( DataRow dr in dt.Rows)decimal Value = 0, Value1 = 0;/ 來源單為采購訂單時,減小貨品信息的在途量if ( string .Compare(dr BilIDFr

14、om .ToString(), PUB) != 0&TBZBillState .GetIsInBilIDFrom(m_ConnectionString, dr BilIDFrom .ToString(),TConvert .ToInt64(dr IDFrom ), TConvert .ToInt32(dr ItemFrom ), PUO)!= null ) ExpFields.Add( QtyPo: + (-BwQty); if ( string .Compare(dr BilIDFrom .ToString(), PUB) = 0) ExpFields.Add( QtyBorr: + (-B

15、wQty);elseQtyStock: + BwQty);ExpFields.Add(MatStatus.WriteMatStatusRow(BzInterfaceStruct, dr, ExpFields.ToArray(), LastTime, true ); ExpFields.Clear(); 4. 期間庫存回寫包以下兩種回寫方法, MatStatus.WriteBackStock 和 MatStatus.WriteBackStockRowa) public DataTable WriteBackStock( TBusinessInterfaceStruct BzInterfaceStruct, DataTable BillTable, DataTable ChangedTable, string StockFiled, string ExpFields, string QtyFields,TCompDataParamCDate

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論