新建物料组!
關(guān)于庫存物料這一塊:
在新建物料的時候會有5個必輸字段:物料編號,物料組,物料類型,庫存模型組,維度組。
下面研究一下新建物料組時相關(guān)問題:必須得創(chuàng)建一個物料組,這就是創(chuàng)建物料的前提條件。
在新建物料組的時候,看上去蠻簡單,一般我們需要填寫的就兩個,物料組和名稱字段。
物料組的主表是inventItemGroup但是會發(fā)現(xiàn)在窗體上很多字段都沒在表字段里面,都是在表edit方法中得到的,在AX系統(tǒng)中會有兩個比較特殊的方法,display方法和edit方法,一般是用來得到不能直接從數(shù)據(jù)源字段中得到的數(shù)據(jù)。
在一般窗體數(shù)據(jù)源中都會出現(xiàn)creat,insert這樣方法,但奇怪的是這個窗體中沒得。更奇怪的是在把斷點(diǎn)放在表方法中的setLedgerAccount中,在點(diǎn)擊新建按鈕時候不會觸發(fā),但是在切換tabpage時候就會跳到這里面斷點(diǎn)中來。
這里面給各種科目賦值涉及到的表和方法:
在表inventItemGroup中有一個公用的方法setLedgerAccount,給不同的會計(jì)科目類型賦值(InventAccountType)
他在這個方法里面直接調(diào)用表inventPosting(庫存,分類賬日記賬表)里面的方法item,不知道為什么直接跳到這個表來了。兩個表有如下關(guān)系:InventPosting.ItemCode == 1 && InventPosting.ItemRelation == InventItemGroup.ItemGroupId .......InventPosting表中的ItemCode擴(kuò)展子自枚舉類型
TableGroupAll,TableGroupAll::GroupId == 1,也就是ItemCode為組!
InventItemGroup.ItemGroupId也就是該表的名稱字段。
在item方法中又涉及一個表InventPostingParameters(庫存交易記錄組合表)!這個表只有一條記錄,分別判斷里面的“表,組,所有”的物料關(guān)系是否啟動。再做相應(yīng)的判斷!
在item方法里面三個參數(shù)(InventAccountType,ItemId,ItemGroupId)第一個科目類型,第二個物料編號此時調(diào)用物料編號都是空的,第三個編號組也就是當(dāng)前的物料名稱)
在setLedgerAccount里面調(diào)用也就是把當(dāng)前科目類型,物料編號為空,當(dāng)前物料組名稱傳進(jìn)去。
在item方法里面,往inventPosting中循環(huán)找到相應(yīng)的科目編號!
一般第一次創(chuàng)建的時候tableGroup為All,然后找到相應(yīng)的科目編號。
新建物料組后還沒有在表inventPosting里面創(chuàng)建記錄。待考察。。。。
轉(zhuǎn)載于:https://www.cnblogs.com/boydg123/archive/2011/08/10/2133912.html
總結(jié)
- 上一篇: POJ2262Goldbach's Co
- 下一篇: HDU-1016 Prime Ring