Skip ke Konten
Menu
Pertanyaan ini telah diberikan tanda
2 Replies
4101 Tampilan

I want to add a new field as a new discount under the total field and I want to update. Thus, the amount due should be the total - new_discount. How can I add this? Can I have a full explanation or implementation for it please. Thanks

Avatar
Buang
Jawaban Terbai

Hello Moe, 

Please find code in comment. 

Thanks & Regards,
Email: odoo@aktivsoftware.com
Skype: kalpeshmaheshwari

Avatar
Buang

Please find below code it may help you to resolve this issue,

from odoo import fields, models, api

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

discount_amount = fields.Float('Discount Amount')

@api.depends('amount_total', 'discount_amount')
def _compute_amount(self):
for move in self:
move.amount_due = move.amount_total - move.discount_amount

xml:

<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="inherit_view_move_form" model="ir.ui.view">
<field name="name">account.invoice.form</field>
<field name="model">account.invoice</field>
<field name="inherit_id" ref="account.view_move_form"/>
<field name="arch" type="xml">
<xpath expr="//field[@name='amount_total']" position="after">
<field name="discount_amount"/>
</xpath>
</field>
</record>
</odoo>

Jawaban Terbai

Hi,

Try like below code.

python:

from odoo import fields, models, api

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

discount_amount = fields.Float('Discount Amount', digits='Product Price')
amount_due = fields.Float(compute='_compute_amount_due', digits='Product Price', store=True)

@api.depends('amount_total', 'discount_amount')
def _compute_amount_due(self):
for record in self:
record.amount_due = record.amount_total - record.discount_amount

xml:

<?xml version="1.0" encoding="utf-8"?>
<odoo>
        <!-- Add the discount_amount field to the invoice form view -->
        <record id="account_invoice_form" model="ir.ui.view">
            <field name="name">account.invoice.form</field>
            <field name="model">account.invoice</field>
            <field name="inherit_id" ref="account.view_invoice_form"/>
            <field name="arch" type="xml">
                <xpath expr="//field[@name='amount_total']" position="after">
                    <field name="discount_amount"/>
                </xpath>
            </field>
        </record>
</odoo>


Regards

Avatar
Buang
Penulis

Does this code update old invoices? If no, can you provide me with the code that helps updates them please? Thank you so much

Post Terkait Replies Tampilan Aktivitas
1
Mar 23
2545
1
Jan 25
1732
4
Feb 24
4643
1
Feb 24
1455
0
Des 23
1104