日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

(58) 在计算字段提供搜索功能

發布時間:2024/1/17 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 (58) 在计算字段提供搜索功能 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

問題描述:
運單號是在出庫單上后勤填寫的,平時銷售訂單有一個運單號是通過計算字段
從出庫單上獲的,這時,銷售員,要在銷售列表上,輸入運單號 找到對應的銷售訂單

分析:
可以用兩種方法
方法1.字段設置為 store=True , 這樣和其它的普通的字段一樣,可以搜索,有一點
在計算時會很慢,在出庫貨上填寫運單號時,轉半天,影響效率

方法2,字段加上search 加上對應的方法
這個寫邏輯復雜一些,但效率最高

解決:
用方法2:
tracking_number_raw = fields.Text(string='Tracking Number Raw',

compute='_get_tracking_number',search='_tracking_number_raw_search')


??? def _tracking_number_raw_search(self, operator, value,limit=100):
???????? if operator == 'like':
???????????? operator = 'ilike'
???????? stock_pickings = self.env['stock.picking'].search([('picking_type_code','=','outgoing'),

('carrier_tracking_ref',operator,value)])
???????? if stock_pickings :
???????????? domain = [('id', 'in', [sale.id for sale in stock_pickings.sale_id])]
???????? else:
???????????? domain = [('id', '=', 0)]
???????? return domain


---------------------------------
<record id="view_sales_order_filter_inherit" model="ir.ui.view">
??????????? <field name="model">sale.order</field>
??????????? <field name="inherit_id" ref="sale.view_sales_order_filter" />
??????????? <field name="arch" type="xml">
??????????????? <field name="partner_id" position="after">
??
????????????????? <field name="tracking_number_raw" />

??????????????? </field>

??????????????? </field>
??????? </record>

---------------------------------
這樣在列表視圖右上角輸入運單號,有對應的運單號搜索,這樣就可以找到對應的銷售單

重點講解 search 對應的方法
返回是domain? , 對應的字段一定對象要有的字段,像我上面是sale.order對象
id 這個字段一定有的 ,這里可以靈活變化,可換成 name 條件去找,等等,這樣就解決
所有關于字段為 compute 類型的搜索問題。

轉載于:https://www.cnblogs.com/toby2chen/p/7922265.html

總結

以上是生活随笔為你收集整理的(58) 在计算字段提供搜索功能的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。