Bỏ qua để đến Nội dung
Menu
Câu hỏi này đã bị gắn cờ
2 Trả lời
6073 Lượt xem

Whenever a user is trying to search sale order, quotation, lead, contract or invoice (in the top right corner), as the typing goes on the suggestions are shown for both customers and contacts within this company. In our installation we are looking for limiting that search to show only companies, which have is_company set to true. Any idea how to approach that?

Ảnh đại diện
Huỷ bỏ

Please tell us, whether you'd like to use code, or the web interface to solve your issue.

Tác giả

Wouldn't it be easier to do that via web interface?

Câu trả lời hay nhất

Make sure you are logged in as a user with administration rights and technical features activated.

Go to: Settings -> Technical -> User Interface -> Views

Search for the view with view type 'Search' and for the object you want to change the search behaviour (in your case that might be sale.order or quotation, etc)

Duplicate the view and edit it:

  • Change the View Name (to whatever you like)
  • Set Inherited View to the exact view you just duplicated
  • Edit the Architecture as follows:

    1. Add a xpath tag arround the outer <search> tag with expr="/search" and position="replace".
    2. Add a domain attribute inside the field tag for those fields you want to change the behaviour.

Example for Partner Search View:

<?xml version="1.0"?> 
    <xpath expr="/search" position="replace"> 
        <search string="Search Partner"> 
            <field name="name" string="Name" domain="[('is_company','=',True),]" filter_domain="['|','|',('name','ilike',self),('parent_id','ilike',self),('ref','=',self)]"/>
                ... other fields and filters ...
        </search> 
    </xpath>
  • Save the new View and try it.

You might find the documentation helpful.

Regards.

Ảnh đại diện
Huỷ bỏ
Câu trả lời hay nhất

In Default Sale order search view the below code used:-

            <field name="partner_id" filter_domain="[('partner_id', 'child_of', self)]"/>

Based on your requirement inherit search view and add the domain:-

            <field name="partner_id" domain="[('is_company','=',True)]"  filter_domain="[('partner_id', 'child_of', self)]"/>
Ảnh đại diện
Huỷ bỏ
Tác giả

That works just fine, thanks a lot. Tried with domain before and couldn't make it happen to work. Marked as solved.

Upvoted, since you were faster than me.

Besides: Would it be a difference if ('is_company','=',True) is added to the filter_domain using logical AND?

Bài viết liên quan Trả lời Lượt xem Hoạt động
2
thg 11 23
3292
1
thg 12 22
3090
0
thg 12 22
2937
1
thg 12 22
3274
1
thg 2 22
8905