保存注册付款表单时如何保存account_invoice中的自定义字段?

问题描述 投票:0回答:1

在付款发票时,我需要捕获客户的tax_number

要在注册付款弹出窗口(帐户_付款)模型上显示的文本字段。但该值需要存储到account_invoice上的相应行。

按下上面弹出窗口中的“验证”按钮后,该值将存储到父窗口的 account_invoice 记录中。

我如何实现这一目标?

感谢您的任何意见。

model odoo odoo-10
1个回答
0
投票

我最终向 account_invoice 和 account_ payment 模型添加了一个新字段,如下所示。 在这里,即使我不想将值保存到 account_ payment 模型中,它也会将值保存到其中。当我设置 store=False 属性时,self.tax_number 的值变为 False。如果有更好的方法请告诉我。

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

    tax_number = fields.Char('Tax Number')

class account_payment(models.Model):
    _name = "account.payment"
    _inherit = "account.payment"

    tax_number = fields.Char() #dummy field - to be saved to account_invoice
@api.multi
def write(self, values):
    res = super(account_payment, self).write(values)
    _logger.info("values: %s", self)
    if values.get('state')=='posted':
        self.invoice_ids[0].write({'tax_number':self.tax_number})
        
    return res

<xpath expr="//field[@name='journal_id']" position="after">
                    <field name="tax_number" />
                   </xpath>
© www.soinside.com 2019 - 2024. All rights reserved.