Tìm kiếm Blog này

Thứ Tư, 5 tháng 6, 2013

Diễn Đàn OpenERP của người Việt Nam

Nền kinh tế Việt Nam đang dần phục hồi, các doanh nghiệp cần có một giải pháp phần mềm hổ trợ công tác quản trị và hoạch đinh nguồn lực. Sau một thời gian xâm nhập vào thị trường Việt Nam, giải pháp mã nguồn mở OpenErp đã ngày càng khẳng định được vị thế của mình.

Với sự tham gia phát triển của hàng triệu lập trình viên trên thế giới và sự quan tâm của rất nhiều doanh nghiệp, OpenERP sẽ trở thành một mảnh đất màu mỡ để khai thác.

Với quyết tâm xây dựng một cộng đồng OpenERP Việt Nam vững mạnh, chúng tôi đã xây dựng diễn đàn OpenERP Việt Nam, nơi các bạn có khám phá, học tập, chia sẽ và tìm được công việc. Mong các bạn tham gia và cùng nhau đóng góp để diễn đàn ngày càng lớn mạnh.

Welcome To OpenERP Việt Nam

Thứ Tư, 23 tháng 1, 2013

OpenERP Việt Nam

Chào các ban,

Mọi bài viết mới nhất sẽ được cập nhật tai địa chỉ: terp.vn .

Mong các bạn tham gia và đóng góp.

Thanks all.

Thứ Tư, 1 tháng 2, 2012

Thay đổi ngôn ngữ cho OpenERP Client trên Window


Để OpenERP client hiển thị Tiếng VIỆT như hình trên, ta làm như sau:
  • Thêm biến môi trường LANG=vi_VN vào hệ thống
    • Win XP: Click chuột phải vào My Computer => Properties. Chọn tab Advances, Environment Variables
    • Win 7: tương tự.
  • Mở file tên user/.openerprc, sửa lang = vi_VN
  • Restart Client để thấy kết quả.
Đôi lúc bản dịch của OpenERP Client không như bạn mong muốn, bạn có thể tự dịch theo cách sau:
  1. Tải và cài đặt POEdit tại địa chỉ: http://sourceforge.net/projects/poedit/files/poedit/1.4.6/poedit-1.4.6-setup.exe/download
  2. Mở file dịch tại: đường dẫn tới OpenERP/Client/po/vi.po bằng POEdit
  3. Sau khi dịch xong, bạn lưu lại, vào trong thư mục po, bạn sẽ thấy 1 file có tên là vi.mo, copy file này vào trong thư mục Client\share\locale\vi\LC_MESSAGES
  4. Đổi tên vi.mo thành openerp-client.mo
  5. Hoàn thành, mở OpenERP để xem kết quả, làm tương tự cho các thứ tiếng khác.

Cách Việt hóa OpenERP

Để Việt hóa OpenERP bạn làm theo 2 cách sau:
  • Cách 1:
    • Cài gói ngôn ngữ tiếng Việt có sẵn của OpenERP vào trước : Administrator> Translation > Load an Offical Translation – Chọn Vietnamese / Tiếng Việt.
    • Xuất file ngôn ngữ của OpenERP ra file CSV: Administrator> Translation> Import/Export >Export, chọn ngôn ngữ, File format, và add module nào cần dịch rồi Export, Save.
    • Mở file vừa Export lên bằng OpenOffice hoặc Libre Office và bắt đầu dịch.
    • Sau khi dịch xong thực hiện Import lại vào OpenERP tương tự như thao tác Export, nhớ gõ chính xác Vietnamese / Tiếng Việt, Code: vi_VN
  • Cách 2:
    • Chọn Translate label
    • Chọn Translate view
    • Điền nghĩa của từ cần dịch vào ô text bên cạnh, OK. Hoàn thành.

Customize OpenERP client source với Eclipse, Pydev trên Windows

