Tạo mới các dạng hiển thị Tree, Form, Kanban, Calendar, Gantt, graph Hợp đồng a Định nghĩa các field ORM b Định nghĩa các dạng hiển thị 5.. Tạo mới một menu Id: tên xác thực menu du
Trang 1LẬP TRÌNH CƠ BẢN
OPENERP DEMO VỚI MODULE
SALE
Trang 2Nội dung chính
1 Tìm hiểu nghiệp vụ sale cơ bản (partner, product,
pricelist, quotation, invoice)
2 Tạo mới một module
3 Tạo mới và chỉnh sửa menu
4 Tạo mới các dạng hiển thị (Tree, Form, Kanban,
Calendar, Gantt, graph) Hợp đồng
a) Định nghĩa các field (ORM)
b) Định nghĩa các dạng hiển thị
5 Chỉnh sửa các dạng hiển thị (kế thừa)
6 Các phương thức trong ORM (Create, write, unlink, …)
7 Sử dụng các dạng action (window, wizard, client, …)
8 Tham khảo thêm: report, security, workflow, web
service, …
Trang 3 Partner: địa chỉ, email, nhân viên kinh doanh, bảng giá, số liệu kế toán, giao nhận, thanh toán, …
Product: giá, danh mục, đơn vị tính, phân lô, đóng
gói, phương thức cung ứng, các khoản thuế
Pricelist:
Quotation: địa chỉ giao nhận hàng / hóa đơn, cửa
hàng, khách hàng, bảng giá áp dụng, phương thức thanh toán, chứng từ gốc, dòng đơn hàng, giá trị đơn hàng, …
Invoice: giá trị hóa đơn, chi tiết hóa đơn, khách hàng, đơn vị tiền tệ, thanh toán, …
1 Nghiệp vụ sale cơ bản
Trang 4 Cấu trúc của module
2 Tạo mới một module
Trang 5 openerp .py:
'name': Tên hiển thị của module
‘author’: Người xây dựng module
‘depends’: Các module liên quan
‘data’ : view, security, workflow, report, …
‘demo’: Các dữ liệu demo có sẵn
Tham khảo thêm: openerp .py
2 Tạo mới một module
Trang 6 Tạo mới một menu
Id: tên xác thực menu (duy nhất)
Parent: menu cấp cao hơn (dùng tên xác thực)
Name: tên hiển thị lên hệ thống (không có sẽ lấy tên
action)
Action: action tương ứng khi nhấn vào menu
Group: thuộc nhóm người dùng nào (dùng để phân quyền)
Sequence: thứ tự sắp xếp cho các menu cùng cấp
Sửa lại cấu trúc menu
Cùng module: dùng lại chính id của menu cũ
Khác module: “tên module” + “.” + “id của menu cũ”
3 Tạo mới và chỉnh sửa
menu
Trang 8 Char (string, size, translate=True/False)
String: tên hiển thị lên hệ thống
Translate: cho phép dịch sang ngôn ngữ khác
Size: số kí tự nhập tối đa
Ví dụ: ‘name’: fields.char(‘Name’, size=128,
translate=True),
Text (string, translate=True/False)
Tương tự char với size không giới hạn
Ví dụ: ‘dsc’: fields.text(‘Description’, translate=True),
A Các dạng Field
Trang 9 Selection (value, string)
Value: dạng mảng với các key và giá trị tương
ứng
String: tên hiển thị lên hệ thống
Ví dụ: ‘type’: fields.selection([(‘fix’, ‘Fixed’),
(‘var’, ‘Variable’)], ‘Measure Type’)
A Các dạng Field
Trang 10 Binary(string, filters=None)
String: tên hiển thị lên hệ thống
Filters: lọc theo các định dạng cho trước
A Các dạng Field
Trang 11 Many2one (obj, string)
Obj: đối tượng tham chiếu đến để lấy name
String: tên hiển thị lên hệ thống
Ví dụ: ‘sale_man’: fields.many2one(‘res.users’,
‘Saleperson’)
A Các dạng Field
Trang 12 One2many (obj, field_id, string)
Obj: đối tượng tham chiếu đến để lấy giá trị cho
Trang 13 Many2many (obj, rel, field1, field2)
Obj: đối tượng tham chiếu đến để lấy giá trị cho
field
Rel: bảng trung gian chứa id của 2 bảng đang
tham chiếu
Field1: id của bảng hiện tại
Field2: id của bảng tham chiếu còn lại
Ví dụ: 'tax_id': fields.many2many('account.tax', 'sale_order_tax', 'order_line_id', 'tax_id', 'Taxes'),
A Các dạng Field
Trang 14 Function (fnct, arg, fnct_inv, type, fnct_search, obj, store, multi, …)
Fnct: hàm dùng để truyền giá trị cho field này
Fnct_inv: hàm dùng để cập nhật giá trị field
Type: kiểu dữ liệu hiển thị lên field này
Fnct_search: hàm dùng để tìm giá trị của field này
Obj: đối tượng lấy giá trị từ cơ sở dữ liệu của field này khi là một field quan hệ
Store, multi: các tính năng như lưu xuống dữ liệu
và dùng cho nhiều field function khác với cùng 1 hàm
A Các dạng Field
Trang 15 Related (f1, f2, …, type)
F1, f2: một chuỗi các field trung gian dùng để lấy giá trị
Type: kiểu dữ liệu hiển thị lên field này
Property (obj, type, view_load, group_name, …)
Thuộc tính thay đổi theo quyền truy xuất xác định
Obj: đối tượng tham chiếu đến field này
Type: kiểu dữ liệu hiển thị lên field này
A Các dạng Field
Trang 16 Dạng list view (tree view)
B Các dạng hiển thị
Trang 17 Dạng list view (tree view)
B Các dạng hiển thị
Trang 18 Dạng Form view (biểu mẫu)
B Các dạng hiển thị
Trang 19 Dạng Form view (biểu mẫu)
B Các dạng hiển thị
Trang 20 Dạng Kanban
B Các dạng hiển thị
Trang 21 Dạng Kanban
B Các dạng hiển thị
Trang 22 Dạng Calendar
B Các dạng hiển thị
Trang 23 Dạng Calendar
B Các dạng hiển thị
Trang 24 Dạng Graph
B Các dạng hiển thị
Trang 25 Dạng Graph
B Các dạng hiển thị
Trang 26 Thiết lập môi trường Areoo report
Tải các thư viện aeroolib và genshi về cài vào python
Tải các module Aeroo cài vào OpenERP
Có thể tham khảo thêm quá trình cài đặt tại đây
File python xử lý đưa dữ liệu lên report
File xml hiển thị report lên hệ thống
File report với cấu trúc định sẵn để nhận dữ liệu và hiển thị
Areoo report