跳至内容
菜单
此问题已终结
2 回复
5025 查看

Hello, 

On sales order, I would like to select a partner from the select box by start typing its phone number.
How can I do that?

Thank you in advance!
Regards

形象
丢弃
最佳答案

_name_search method will allow to customize the search based on other field.
to search based on phone filed you need to override the method of res_partner like

    def name_search(self, cr, user, name, args=None, operator='ilike', context=None, limit=80):
        if not context: context={}
        res = super(res_partner, self). name_search(cr, user, name, args=args, operator=operator, context=context, limit=limit)
        if name:
            ids = self.search(cr, user, [('phone','=',name)]+ args, limit=limit, context=context)
        if ids:
            res = self.name_get(cr, user, ids, context=context)
        return res
        
it will give you partner when you search related partner phone.

形象
丢弃

@Atul, it is more performant if you just add the args before calling the super. Then, it will only search once. Also, I think you shouldn't return the return of name_get.

最佳答案

You need to enhance the name_search method of res.partner to also search the phone number field.  You may want to enhance the name_get method as well to display the phone number field.

形象
丢弃
相关帖文 回复 查看 活动
4
11月 20
6273
1
3月 15
4980
1
6月 23
2269
1
10月 22
4818
2
12月 20
6232