Khi bạn muốn phát triển thêm hoặc chỉnh sửa các widget client của OpenERP, để cho các thay đổi đó có hiệu lực, ta phải xóa file nguồn trong library.zip rồi add thêm file mới sửa vào, hoặc build lại toàn bộ source của OpenERP client. Điều này hơi bất tiện, bài viết hôm nay sẽ hướng dẫn các bạn lập trình, chỉnh sửa source của OpenERP client với Eclipse, khi muốn thấy sự thay đổi chỉ cần nhấn nút Stop, Restart trên Eclipse.
Bước 1: cấu hình Eclipse, Pydev tương tự như bài hướng dẫn này.
Bước 2: download tất cả các thư viện cần thiết về và cài đặt hết vào máy, cài Python2.5 trước
http://bazaar.launchpad.net/~openerp/openerp/win-installer-trunk/files/head%3A/dependencies/
hoặc download tại: http://www.mediafire.com/?ccnjgjhtmcmacfu
Giải nén file hippo-canvas-0.3.0-win32.zip, rồi copy “libhippocanvas-1-0.dll” và “hippo.pyd” vào nơi bạn cài Python2.5\DLLs (ví dụ C:\python25\DLLs\)
Giải nén file msvcp71.zip, rồi copy msvcp71.dll vào trong C:\WINDOWS\SYSTEM32
Bước 3: download OpenERP Client source về tại địa chỉ : http://www.openerp.com/downloads
Bước 4: giải nén OpenERP client source vừa download về, tạo mới project

Next

Bỏ dấu check Use default, chọn thư mục client source vừa giải nén/bin. Đặt tên cho project, ở đây là ClientV6
Chọn Gramar Version là 2.5, Interpreter là Python2.5 mà bạn vừa cài đặt. Cấu hình cho python, và pydev(xem bài hướng dẫn này nếu chưa biết)
Finish
Mở file openerp-client.py

Chạy OpenERP client source

Ta sẽ thấy như sau:

Ta có thể dùng client bình thường, ta có thể chỉnh sửa, viết thêm các widget cho client trong Eclipse, muốn thấy sự thay đổi chỉ cần nhấn vào Stop, rồi Start, hoặc nhấn vào Restart.

Hoàn thành.

Lập trình OpenERP server source với Eclipse

Khi bạn lập trình module mới cho OpenERP, để module đó có hiệu lực bạn phải restart lại OpenERP server, sau đó tiến hành cài đặt module đó. Điều đó sẽ khá là mất công, bài viết này sẽ trình bày cách phát triển và debug OpenERP server code với Eclipse 1 cách nhanh chóng.
Bước 1 : bạn tiến hành  cài đặt eclipse, python, Pydev
http://www.eclipse.org/downloads/packages/eclipse-classic-361/heliossr1
http://www.python.org/download/
http://pydev.org/download.html
Hoặc xem bài hướng dẫn này để cấu hình eclipse, pydev.. để lập trình.
Bước 2: download OpenERP server source  và bản cài đặt OpenERP
http://www.openerp.com/downloads
Bước 3:  tiến hành cài OpenERP vào máy, ví dụ : C:\Program Files\OpenERP AllInOne\Server
Giải nén file source, ví dụ mình giải nén vào  C:\Source. Rồi sau đó copy file openerp-server.conf trong thư mục C:\Program Files\OpenERP AllInOne\Server\openerp-server.conf  vào C:\Source\bin
Bước 4: Tạo mới 1 pydev project trong eclipse
Lúc chọn Project contents, bỏ dấu check Use default, chọn thư mục C:\Source\bin (hình ở dưới chỉ minh họa, mình edit bài viết mà chưa chụp hình lại đượcc)

Click chuột phải vào Project vừa tạo xong, chọn Property, chọn PyDev-PYTHONPATH, thêm source folder và zip library trong tab External Libraries như trong hình sau:

Bước 5: Thiết lập lại file openerp-server.conf
01[options]
02without_demo = False
03netport = 8070
04# cổng giao tiếp là 8070
05server_actions_allow_code = False
06secure = False
07demo = {}
08syslog = False
09list_db = True
10cache_timeout = 100000
11port = 8069
12reportgz = False
13secure_pkey_file = server.pkey
14netinterface =
15log_level = info
16admin_passwd = admin
17smtp_port = 25
18smtp_server = localhost
19db_user = openpg
20price_accuracy = 2
21login_message = False
22import_partial =
23soap = False
24pidfile = False
25db_maxconn = 64
26stop_after_init = True
27smtp_password = False
28xmlrpc = True
29db_port = 5432
30debug_mode = False
31netrpc = True
32secure_cert_file = server.cert
33interface =
34logfile = False
35# để ghi log ra dưới màn hình console của eclipse
36# nếu muốn ghi file log ra file, bạn chỉ đường dẫn tới nơi cần ghi: ví dụ: C:\openerp.log
37csv_internal_sep = ,
38pg_path = C:\Program Files\OpenERP AllInOne\\PostgreSQL\\bin
39# đường dẫn tới PostgreSQL
40translate_modules = ['all']
41smtp_ssl = False
42root_path = C:\Source\\bin # source OpenERP server
43smtp_user = False
44db_password = openpgpwd
45db_name = False
46db_host = 127.0.0.1
47assert_exit_level = warn
48email_from = False
49addons_path = C:\Source\\bin\\addons # đường dẫn tới thư mục addon source
Mở file openerp-server.py trong C:\Source\bin\openerp-server.py, chạy nó trong Eclipse.
Muốn stop server, ta chỉ cần nhấn nút đỏ trên màn hình, muốn start server, ta nhấn vào nút xanh trên màn hình.
Sau này muốn tạo thêm module mới, bạn chỉ cần tạo 1 folder trong thư mục C:\Source\bin\addons, sau khi tạo xong tiến hành restart lại server và cài đặt module.

