Odoo免費開源ERP訂單批量審覈確認設置實施技巧

引言

近期服務一家浙江的外貿公司,這家客戶對Odoo系統預設的訂單審覈確認過程非常滿意,不過有一個方面需求是Odoo默認不支持的,即:批量訂單審覈、批量的審覈後的訂單郵件推送系統未有這樣的處理機制感到遺憾。

Odoo免費開源ERP訂單批量審覈確認設置實施技巧

 

爲此客戶對我們開源智造服務工程師提出批量訂單審覈與批量訂單郵件推送的二次開發需求。服務工程師和我這邊報告提出需求時,我給予服務工程師一種新的高級實施思路解決客戶這樣的需求問題,無需二開就能滿足客戶需求,爲此整理該文,分享給到有同樣困惑的實際使用Odoo甲方的用戶,用於參考解惑!

問題復現

Odoo免費開源ERP訂單批量審覈確認設置實施技巧

Odoo銷售訂單明細頁的確認操作

從以上該圖可以看到Odoo銷售訂單的明細頁是有確認的按鈕的,這裏確實可以對訂單進行確認操作。帶來的主要矛盾是,必須每個訂單逐個手動打開並確認,耗時且複雜。而我們服務的浙江客戶是需要通過銷售訂單列表頁,在動作中批量點擊銷售訂單確認。

Odoo免費開源ERP訂單批量審覈確認設置實施技巧

Odoo銷售訂單列表頁當中沒有批量確認審覈的按鈕

那麼我們順着以上的不滿足點,先完成批量訂單確認的操作實現,之後根據同理實現郵件批量發送。

技術解決方案

啓動開發者模式,在【技術】-【服務器動作】-【創建】

Odoo免費開源ERP訂單批量審覈確認設置實施技巧

Odoo預製的服務器動作的一些配置

從Odoo11之後Odoo將大量的動作操作的模塊動作,由原先封裝到後臺的Python代碼,轉由XML視圖文件定義Server_Actions 標籤的語法,所以這裏即使通過二次開發也請尊重Odoo標準與用戶交付體驗按照這個規範來設計,這樣也是爲了方便用戶有效交付實施並方便用戶後期自主調試。

Odoo免費開源ERP訂單批量審覈確認設置實施技巧

通過服務器動作定義了批量訂單確認

特別注意及說明

動作名稱:動作按鈕的對外顯示名稱

模型:具體應用在哪個模塊的列表頁當中

Python代碼定義:

for sale in records:
  sale.action_confirm()

這裏代碼我們做點着重的使用,records 是Odoo數據集合的概念,在Python records是可迭代的,爲了完成數據集的每項數據都能用於動作觸發,我們必須使用for 循環的方式逐個將數據內容變量賦值給到sale變量。其實sale變量就是我們具體的每張便利出來的訂單,Odoo支持各數據集直接調用模型已定義的方法。action_confirm() 這個是Odoo定義的無參方法,就默認按照無參定義的方法執行,Odoo絕大多數的方法都是無參執行的,這個我們後面會在未來的開源智造Odoo開發技巧Vlog裏重點講述。

Odoo免費開源ERP訂單批量審覈確認設置實施技巧

開發者模式當中可以看到訂單的確認按鈕實際上動作的具體方法名

最後記得點擊 創建上下文操作 按鈕。這時我們可以看到訂單列表頁當中可以有批量訂單處理的按鈕功能。我們點擊測試看下效果。

Odoo免費開源ERP訂單批量審覈確認設置實施技巧

批量訂單確認按鈕配置成功

Odoo免費開源ERP訂單批量審覈確認設置實施技巧

已被確認後的訂單狀態

因爲大家大致明白了之前的原理,這邊我將直接將批量訂單推送郵件的按鈕配置結果圖直接放出。其大致實現思路與上面一致。

Odoo免費開源ERP訂單批量審覈確認設置實施技巧

批量訂單郵件發送設置

編輯:開源智造(OSCG) - 源自歐洲,業界領先的免費開源ERP Odoo亞太金牌服務機構

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章