Skip to Content
Menu
This question has been flagged
2 Replies
2125 Zobrazenia

i have a Payment view (model is account.payment) in which it displays the bill section in tree view by click on that it redirects to that bill view (model is account.move) and shows tree view for products in it.

i want to show this tree view of products in Payment view. how to do it?

Note: I'm using odoo 15 community  version.

Avatar
Zrušiť
Best Answer

Hi,

Try this,

class AccountPayment(models.Model):
_inherit = 'account.payment'

move_ids = fields.One2many('account.move.line', 'payment_id', string='Bill lines')

class AccountMove(models.Model):
_inherit = 'account.move'

payment_id = fields.Many2one('account.payment', string='Payment')
XML
<record id="view_account_payment_form" model="ir.ui.view">
<field name="name">account.payment.form</field>
<field name="model">account.payment</field>
<field name="inherit_id" ref="account.view_account_payment_form"/>
<field name="arch" type="xml">
        <xpath expr="//field[@name='ref']" position="after">

            <page name="payment_lines" string="Payment Lines">
                 <field name="move_ids" widget="one2many_list">
             
<tree string="Requisitions Lines" editable="bottom">
// add required fields here
</tree>
</field>
<page>
</xpath>
</field>
</record>




Thanks
Avatar
Zrušiť
Best Answer

Hi,

To display the tree view of products from the bill (account.move) directly in the Payment view (account.payment) in Odoo 15 Community version, you can achieve this by adding a custom related field to the Payment model that fetches the related products from the bill.

* Inherit the model "account.payment" and add related_product_ids Many2many field.
In Python:
class AccountPayment(models.Model):
    _inherit = 'account.payment'

    related_product_ids = fields.Many2many(
        'product.product',
        string='Related Products',
        compute='_compute_related_products',
        help='Products from the related bills'
    )

    @api.depends('invoice_ids')
    def _compute_related_products(self):
        for payment in self:
            related_products = payment.invoice_ids.mapped('invoice_line_ids.product_id')
            payment.related_product_ids = [(6, 0, related_products.ids)]

In XML:

<odoo>
    <data>

<record id="view_account_payment_form_inherit" model="ir.ui.view">

<field name="name">account.payment.form.inherit</field>

<field name="model">account.payment</field>

<field name="inherit_id" ref="account.view_account_payment_form"/>

            <field name="arch" type="xml">

                <field name="amount" position="after">

                    <field name="related_product_ids" widget="many2many_tags"/>

                </field>

            </field>

        </record>

    </data>

</odoo>


Hope it helps

Avatar
Zrušiť
Related Posts Replies Zobrazenia Aktivita
1
dec 23
2348
1
dec 23
3739
1
júl 23
2708
0
máj 23
2514
1
feb 23
2394