跳至內容
選單
此問題已被標幟
2 回覆
4018 瀏覽次數

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

頭像
捨棄
最佳答案

Hello Moe, 

Please find code in comment. 

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

頭像
捨棄

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>

最佳答案

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

頭像
捨棄
作者

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

相關帖文 回覆 瀏覽次數 活動
1
3月 23
2530
1
1月 25
1707
4
2月 24
4599
1
2月 24
1416
0
12月 23
1065