odoo 13 0教程(採購模組增加審批流)

2021-10-01 15:27:18 字數 3873 閱讀 5145

說明

odoo 13.0採購模組中,詢價單的審批只有兩級審批,當詢價單金額超過設定的數值時須由經理審批通過。如果我們想再加乙個或多個審批環節,又該如何處理呢?接下來我們就通過**來說明如果修改**實現對採購審批流程的修改。

模組結構

採購相關的模組共有六個,它們分別是:purchase、purchase_mrp、purchase_product_matrix、purchase_requisition、purchase_requisition_stock、purchase_stock。

purchase 採購功能相關主要業務實現

purchase_mrp 採購業務中涉及到製造模組的邏輯

purchase_product_matrix待續

purchase_requisition 採購協議

purchase_requisition_stock待續

purchase_stock 採購中涉及到的庫存邏輯

purchase模組目錄說明:

manifest.py odoo模組配置檔案,指定了模組的版本、名依賴、demo資料、資料等資訊

data 存放相關資料,在__manifest__.py 檔案中指定

i18n 國際化配置

models 包含主要業務**

report 列印模板

security 許可權配置

views 前端頁面

i18n目錄是odoo模組的約定目錄,國際化的配置檔案必須放在此目錄下,否則載入無效。security、view、data目錄是一種邏輯目錄,這些目錄下的資料需要在 manifest.py配置中指定檔案的相對路徑。

1、purchase_security.xml

odoo 中的組(res.groups)就是一種角色的概念,我們可以為組分配一定的訪問許可權,這種設定是通過檔案配置來實現的。然後在web端我們為某個使用者分配某些組來實現對使用者許可權的控制,在security目錄下的purchase_security.xml檔案中。

[先了解一下odoo許可權機制]

2、purchase_views.xml

在這裡也可以配置許可權

超過100,000的採購必須財務經理審核。

1、新增**流程

state = fields.selection([(

'draft'

,'rfq'),

('sent'

,'rfq sent'),

(,),

#add by firexia(,

),('purchase'

,'purchase order'),

('done'

,'locked'),

('cancel'

,'cancelled')]

, string=

'status'

, readonly=

true

, index=

true

, copy=

false

, default=

'draft'

, tracking=

true

)

2、定義審核函式
# add by firexia

def(self,force=

false):

self.write(

) self.filtered(

lambda p: p.company_id.po_lock ==

'lock'

).write(

)

3、修改原審核函式
def

(self, force=

false):

# edit by firexia

if self.amount_total <

100000

: self.write(

) self.filtered(

lambda p: p.company_id.po_lock ==

'lock'

).write(

)else

:for order in self:

if order.state notin[

]:continue

order._add_supplier_to_product(

) order.write(

)return

4、修改檢視
name

= type

="object"

states

= string

= class

="oe_highlight"

groups

="account.group_account_manager"

/>

line 339:

name

="invoice_status"

attrs

=/>

line 368:

name

="draft"

string

="rfqs"

domain

=/>

5、翻譯

#. module
: purchase

#:model_terms

:ir.ui.view,arch_db

:purchase.purchase_order_form

msgstr "審核"

#. module
: purchase

#:model

:ir.model.fields.selection,name

#:model

:ir.model.fields.selection,name

#:model_terms

:ir.ui.view,arch_db

:purchase.view_purchase_order_filter

msgstr "待批准"6、公升級

7、效果

採購業務員

注意採購總額大於10,0000.

採購經理審核

財務經理審核

odoo 13 0教程(生成唯一不重複的序列號)

odoo中用ir.sequence 生成唯一不重複序列號是這樣用的。1 啟用開發者模式 2 在 設定 技術 序號 中,新建序號模板。比如,用序號模板來指定批次號的生成規則。3 呼叫批次規則。def action generate lot show details self for move line...

ecshop後台增加模組選單詳細教程

1.我們有時候針對ecshop如此開發,想在後台加一些選單,最模板以前提供過教程,但是並非很系統,如何在ecshop後台增加模組選單!首先需要修改四個檔案 inc priv.php,inc menu.php,priv action.php,commn.php 2.首先開啟language zh cn...

ecshop後台增加模組選單詳細教程

我們有時候針對ecshop如此開發,想在後台加一些選單,最模板以前提供過教程,但是並非很系統,今天最模板拋磚引玉 教程告訴大家 如何在ecshop後台增加模組選單!首先需要修改四個檔案 inc priv.php,inc menu.php,priv action.php,commn.php 1.首先開...