2009年12月29日 星期二

如何自己動手將 Compiere ERP & CRM 作中文化

如何自己動手將 Compiere ERP & CRM 作中文化

2009年12月28日 星期一

MDA vs UML

會寫程式沒什麼了不起,畢竟程式語言越來越高階,API 越來越多,開發工具越來越好用,寫程式的門檻自然就大大地降低了。想要開發出有價值的中大型系統,軟體工程就很重要。

這麼比喻好了,你可以隨便找一兩個工人用磚或木材來蓋一棟矮房,但是如果想蓋一百多層樓的紐約世貿雙星大樓,你非得有良好的工程規劃不可。軟體不也是如此?程式員名片上的頭銜都是工程師,雖然和建築工程師、機械工程師 ... 一樣都被稱為工程師,但比較起來,軟體產業的工程師卻是最不工程導向的。

何謂軟體工程方法?軟體開發的結構化方法包括有系統模型、代表符號、規則、設計建議以及程序指引等模型描述: 應該產生圖形化的模型描述規則: 套用至系統模型的限制建議: 良好的設計實務的建議程序指引: 依循哪些活動

因此, 沒有 MDA 的 UML 稱為有規矩的單兵作戰有 MDA 的 UML 稱為 有規矩的集團作戰。

-- Albert Chen

MDA 實作三: 新增操作畫面

MDA 實作二: Purchase Order 新增欄位

此次實作, 要在 Purchase Order 新增一個 Field, 而這個 Field 的欄位未在 Purchase 的 Table 存在, 所以, 要先於 Table 新增 Column。再回頭於 PO 的Window 把欄位放進去。

Step 1, 找出 Purchase Order 的 Table。於 Window, Tab & Field 的 Table 欄位, 按右鍵, Zoom 出 Table and Column 的畫面。








Step 2, 新增一 Column, 記錄 Document 的 Version。從 DocumentNo 來複製新欄位 (Copy Record, Shift-F2)。要記得 Synchronize Column, 如此, 才會在 Table 真正的新增欄位。









Step 3, 在上述作業中, 系統會提示 System Element 要唯一值, 所以也要新增一 System Element 給 DocumentNo_Ver 使用, 同樣透過 Zoom 的方式新增(不再贅述)。

Step 4, Table 的 Column 新增後, 要在 Window 的 Tab - Purchase Order 新增 Field - DocumentNo_Ver, 如此, 才可以在 PO 畫面看到這個欄位。

MDA 實作一: Purchase Order 減少欄位

以 Purchase Order 為例, 包括 Purchase order Header, PO Line, Matching, Requisition Lines, Order Tax等五個Tab。

Step 1, Purchase Order 是在這裡定義的: [Window, Tab & Field], 可以看到 Tab 裡面, 有 PO 的五筆 Tab 資料












Step 2, 再到 Purchase Order 的 Field 可以看到呈現的 Field, 我們將 Description 的欄位隱藏, 將 Displayed 的勾勾拿掉。









Step 3, 再回頭看 Purchase Order 的呈現結果, 原本在 Document No 底下的Description 不見了。

2009年12月27日 星期日

動態預設值

何謂動態預設值?

如果選台灣, 預設值是台北; 如果選廣東, 預設值則為廣州。 城市為台北或廣州, 依據上一個省份的選項而有不同, 此即為動態預設值。

SAP 無法作到, Janus 可以修改達成。問題是: 誰會有這個需求?

MDA 實作

MDA 是用宣告的方式來產生畫面, 可以很方便的 Real Time Form Generator. 有了 MDA 的架構, 顧問將可以更專心於業務流程。不管是一個操作畫面的增減欄位, 增減 Button, 或新增一個操作畫面, 都可以用定義的方式產生, 而不用寫程式。

提供 KIWI 連結: Model-driven architecture

較白話文的說明: (叡揚資訊對其開發工具的介紹)
MDA 的開發工具

觀念一樣, 但 Adempiere 是ERP 的MDA. 將可以更快速的完成 ERP 所要求的工作。

實作一: Purchase Order 減少欄位
實作二: Purchase Order 新增欄位
實作三: 新增操作畫面程式

以上, 都可以用定義的方式產生, 所以, MDA 不是一個操作畫面對應一支程式。
Janus 是MDA, SAP 也是, Oracle 的 Quality Management 有點像是, 但 Oracle ERP 並不是。

MDA 更大的好處是: USER 可以看到完成的操作畫面, Acceptance 不用簽的提心吊膽。

資工人的 ERP?

開立 PO 遇到一個問題: PO Line 因精度問題無法儲存。
經確認, 是 Pirce List & PO Line 的精度轉換問題。 這是 BUG。

Google 一下, 關於 Number 變數有長整數/短整數/單精度/雙精度? 複數/實數? 複數實部/複數虛部? 等的定義。

這些到底對 ERP 的 USER 有什麼意義?

ERP 是屬於社會科學, 接受 80/20 的原則。一定限度內的誤差, 應該是可以允許的。經修改後, 已解決這個問題。





PO/ PO Line: Complete。
Material Receipt: Create from PO / 收料入庫。

2009年12月26日 星期六

Right Click

Login User/PWD: SuperUser/SuperUser.
角色 (Role) 選: GardenWorld Admin.

那, 從何開始? .... 開一張 PO 吧! 要開 PO, 就先來建一筆供應商吧.



建供應商, 不用從 Business Partners 開始. 只要在 PO 的 供應商 按右鍵, 就可以 Zoom in 到供應商主檔. Price List 也是, 料號也是. <- 幾霸昏! (100分)


右鍵可以用, 需要這麼高興嗎? .... 呵

Adempiere ERP 安裝

先決定版本: Compiere? Adempiere? OpenBravo? 系出同門。我喜歡 Adempiere 的介面。就 Adempiere 了。
AP: Adempiere 3.5.4a

DB: Oracle 10g R2

JAVA: jdk-6u16-windows-i586.exe

Albert 給了一個快速的方法, 只要事先裝好 DB, 把 Adempiere & Java Copy 到 C: 下就可以執行了。
或按照官方的安裝文件, 一下就裝好了。再不行的, 可以參考這裡的 Flash DEMO
最後, 全新的 DB, 也可以 Import Sample Data, 前提是 Run_Setup 要指到新的 DB:
c:\adempiere\utils\RUN_ImportAdempiere.bat
看到這個畫面就令人感動了!

Janus ERP 縁起

這是關於 Open Source - Adempiere ERP 的學習筆記。 Adempiere ERP 提供了很好的開發工具/ Framework,想用 Adempiere 記錄我在 ERP 的經驗。以我的技術能力,怎能勝任這樣的工作? 所以,就必須要有技術 -- Albert Chen 的協助。Albert Chen 是原始開發團隊之一 (Albertschen)
http://adempiere.org/home/ ...掛在 China 底下 :( 

這裡所有的修改,都不代表 Adempiere。那, 就自己來取個響亮的名字吧!

JANUS is the Roman god with the two faces, one looking forward and one back.

這段時間的努力,將會完整的記錄在這裡。