【正文】
,目標(biāo)在保持已開發(fā)完成的物流系統(tǒng)功能不受影響、流程及原系統(tǒng)數(shù)據(jù)庫結(jié)構(gòu)盡量不受改動的情況下,實現(xiàn)津菱物流公司所提出的有關(guān)財務(wù)業(yè)務(wù)的功能。物流這一概念,隨著它對商品生產(chǎn)、流通和消費的影響,日益明顯并越來越引起人們的注意。尤其是在順應(yīng)經(jīng)濟全球化、信息化和企業(yè)競爭戰(zhàn)略的要求而產(chǎn)生的第三方物流(Third Party Logistics)——“第三方物流”一詞于80年代中后期開始盛行,當(dāng)時它是對物流環(huán)節(jié)的要素進行外包的一個主要考慮方面。將Outsourcing引人物流管理領(lǐng)域,就產(chǎn)生了第三方物流的概念,即生產(chǎn)經(jīng)營企業(yè)為集中精力搞好主業(yè),把原來屬于自己處理的物流活動,以合同方式委托給專業(yè)物流服務(wù)企業(yè),同時通過信息系統(tǒng)與物流服務(wù)企業(yè)保持密切聯(lián)系,以達到對物流全程的管理和控制的一種物流運作與管理方式。 1998年以前的定義Logistics is the process of planning, implementing and controlling the efficient, effective flow and storage of raw material, inprocess inventory, finished goods, service, and related information from point of origin to point of consumption (including inbound, outbound, internal, and external movements) for the purpose of conforming to customer requirements.物流學(xué)就是研究對原材料、中間產(chǎn)品、產(chǎn)成品、服務(wù)及相關(guān)信息從供應(yīng)始點到消費終點的流動與存儲進行有效地計劃、實施與控制以滿足客戶需要的科學(xué)。[1]由此可知,物流管理系統(tǒng)就是應(yīng)物流企業(yè)對訂貨、進貨、盤點、出貨、庫存結(jié)賬、客戶服務(wù)等活動進行有效管理的要求下而產(chǎn)生的。津菱物流公司是最近在天津開設(shè)的一家專門從事物流業(yè)務(wù)的公司,其主要運作模式為第三方物流運作,規(guī)模比較大。 對于津菱公司和良菱公司在相同的業(yè)務(wù)邏輯上實現(xiàn)的核心代碼,盡量不做修改。因為原系統(tǒng)功能交錯性比較強,模塊間的耦合度比較高,修改一個模塊一般會影響到其它的模塊功能的實現(xiàn)。 本文內(nèi)容 對津菱物流系統(tǒng)的基本業(yè)務(wù)流程經(jīng)過一段時間的熟悉,以及就津菱公司財務(wù)方面的需求進行詳細咨詢和分析后,在保持與原物流系統(tǒng)兼容的前提下,對于津菱公司所提出的財務(wù)功能進行了仔細地設(shè)計。在本章中,對于系統(tǒng)二次開發(fā)背景作了簡要地介紹,并對津菱物流管理系統(tǒng)的實現(xiàn)模塊進行了劃分。第四章:財務(wù)功能模塊的設(shè)計與實現(xiàn)。 38 第二章 津菱物流管理系統(tǒng)概述第二章 津菱物流管理系統(tǒng)概述 系統(tǒng)開發(fā)背景津菱物流公司所作的業(yè)務(wù)可以說是一種第三方物流的運作模式,有關(guān)第三方物流的有關(guān)概念已在項目背景中作了較為詳細的闡述,簡而言之,即由第三方來承擔(dān)企業(yè)物流活動的一種物流形態(tài)。 廠家配送模式,即某些客戶提前向某個供應(yīng)商購置了某些商品,供應(yīng)商主動向津菱提出配送要求,并將客戶所購置的商品配送出去。津菱是物資的倉儲、分揀、運輸者。津菱公司要求一個存儲倉位只能夠存放一個名義下的商品。然后,針對某個用戶的特殊需求,將系統(tǒng)中的某些功能 Disable 掉,再做一些必要的修改。入庫金額統(tǒng)計入庫查詢庫存查詢出庫查詢盤點查詢進銷存統(tǒng)計出庫金額統(tǒng)計補貨移庫退貨盤點損益入庫確定入庫管理入庫預(yù)報單入庫驗貨單配送出庫出庫確認Sybase數(shù)據(jù)庫圖23 津菱物流管理系統(tǒng)基本運作流程總體上來說,津菱物流管理系統(tǒng)可劃分為八大功能模塊,他們共同配合完成了整個物流運作的管理,其中每個功能模塊下面又包含了各自的子功能模塊。 倉庫基本信息設(shè)置,其實現(xiàn)了對分揀倉位的設(shè)置、空倉位的生成以及導(dǎo)入導(dǎo)出數(shù)據(jù)等功能。 門店要貨管理,其包含了要貨單錄入、門店退貨、要貨信息以及欠品歷史信息的查詢等功能。 倉庫內(nèi)部管理,其主要實現(xiàn)了庫存維護、商品封倉、移庫、盤點、手工損益、倉位優(yōu)化以及庫存查詢等功能。 財務(wù)管理,該部分實現(xiàn)了進貨實價入庫、盤點損益、銷售部分的財務(wù)以及導(dǎo)出財務(wù)數(shù)據(jù)等功能。 硬件環(huán)境:普通PC機216。 軟件環(huán)境:Windows2003 Server,Powbuilder7,Sybase ,ER ,SQL Server 2000,金蝶K/3 應(yīng)用到的主要技術(shù)216。數(shù)據(jù)窗口對象的主要功能是顯示數(shù)據(jù)并允許用戶修改,因為在數(shù)據(jù)窗口對象中包含兩個主要組件:數(shù)據(jù)信息和顯示格式。在一個實際的應(yīng)用程序處理過程中,數(shù)據(jù)窗口一般位于應(yīng)用程序和數(shù)據(jù)庫中間,按應(yīng)用程序的要求來檢索,操縱并顯示數(shù)據(jù)。Datawindow定義了數(shù)據(jù)的顯示界面屬性及與該Datawindow相關(guān)的數(shù)據(jù)庫對象的數(shù)據(jù)操作屬性。存儲過程能夠改善應(yīng)用程序的性能。除了性能方面的改善外,存儲過程還提供了方便地集中維護應(yīng)用程序的功能。同時,存儲過程還能提供安全機制,盡管用戶可能無權(quán)執(zhí)行存儲過程中的命令,但它卻可能有權(quán)執(zhí)行存儲過程本身。在津菱物流系統(tǒng)中,存儲過程的大量使用,也一方面提高了系統(tǒng)的運行速度,另一方面,也保證了系統(tǒng)的穩(wěn)定性?;谟螛?biāo)的類型,可以對其進行回滾或者前進。由于津菱公司財務(wù)業(yè)務(wù)上的需要,要在原系統(tǒng)的基礎(chǔ)上增加財務(wù)業(yè)務(wù)的功能。 兩系統(tǒng)使用同一數(shù)據(jù)庫,這將不可避免的產(chǎn)生同時訪問數(shù)據(jù)庫的情況,并且為物流系統(tǒng)建立的數(shù)據(jù)庫的表中很多字段對于物流系統(tǒng)是非常重要的,而對于財務(wù)系統(tǒng)卻是沒有價值的。 兩系統(tǒng)使用兩個不同的數(shù)據(jù)庫,這一方面,浪費了數(shù)據(jù)庫空間。 會計科目:就是對會計核算單位的資產(chǎn)、負債、權(quán)益按其不同的特點和經(jīng)濟業(yè)務(wù)過程核算的需要進行分類核算的項目,按照有關(guān)規(guī)定一級會計科目必須以中文命名,并有一個標(biāo)準(zhǔn)的科目代碼,不同行業(yè)的會計科目會有所不同。編制會計分錄,要以反映經(jīng)濟業(yè)務(wù)發(fā)生的原始憑證作根據(jù),以保證會計核算的客觀性,也便于事后檢查。一方面在技術(shù)上保證了大規(guī)模并發(fā)用戶使用的穩(wěn)定性;另一方面,除普通財務(wù)管理的應(yīng)用功能之外,還提供了集團控制、結(jié)算中心等功能模塊,結(jié)合管理會計的功能模塊,極大地加強了各種類型企業(yè)用戶的財務(wù)管理和控制功能,提高了企業(yè)的財務(wù)運籌能力。216。 財務(wù)模塊所要實現(xiàn)的目標(biāo)是將物流軟件與財務(wù)軟件相結(jié)合178。178。 生成會計憑證信息的環(huán)節(jié)需要生成會計憑證信息的環(huán)節(jié)有:估價進貨、估價進貨沖紅、實價入庫,退換商品,盤點損溢處理,商品銷售出庫,商品成本計算。 K/3需要的憑證信息格式憑證信息是由多條記錄構(gòu)成的,每一條記錄描述了物流部門所進貨的某一種商品的詳細信息。其中第一級必須為一個4位的標(biāo)準(zhǔn)會計科目編碼,對于津菱公司而言,此編碼為1243,表示“庫存商品”。 對于一個供應(yīng)商的一次送貨,津菱物流系統(tǒng)將生成一個憑證信息包,根據(jù)該憑證信息包,K/3軟件系統(tǒng)將生成一張會計憑證。在系統(tǒng)運行過程中,如果有新的供應(yīng)商或新的商品品種出現(xiàn),需要津菱物流系統(tǒng)的使用者,首先將這些更新信息加入到津菱物流系統(tǒng)中,然后通知K/3軟件系統(tǒng)的使用者將這些更新信息加入到K/3軟件系統(tǒng)中,再進行憑證信息傳遞工作。供應(yīng)商按照定單送貨,一次送貨只開具一張送貨單,即可以多個定單對應(yīng)一張送貨單 ,一張送貨單對應(yīng)一張銷售發(fā)票。否則憑證信息中的商品單價為津菱公司根據(jù)以往業(yè)務(wù)歷史記錄,對該商品估計的一個單價,即估價。當(dāng)生成會計憑證時,價格是不能改變的,應(yīng)等于商品進貨時的價格。估價與銷售發(fā)票上的實際價格有出入,但在財務(wù)上規(guī)定不能有改動,所以需要將上次的記錄取負值以紅色的形式再生成一次會計憑證,然后按照銷售發(fā)票上的實際價格又生成一次會計憑證。盤點的流程是:初盤數(shù)據(jù)導(dǎo)出,盤點啟動,復(fù)盤數(shù)據(jù)導(dǎo)入,盤點復(fù)核。 第四章 財務(wù)功能模塊的設(shè)計與實現(xiàn)第四章 財務(wù)功能模塊的設(shè)計與實現(xiàn) 入庫部分財務(wù)模塊的設(shè)計與實現(xiàn) 在對津菱公司就采購進貨部分的需求和財務(wù)業(yè)務(wù)流程進行詳細分析后,入庫部分財務(wù)模塊設(shè)計與實現(xiàn)可由下面章節(jié)加以闡述。即送貨單號與銷售發(fā)票單號是一一對應(yīng)的,這就要為物流系統(tǒng)的進貨的子模塊中增加判定送貨單號唯一性的功能。但從財務(wù)功能實現(xiàn)的角度考慮,由于入庫單號是津菱公司內(nèi)部產(chǎn)生的編號,很難從入庫單號查出相應(yīng)的供貨方送來的銷售憑證的信息。 問題一: 已實現(xiàn)的津菱物流系統(tǒng)入庫部分的對送貨單號的操作為,在登記入庫階段,由操作人員手工錄入。 問題二: 送貨單號唯一性的判定。在入庫部分財務(wù)模塊的設(shè)計中,已經(jīng)詳細討論了實現(xiàn)該功能,需要解決的問題。為實現(xiàn)該功能,在物流系統(tǒng)的登記入庫相應(yīng)界面W_imp_all上,添加一個名為“修改”的按鈕,當(dāng)操作人員點擊該按鈕時,送貨單號一列為可編輯狀態(tài),輸入新的送貨單號后,再點擊“入庫”,即完成了對送貨單號的修改。當(dāng)操作人員點擊“修改”按鈕后,即進入狀態(tài)Modifing_ProvSupplyNo;完成修改后,點擊“入庫”按鈕,即進入入庫提交階段。choose case is_state……/*物流系統(tǒng)其他的幾個狀態(tài)*/case Modifing_ProvSupplyNo/*物流系統(tǒng)的狀態(tài)為可修改送貨單號時 */ ls_ProvSupplyNo = [1] update Tbd_StkReg set ProvSupplyNo = :ls_ProvSupplyNo where in (select from Tbh_Order where = :ll_OrdNo )。 實現(xiàn)的代碼如下:/*return : 2送貨單號在同一張訂單中不唯一;0送貨單號在數(shù)據(jù)庫中已經(jīng)存在;1送貨單號合法*/long ll_aiRow /*用于datawindow dw_artiinfo中行數(shù)的計數(shù)*/string ls_ProvSupplyNo /*送貨單號*/ls_ProvSupplyNo=[1]for ll_aiRow=2 to () if ls_ProvSupplyNo=[ll_aiRow] then continue else goto ProvSupplyNo_not_exclusive end ifnext /*用于判斷dw_artiinfo中ProvSupplyNo的一列是否是一致的,因為在物流系統(tǒng)實現(xiàn)時同一訂單必定對應(yīng)單一的送貨單號。 if ( 0 ) then exit if ls_psnls_ProvSupplyNo then continue else goto ProvSupplyNo_have_existed。do datetime ld_impDate。具體的情況將由操作人員自主判斷*/III. 實價入庫功能的實現(xiàn)經(jīng)過對物流系統(tǒng)反復(fù)運行及查閱與無稅價有關(guān)的各表的記錄變化情況,明確了實價入庫功能實現(xiàn)涉及到的數(shù)據(jù)庫表為:Tbd_StkReg和Tbd_StkLoc。216。對于財務(wù)憑證的導(dǎo)出,在得到所要送貨單對應(yīng)的記錄后,點擊dw_list2的所要生成財務(wù)憑證的相應(yīng)列,再點擊“導(dǎo)出”按鈕即完成了財務(wù)數(shù)據(jù)的導(dǎo)出。II. 修改事件(sy_giveup)的實現(xiàn)if is_state Allow_Modify_Price then return 1(1)(1, true)()(untaxprice)of_SwitchState(Modifing_Price)把焦點設(shè)置到untaxprice一列上,并通過自定義函數(shù)of_SwitchState把狀態(tài)轉(zhuǎn)換到可修改原始價格的狀態(tài)。提示信息39。對于實價入庫的存儲過程Spi_imp_realPriceReclaim將在后面部分加以詳細闡述。V. 此窗口中的關(guān)閉按鈕是從系統(tǒng)中的父類中繼承加以實現(xiàn)。對于盤點部分的基本財務(wù)運作流程可由圖45表示。 平時用慣了Java、C++、C等開發(fā)語言,第一次的pb接觸,真的有點不適應(yīng)。隨著項目的進行,對于pb的認識與感悟也日益加深,它對數(shù)據(jù)庫的操作:簡便的查詢、及時的更新、方便的可視化數(shù)據(jù)庫操作等等,使我有時真的佩服pb的對數(shù)據(jù)庫支持的強大。 在整個項目開發(fā)過程中,從開始階段腦袋都大地去讀一個幾百行的存儲過程,到后來自己嘗試著寫幾百行的存儲過程,雖然算不上什么大的突破,但從中也嘗到了一些成功的喜悅。由于項目開始時,經(jīng)驗不足,造成了項目協(xié)調(diào)進行的困難。致謝致 謝首先要感謝我的導(dǎo)師張波副教授,在整個畢設(shè)過程中,給了我許多有益的啟發(fā)和熱情的幫助。最讓我感謝是同作財務(wù)模塊的劉劉,在我時間緊張的情況下,給了我許多真情的幫