Sản phẩm, hàng hóa trong OpenERP

Giới thiệu:
Trong việc quản lý công ty, một trong những việc quan tâm đầu tiên là sản phẩm, hàng hóa của công ty mình. Ở bài viết hôm nay, chúng ta sẽ tìm hiểu về sản phẩm, hàng hóa trong OpenERP, và các thuộc tính của nó. Trong OpenERP, tất cả các nguyên vật liệu sản xuất, vật tư, bán thành phẩm,sản phẩm hoàn thiện,các sản phẩm dịch vụ của doanh nghiệp.. đều được xem như là sản phẩm, hàng hóa.

Hình 1: danh sách sản phẩm ở dạng List View
 
Hình 2: sản phẩm ở dạng Form View
  • Name
    • Name : tên của sản phẩm
  • Codes
    • Reference: tên gọi khác của sản phẩm hoặc mã sản phẩm
    • EAN13: mã vạch của sản phẩm
  • Characteristics
    • Can be sold : sản phẩm này có thể bán hay không ? Nếu chọn không thì lúc chọn hàng bán, sản phẩm này sẽ không hiện lên.
    • Can be purchased: có thể mua sản phẩm này hay không? Nếu chọn không thì lúc mua hàng, ta sẽ không thấy sản phẩm này trong ds hàng.
  • Information

Hình 3: thẻ Information,thiết lập 1 số thông tin chung về sản phẩm
    • Procurement:
      • Product type
        • Stockable Product : sản phẩm này có thể lưu trữ, cất giữ ở trong kho
        • Consumable : giống như Stockable Product, nhưng với số lượng không giới hạn, OpenERP sẽ xem như mặt hàng này luôn đủ số lượng để cung cấp cho khách hàng, sẽ không tự động sinh ra Đơn Mua Hàng hay Lệnh Sản Xuất để bổ sung số lượng trong kho.
        • Service: sản phẩm này là 1 dịch vụ.
    • Procurement Method:
      • Make to Stock: quyết định cách mà sản phẩm này được bổ sung vào kho, sản phẩm sẽ lấy trong kho ra, nếu số lượng sản phẩm không đủ để giao cho đơn hàng đặt, thì khi đó hệ thống sẽ tự sinh ra 1 đơn mua hàng (Purchase Order) hoặc 1 lệnh sản xuất dựa vào thiết lập phần Minimum Stock Rules.
      • Make to Order: khi có đơn đặt hàng có sản phẩm này được xác nhận thì hệ thống sẽ tự sinh ra 1 đơn mua hàng hoặc 1 lệnh sản xuất để đủ số lượng giao cho khách hàng.
    • Supply Method : phương thức cung ứng
      • Buy : mua hàng
      • Produce: tự sản xuất
    • Base Prices
      • Costing Method: phương thức tính giá
        • Standard Price: giá vốn cố định, và thường được tính lại vào 1 thời điểm nào đó (vd: cuối năm)
        • Average Price: giá vốn được tính lại mỗi lần nhập hàng
      • Cost price : giá mua
      • Sale Price : giá bán
      • Cost và Sale price là cơ sở để lập bảng giá (sẽ tìm hiểu thêm ở phần bảng giá)
    • Weights:
      • Volumns: thể tích m3
      • Gross Weight: khối lượng sau khi đóng gói (kg)
      • Net Weight: khối lượng thực (kg)
    • Status:
      • Category : sản phẩm này thuộc danh mục hàng nào
      • Status: trạng thái của sản phẩm: đang phát triển, bình thường, lỗi thời, hay không dùng nữa…
      • Product Manager: người quản lý, chịu trách nhiệm về sản phẩm này.
    • Stocks
      • Real stock: số lượng sản phẩm thực tế còn trong kho.
      • Virtual stock: số lượng sản phẩm lý thuyết còn trong kho: Virtual Stock = Real stock + số lượng hàng sắp nhập vào – số lượng hàng sắp xuất đi
      • Nút Update: trong thực tế sẽ xảy ra nhiều trường hợp làm cho số lượng hàng trong thực tế khác với số lượng trên chương trình do đó cần phải cập nhật lại cho số lượng trong ct = số lượng thực tế ở trong kho.
    • Lots
      • Track Manufacturing Stocks: sản phẩm này được sản xuất và theo dõi theo lô
      • Track Incoming Lots: sản phẩm này được nhập về theo lô
      • Track Outgoing Lots: sản phẩm này được xuất theo lô
    • Unit of Measure
      • Default Unit of Measure : đơn vị tính mặc định là gì ?
      • Purchase Unit of Measure: đơn vị tính khi mua, ví dụ: ta có thể mua hàng theo tấn, và tính theo kg
  • Procurement & Locations

