Skip to Content
Menu
Musisz się zarejestrować, aby móc wchodzić w interakcje z tą społecznością.
To pytanie dostało ostrzeżenie
1 Odpowiedz
43965 Widoki

Hello,

When I click on "Products" under the sales tab there is a filter already applied ("can be sold"). Is there a way to change this default filter (or perhaps even to a more complex advanced search) for each view / on a user basis?

Thanks for the help!

Lawrence

Awatar
Odrzuć
Najlepsza odpowiedź

Hi,

you must create a module to inherit action you want to modify,

see :

inherit action

example in 6.1 :

for produt search in product/product_view.xml, the search view for product is defined in this code :

<record id="product_search_form_view" model="ir.ui.view">
        <field name="name">product.search.form</field>
        <field name="model">product.product</field>
        <field name="type">search</field>
        <field name="arch" type="xml">
            <search string="Product">
               <filter string="Services" icon="terp-accessories-archiver" domain="[('type','=','service')]"/>
               <filter string="Products" icon="terp-accessories-archiver" domain="['|',('type','=','product'),('type','=','consu')]" help="Both stockable and consumable products"/>
               <separator orientation="vertical"/>
               <filter string="To Sell" name="filter_to_sell" icon="terp-accessories-archiver-minus" domain="[('sale_ok','=',1)]"/>
               <filter name="filter_to_purchase" string="To Purchase" icon="terp-accessories-archiver+" domain="[('purchase_ok', '=', 1)]" />
               <separator orientation="vertical"/>
               <field name="name"
                    filter_domain="['|', ('name','ilike',self),('default_code','ilike',self)]"/>
               <field name="categ_id" widget="selection" operator="child_of" groups="base.group_extended"/>
               <newline/>
               <group expand="0" string="Context..." groups="base.group_extended">
                   <field name="pricelist_id" widget="selection" context="{'pricelist': self}" />
                   <separator orientation="vertical" groups="base.group_multi_company" />
                   <field name="company_id" widget="selection" groups="base.group_multi_company" />
               </group>
               <newline/>
               <group  expand='0' string='Group by...' groups="base.group_extended">
                   <filter string='Category' icon="terp-stock_symbol-selection" domain="[]" context="{'group_by' : 'categ_id'}" groups="base.group_extended"/>
                   <separator orientation="vertical"/>
                   <filter string='Default UOM' icon="terp-mrp" domain="[]" context="{'group_by' : 'uom_id'}" />
                   <separator orientation="vertical"/>
                   <filter string='Type' icon="terp-stock_symbol-selection" domain="[]" context="{'group_by' : 'type'}" />
                   <separator orientation="vertical" groups="base.group_multi_company"/>
                   <filter string='Company' icon="terp-go-home" domain="[]" context="{'group_by' : 'company_id'}" groups="base.group_multi_company" />
               </group>

            </search>
        </field>
    </record>

you have a filter defines for your description :

<filter string="To Sell" name="filter_to_sell" icon="terp-accessories-archiver-minus" domain="[('sale_ok','=',1)]"/>

the default filter is defined in the action, in the code with the reference to th search view id :

<field name="search_view_id" ref="product_search_form_view"/>

in :

<record id="product_normal_action_sell" model="ir.actions.act_window">
        <field name="name">Products</field>
        <field name="type">ir.actions.act_window</field>
        <field name="res_model">product.product</field>
        <field name="view_mode">tree,form,kanban</field>
        <field name="view_type">form</field>
        <field name="context">{"search_default_filter_to_sell":1}</field>
        <field name="view_id" ref="product_product_tree_view"/>  
        <field name="search_view_id" ref="product_search_form_view"/>            
        <field name="help">You must define a Product for everything you buy or sell. Products can be raw materials, stockable products, consumables or services. The Product form contains detailed information about your products related to procurement logistics, sales price, product category, suppliers and so on.</field>
    </record>

the default filter is defined like this : search_default + field name filter, in your case : search_default_filter_to_sell

to have the filter on, the value defined is 1 (True): "search_default_filter_to_sell":1

for your need, give the value 0 in your inherited action (False)

you can do the same thing for every search view.

you can activate one or more filter default in a list separated by comma.

<field name="context">{"search_default_filter_to_sell":0,"search_default_filter_to_purchase":1}</field>

just put default filter you want with value 1 or 0, by default filter is to 0 for each filter.

Bye

Awatar
Odrzuć

This is very helpful. Thanks a lot!!

Powiązane posty Odpowiedzi Widoki Czynność
1
lis 22
2163
4
lis 23
3348
2
lis 23
3139
7
kwi 21
20508
1
paź 20
4880