26
LẬP TRÌNH CƠ BẢN OPENERP DEMO VỚI MODULE SALE

Làm quen lập trình OpenERP qua module sale

Embed Size (px)

DESCRIPTION

Làm quen lập trình OpenERP qua module sale

Citation preview

Page 1: Làm quen lập trình OpenERP qua module sale

LẬP TRÌNH CƠ BẢN OPENERP

DEMO VỚI MODULE SALE

Page 2: Làm quen lập trình OpenERP qua module sale

Nội dung chính1. Tìm hiểu nghiệp vụ sale cơ bản (partner, product,

pricelist, quotation, invoice)2. Tạo mới một module3. 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 đồnga) Đị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, …

Page 3: Làm quen lập trình OpenERP qua module sale

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

Page 4: Làm quen lập trình OpenERP qua module sale

Cấu trúc của module

2. Tạo mới một module

Page 5: Làm quen lập trình OpenERP qua module sale

__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

Page 6: Làm quen lập trình OpenERP qua module sale

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

Page 7: Làm quen lập trình OpenERP qua module sale

A. Các dạng Field: Các field cơ bản:

Boolean Integer, float Date, datetime, time

Ví dụ: ‘active’: fields.boolean(‘Active’), ‘nbr’: fields.integer(‘Number’), ‘date’: fields.datetime(‘Date’),

4. Tạo mới các dạng hiển thị

Page 8: Làm quen lập trình OpenERP qua module sale

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

Page 9: Làm quen lập trình OpenERP qua module sale

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

Page 10: Làm quen lập trình OpenERP qua module sale

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

Page 11: Làm quen lập trình OpenERP qua module sale

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

Page 12: Làm quen lập trình OpenERP qua module sale

One2many (obj, field_id, string) Obj: đối tượng tham chiếu đến để lấy giá trị cho

field Field_id: tên field khóa ngoại để tham chiếu giữa

hai object String: tên hiển thị lên hệ thống Ví dụ: ‘line_id’: fields.one2many(‘sale.order.line’,

‘order_id’, ‘Sale Order Line’),

A. Các dạng Field

Page 13: Làm quen lập trình OpenERP qua module sale

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

Page 14: Làm quen lập trình OpenERP qua module sale

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

Page 15: Làm quen lập trình OpenERP qua module sale

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

Page 16: Làm quen lập trình OpenERP qua module sale

Dạng list view (tree view)

B. Các dạng hiển thị

Page 17: Làm quen lập trình OpenERP qua module sale

Dạng list view (tree view)

B. Các dạng hiển thị

Page 18: Làm quen lập trình OpenERP qua module sale

Dạng Form view (biểu mẫu)

B. Các dạng hiển thị

Page 19: Làm quen lập trình OpenERP qua module sale

Dạng Form view (biểu mẫu)

B. Các dạng hiển thị

Page 20: Làm quen lập trình OpenERP qua module sale

Dạng Kanban

B. Các dạng hiển thị

Page 21: Làm quen lập trình OpenERP qua module sale

Dạng Kanban

B. Các dạng hiển thị

Page 22: Làm quen lập trình OpenERP qua module sale

Dạng Calendar

B. Các dạng hiển thị

Page 23: Làm quen lập trình OpenERP qua module sale

Dạng Calendar

B. Các dạng hiển thị

Page 24: Làm quen lập trình OpenERP qua module sale

Dạng Graph

B. Các dạng hiển thị

Page 25: Làm quen lập trình OpenERP qua module sale

Dạng Graph

B. Các dạng hiển thị

Page 26: Làm quen lập trình OpenERP qua module sale

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

Tạo một report đơn giản với Areoo report: 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