Přejít na obsah
Menu
You need to be registered to interact with the community.
This question has been flagged
1 Odpovědět
6367 Zobrazení

In Odoo v8, with analytic accounting and contracts management enabled, I override the searchview for Contracts to group them by parent analytic account: in the contract view, when I click on "invoices" - that redirects me to the sale.order.line.tree of invoices for that Contract - I get an error regarding the "parent_id", that actually doesn't exist in the Sale Order Line model.

These are my modifications. The Searchview

<record id="analytic_account_redefine_searchview" model="ir.ui.view" forcecreate="1">
            <field name="name">analytic.account.redefine.searchview</field>
            <field name="model">account.analytic.account</field>
            <field name="inherit_id" ref="account_analytic_analysis.view_account_analytic_account_overdue_search" />
            <field name="arch" type="xml" >

                <xpath expr="//filter[@string='Status']" position="before">
                    <filter name="category" string="Parent account" domain="[]" context="{'group_by':'parent_id'}"/>
                </xpath>

            </field>
        </record>

The window action

<record id="account_analytic_analysis.action_account_analytic_overdue_all" model="ir.actions.act_window">
            <field name="search_view_id" ref="lawyers_analytic_account.analytic_account_redefine_searchview" />
                <field name="context">{
                'default_type':'contract',
                'search_default_open':1, 
                'search_default_pending':1,
                'default_manager_id':uid,
                'search_default_category':1
                }
            </field>

</record>

When I remove the "search_default_category:1" rule, the error disappears.

How could I restrict that context entry so that it gets applied to Contracts only?

Avatar
Zrušit
Autor

@Vasanth: thank you for replying but that doesn't solve

Nejlepší odpověď

 Hi, replace the code by the following codes:

    <record id="analytic_account_redefine_searchview" model="ir.ui.view" forcecreate="1">
                <field name="name">analytic.account.redefine.searchview</field>
                <field name="model">account.analytic.account</field>
                <field name="inherit_id" ref="account_analytic_analysis.view_account_analytic_account_overdue_search" />
                <field name="arch" type="xml" >
                <field name="parent_id invisible="1'"/>

                <xpath expr="//filter[@string='Status']" position="before">
                      <filter string="Parent account" domain="[]" context="{'group_by':'parent_id'}"/>
                </xpath>

                </field>
            </record>

 

    <record id="account_analytic_analysis.action_account_analytic_overdue_all" model="ir.actions.act_window">
                <field name="search_view_id" ref="lawyers_analytic_account.analytic_account_redefine_searchview" />
                    <field name="context">{
                    'default_type':'contract',
                    'search_default_open':1,
                    'search_default_pending':1,
                    'default_manager_id':uid,
                    'search_default_parent_id':1
                    }
                </field>

    </record>

Avatar
Zrušit
Autor

Hi Vasanth, thank you for replying and excuse me for delay - I thought I already replied but now I found I didn't. The modifications you suggest don't get any effect. Actually, the problem is not that the "parent_id" is missing from the "parent" model (the contract, alas the analytic account), but that the invoices view tries to inherit filters from the analytic account search view, which instead acts on different fields.

Related Posts Odpovědi Zobrazení Aktivita
0
bře 15
4342
1
led 25
1322
3
lis 24
2066
0
kvě 24
1639
0
čvc 22
2425