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

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.

形象
丢弃
最佳答案

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
形象
丢弃
最佳答案

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

形象
丢弃
相关帖文 回复 查看 活动
1
12月 23
2710
1
12月 23
4161
1
7月 23
2978
0
5月 23
2882
1
2月 23
2811