適用版本:16.0、15.0、14.0、13.0
改變 Odoo 的搜尋行為,在搜索欄支援執行 AND 條件的搜尋。
不知道大家是否還記得在 Day3 曾經提到「多條件的篩選」,
本文介紹的 web_search_with_and 模組可以滿足我們多條件篩選的需求!
在 Odoo 原生系統中,當使用者在搜索欄對同一個欄位進行多次搜尋時,系統會使用 OR 條件將這些查詢結合起來,但有時候我們需要的是 AND 的查詢條件, Odoo 原生系統卻無法達成這樣的需求。
但幸運如我,在OCA裡發現了 web_search_with_and 模組;
幸運如你,看到了這篇文(⁎⁍̴̛ᴗ⁍̴̛⁎)‼
安裝 web_search_with_and 模組後,使用者只要在送出搜尋時按住 Shift鍵
,系統就會使用AND條件來結合同欄位的查詢條件。
馬上來透過範例看看系統畫面,假設我想得到 「名稱同時包含『客戶』和『客製』的聯絡人」的名單,首先我要搜尋「客戶」:
系統幫我篩出名稱包含客戶的聯絡人:
接著搜尋「客製」,
這時我預期系統會留下「客戶-客製-6」、「客戶-客製-7」、「客戶-客製-8」這3位聯絡人,
Enter 送出搜尋條件之後,搜尋條件居然變成「客戶或客製」,
沒有出現預期中的「名稱同時包含『客戶』和『客製』的聯絡人」清單,
此時看到結果的使用者內心就會OS氣死寶寶😡
讓我們嘗試安裝 web_search_with_and 模組後,再重新搜尋一次,
在搜尋「客製」時按住 Shift鍵
再送出搜尋條件,系統就能篩出我們想要的結果了↓
大家可以結合 Day3 的 web_advanced_search 模組,
將「多條件的搜尋條件」製成「常駐在畫面上的篩選條件按鈕」。
首先在進階篩選取得 domain 值,
接著依循 Day3 的步驟
對著天空大喊:師爺你給翻譯翻譯!
然後程式碼就會變成是 Odoo 系統可以運作的樣子:
<filter string="第13天啦!真棒!" name="miracleD13" domain="['&',('name','ilike','客戶'),('name','ilike','客製')]"/>
接著在「編輯搜索視圖」貼上程式碼,儲存↓
大聲唸出召喚咒語天靈靈地靈靈都瑞咪發 F5 重新來過之術!
重整畫面後,就可以看到篩選列表中已經有剛才設定的條件可以選囉😺
AND 的篩選條件是一個相當常用的功能,對於資料整理分析非常有幫助!
強烈建議所有的導入顧問和開發人員在每個專案系統中都加裝 web_search_with_and 模組~~
終於把自己在 Day3 挖的坑填上啦~心情真好(ΦωΦ)