Odoo學習筆記一:odoo初探

 

 

轉載請註明原文地址:http://www.javashuo.com/article/p-kmvwlxts-ks.htmlcss

 

一:Odoo架構html

1:數據庫服務器層:postgreSQL數據庫服務器,用於存儲全部應用數據。python

2:openERP應用服務層:包含全部企業模塊邏輯(報表引擎、工做流引擎等),向下提供ORM引擎,向上提供web服務,控制服務器與瀏覽器的通訊。mysql

3:客戶層:包括GUI客戶端以及Web客戶端。web

客戶端經過JSON-RPC或者XML-RPC與服務器進行通訊。sql

 

二:Odoo經常使用功能模塊數據庫

企業管理模塊編程

物料管理模塊瀏覽器

財務管理模塊服務器

人力資源模塊

客戶與供應商關係管理模塊

項目管理模塊

平常工做管理模塊

溝通工具模塊

業務流程管理模塊

......

 

三:odoo開發簡介

odoo開發要實現如下功能:

數據訪問功能:信息的增刪查改。基於MVC模式進行開發,其中Model用ORM了來對應數據庫表並操縱,而view則用XML來定製界面,Controller也是用XML來定義響應。

工做流開發:用軟件表達企業層級的工做協做關係。有兩種方式:XML方式定義、可視化拖拽編程定義。

報表開發:把系統的數據以特定形式輸出打印。主要有:文檔報表、圖形報表等。

 

四:繼承開發

Odoo提供了大量現成的模塊給咱們使用,可是某些狀況下,咱們須要制定符合本身需求的功能模塊。Odoo開發的一條黃金準則是——不要修改現有的模塊,以避免改動後的代碼與原有模塊產生混淆。

所以,odoo提供了繼承機制,咱們能夠選擇一個基礎模塊,而後繼承它,在它的基礎上進行修改、擴展,生成本身的模塊。

開發本身的模塊時,須要在模塊所在目錄下,建立兩個文件:__init__.py和__openerp__.py,在其中定義模塊的初始化操做以及模塊的描述。

而後使用本身的模塊:把本身的模塊路徑設置到odoo中,重啓odoo讓其搜索到自定義模塊,便可經過odoo進行安裝。

 

模塊文件目錄構成:

data:存放demo和data xml

models:存放模型定義:繼承models.Model類,定義出的模型類會自動與Odoo提供的ORM接口匹配,也就是說這些模型類會自動存入sql中。

controllers:存放http路徑控制(url請求處理)

views:網頁視圖文件與模版文件(xml文件,使用QWEB語言進行描述)

static:靜態資源文件,如css、js等

security:對模塊的訪問權限控制,在ir.model.access.csv文件中定義。還能夠新建一個record_rule.xml,在其中進行更細化的權限控制。

繼承模塊經過 _inherit=「繼承的模塊」  屬性來實現。以後在新建立的模塊中就能夠新增field、修改父模塊的field、重載方法了。

 

不單單模塊能夠繼承開發,視圖文件也可繼承修改,對與視圖文件中某個標籤,經過 ref=「繼承的視圖元素」進行繼承。

 

五:數據庫端開發

可使用pgadmin3來對postgreSQL數據庫管理操做,若是SQLYog操做mysql同樣。

 

六:模塊開發流程

1:分析模塊模型,得出模型所需的字段有哪些,而後定義模型類——python編程。

2:構建菜單對象——在views文件夾下,使用xml定義菜單項。

3:構建動做對象,關聯某個具體菜單項的響應。

4:構建視圖對象:主要是list、tree、form、search視圖。

5:配置__init__.py和__openerp__.py

 

七:orderset

odoo8新增的ORM API,最經常使用的有 domain(fieldName,op,value) 方法 以及 search(fieldName,op,value)。

 

八:模型內的數據文件

1:ID

全部存儲在Odoo底層數據庫中的記錄都有一個獨一無二的id。odoo經過ir.model.data模型來管理這些ID,這個模型對應數據庫中ir_model_data表,其存儲了ID與具體某條具體的記錄的映射關係。

2:導入導出數據

tree列表視圖下,能夠導入導出數據。其中,導入數據須要csv格式,導出則能夠爲csv或excel格式。

3:標籤值

使用filed標籤指明某個字段並賦值。賦值有兩種方式:<field>值<field/> 、<field name="" eval="計算標籤值的表達式"/>

 

九:工做流開發

工做流開發主要使用xml,有三種組成元素:workflow、activity、transition。

相關文章
相關標籤/搜索