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