Dynamics NAV作為一個(gè)有二十多年歷史的ERP系統,其內部的業(yè)務(wù)邏輯流程已經(jīng)十分標準化。顧問(wèn)掌握了NAV的標準業(yè)務(wù)邏輯之后,就能清晰地知道數據在系統中的流轉方向,當遇到一些客制化需求時(shí),也能夠準確地找到切入點(diǎn),并快速地對客制化需求進(jìn)行評估。
在NAV中,數據基本可分為幾大類(lèi):
Master Data就是我們常說(shuō)的主數據,比如customer, vendor, item等等,我就不多說(shuō)了。
Setup Data更好理解,就是系統的設置參數,你使用的模塊越多,需要設置的參數表就越多。
下面重點(diǎn)講一下另外的三個(gè)數據類(lèi)別以及它們之間的關(guān)系:
1.Document
你可以把Document理解成日常的業(yè)務(wù)單據,比如銷(xiāo)售訂單、采購訂單、生產(chǎn)訂單等等,document通常都會(huì )與用戶(hù)進(jìn)行交互的,是NAV系統數據的主要來(lái)源之一。在實(shí)施過(guò)程中,Document表現為客戶(hù)向我們提交的各種需要用戶(hù)輸入的表單(報表除外)。每一種Document過(guò)帳都會(huì )由相應的Codeunit來(lái)進(jìn)行,比如Sales Order由Codeunit Sales-Post來(lái)過(guò)帳,Purchase order由Codeunit Purch.-post來(lái)過(guò)帳。另外,Document過(guò)帳之后,通常會(huì )進(jìn)行歸檔,將數據寫(xiě)入Archived xxx表中存為歷史數據。
2.Journal
Journal通常稱(chēng)為日記帳。在NAV中,journal可以與用戶(hù)直接進(jìn)行交互,但同時(shí)它是document轉化為entry的唯一媒介。比如一張銷(xiāo)售訂單過(guò)帳時(shí),訂單的數據通過(guò)CodeUnit Sales-Post中的function寫(xiě)入到不同的journal中,庫存的變化數據會(huì )寫(xiě)入到Item journal,同時(shí)根據數據內容和設置的不同以及是否過(guò)帳發(fā)票,還寫(xiě)入到General journal, resource journal, warehouse journal等。隨后,Codeunit Sales-Post會(huì )對這些journal進(jìn)行Post,將最終數據寫(xiě)入到不同的Entry中去。
這是Document到Entry的流程。在NAV中,Journal也可以直接讓用戶(hù)輸入數據來(lái)進(jìn)行相關(guān)的業(yè)務(wù),比如item journal可以進(jìn)行庫存調整、盤(pán)點(diǎn)等操作,而財務(wù)模塊中,用戶(hù)都是通過(guò)不同類(lèi)型的General Journal來(lái)輸入憑證的。
簡(jiǎn)單來(lái)說(shuō),Journal是用戶(hù)與系統Entry數據進(jìn)行交互的最低層界面,任何對Entry數據的操作都要直接或間接地通過(guò)Journal來(lái)完成。它的另外一個(gè)特點(diǎn)是journal在過(guò)帳之后是不會(huì )有歸檔的。
3.Entry
Entry是NAV系統中最終的業(yè)務(wù)數據,比如G/L Entry記錄了財務(wù)數據,Item ledger entry記錄了物料的庫存變化數據,value entry記錄了物料的價(jià)值變化數據。這些數據都是不允許用戶(hù)直接進(jìn)行修改的,所有的改動(dòng)都需要通過(guò)Journal來(lái)進(jìn)行,也就是通過(guò)Post journal來(lái)進(jìn)行。而對進(jìn)行Post操作的CodeUnit在系統中基本上是一對一的,一個(gè)entry就會(huì )有一個(gè)Codeunit。比如Item ledger entry是由Codeunit Item jnl. -post line對item journal進(jìn)行post操作,而寫(xiě)入數據的;G/L entry是由Gen. jnl. -post line對Gen. journal進(jìn)行post操作,而寫(xiě)入數據的。
所以,只要我們明白了這個(gè)基本的流程,數據的流向就很清楚了。如果某個(gè)客戶(hù)要求在銷(xiāo)售訂單行中增加一個(gè)字段,這個(gè)字段的值是要帶入到item ledger entry的。我們在標準系統中又找不到類(lèi)似的字段可以替代時(shí),只要寫(xiě)幾句代碼和增加幾個(gè)字段就能完成這個(gè)需求的開(kāi)發(fā)工作。
6步就完成了,一般只需要2句代碼和新增3個(gè)字段。是不是覺(jué)得很容易?是的,在NAV中進(jìn)行客制化就是這么容易。
聯(lián)系客服