Odoo 我想在单击“时添加其他日记账分录行”;“验证”;按钮

Odoo 我想在单击“时添加其他日记账分录行”;“验证”;按钮,odoo,odoo-10,Odoo,Odoo 10,我想在单击“验证”按钮时添加其他日记账分录行(方法:操作\u发票\u打开() 我试着这样做: class Account\u发票(models.Model): _inherit=“account.invoice” od\u rcm\u account\u id=fields.manyOne('account.account',string=“account”) od\U rcm\U金额=字段。浮动(string=“amount”) od\u rcm\u ref=fields.Text(strin

我想在单击“验证”按钮时添加其他日记账分录行(方法:操作\u发票\u打开() 我试着这样做:

class Account\u发票(models.Model):
_inherit=“account.invoice”
od\u rcm\u account\u id=fields.manyOne('account.account',string=“account”)
od\U rcm\U金额=字段。浮动(string=“amount”)
od\u rcm\u ref=fields.Text(string=“Reference”)
@api.multi
def操作\u发票\u打开(自行):
res=super(账户\发票,自我)。操作\发票\打开()
数据线=[]
rcm_dr=(0,0{
“帐户id”:self.od\u rcm\u account\u id和self.od\u rcm\u account\u id.id或False,
“借方”:self.od\u rcm\u金额或False,
“信用”:0,
“名称”:self.od\u rcm\u ref或False,
})
rcm_cr=(0,0{
“帐户id”:self.od\u rcm\u account\u id和self.od\u rcm\u account\u id.id或False,
“借方”:0,
“贷方”:self.od\u rcm\u amount或False,
“名称”:self.od\u rcm\u ref或False,
})
数据行追加(rcm\U dr)
数据行追加(rcm\U cr)
数据={
“行标识”:数据行
}
如果数据['line_id']和self.move_id:
自我移动标识更新(数据)
返回res
我面临的问题是,当单击“验证”按钮时,日记账的状态变为“已发布”,因此会显示一条错误消息: 您不能对已过账的日记账分录进行此修改,您可以只更改一些非法律字段。必须还原日记账分录才能取消它。 动议名称(id):法案/2018/0041(355751)。” 请帮忙。

通过

class Account_Invoice(models.Model):
_inherit = "account.invoice"

od_rcm_account_id = fields.Many2one('account.account',string = "Account")
od_rcm_amount = fields.Float(string = "Amount")
od_rcm_ref= fields.Text(string = "Reference")   

@api.multi
def invoice_line_move_line_get(self):
    res = super(Account_Invoice, self).invoice_line_move_line_get()
    rcm_line_dict1 = {
        'name': self.od_rcm_ref or False,
        'price_unit': self.od_rcm_amount or False,
        'quantity': "1",
        'price': self.od_rcm_amount or False,
        'account_id': self.od_rcm_account_id and self.od_rcm_account_id.id or False,
        'invoice_id': self.id,
    }   

    rcm_line_dict2 = {
        'name': self.od_rcm_ref or False,
        'price_unit': -self.od_rcm_amount or False,
        'quantity': "1",
        'price': -self.od_rcm_amount or False,
        'account_id': self.od_rcm_account_id and self.od_rcm_account_id.id or False,
        'invoice_id': self.id,
    }               

    if rcm_line_dict1:
        res.append(rcm_line_dict1)
        res.append(rcm_line_dict2)

    return res