Hình 4: Thẻ Procurement & Locations, các thiết lập về kho nằm ở đây
    • Delays
      • Customer Lead Time: Thời gian hẹn giao sản phẩm cho khach hàng
      • Manufacturing Lead Time: Thời gian để sản xuất sản phẩm này
      • Warranty (months): thời hạn bảo hành.
    • Storage Localisation: sản phẩm này được để ở chỗ nào
      • Rack: Ngăn
      • Rows: hàng
      • Case: kệ
    • Counter-Part Locations Properties
      • Procurement Location: kho đối ứng trong quá trình cung ứng sản phẩm, khi mà hệ thống chưa biết là nên Mua hay Sản Xuất thì sẽ dùng kho đối ứng mặc định là giá trị của kho Procurement Location này.
      • Production Location: kho đối ứng trong quá trình sản xuất sản phẩm
      • Inventory Location: kho đối ứng này thường dùng để làm khớp số lượng hàng giữa thực tế và chương trình.
    • Miscellaous
      • Active: thay vì xóa sản phẩm ra khỏi chương trình, ta sẽ ẩn nó đi
  • Suppliers

Hình 5: thẻ thiết lập Suppliers, liên quan tới các thông số về Nhà cung cấp sản phẩm này
    • 1 sản phẩm có thể có nhiều nhà cung cấp, đây sẽ là yếu tố giúp cho OpenERP tự động tạo phiếu mua hàng từ các nhà cung cấp mà ta tạo ra.
    • Supplier : nhà cung cấp nào
    • Sequence: độ ưu tiên, số càng nhỏ thì có độ ưu tiên càng cao
    • Supplier Product Name: nhà cung cấp này gọi sản phẩm này là gì
    • Supplier Product Code : nhà cung cấp đặt mã cho sản phẩm này là gì
    • Minimal Quantity: số lượng nhỏ nhất khi mua. Ví dụ nhà cung cấp chỉ bán sản phẩm này khi mua với sl > 100 đơn vị
    • Supplier UoM: đơn vị tính khi mua sản phẩm này của nhà cung cấp
    • Delivery Lead Time: thời gian sẽ nhận được hàng sau khi đặt hàng từ nhà cung cấp
    • Pricelist : chỉ ra số lượng và đơn giá, được dùng để tạo bảng giá
    • Descriptions: mô tả, chú thích kèm theo
  •  Description: các ghi chú về sản phẩm này
Hình 6: thẻ Descriptions, các mô tả về sản phẩm, lưu ý khi mua, bán sản phẩm này
  • Packaging

Hình 7: thẻ Packing của sản phẩm, liên quan tới các thiết lập về quy cách đóng góp
    • Sản phẩm này có được đóng gói hay không? Quy cách đóng gói? Bao nhiêu sản phẩm được đóng thành 1 gói.
  • Accounting:

Hình 8: thẻ Accounting, các thiết lập kế toán nằm ở đây
    • Sale Properties:
      • Income Account: tài khoản thay thế cho tài khoản bán hàng mặc định được thiết lập trong Nhật Kí Bán Hàng
      • Sale Taxes: Thuế khi bán
    • Purchase Properties:
      • Expense Account: tài khoản thay thế cho tài khoản mua hàng mặc định được thiết lập trong Nhật Kí Mua Hàng
      • Purchase Taxes: Các loại thuế phải chịu khi mua sản phẩm này
Tài liệu tham khảo:
http://doc.openerp.com
http://doc.openerp.com/v6.0/book/1/1_2_Guided_Tour/1_2_Guided_Tour_openerp.html#products
http://doc.openerp.com/v6.0/book/5/5_14_Stock/5_14_Stock_mvts.html#receipt-of-a-supplier-order-by-product