我想在单击 "Validate" 按钮时添加其他日记条目行

I want to add additional Journal entry lines while clicking on "Validate" button

我想在单击 "Validate" 按钮 ( method:action_invoice_open() ) 时添加额外的日记条目行 我这样尝试:

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 action_invoice_open(self):
        res = super(Account_Invoice, self).action_invoice_open()
        data_lines = []
        rcm_dr = (0,0,{
                'account_id':self.od_rcm_account_id and self.od_rcm_account_id.id or False,
                'debit':self.od_rcm_amount or False,
                'credit':0,
                'name':self.od_rcm_ref or False,
            })

        rcm_cr = (0,0,{
                'account_id':self.od_rcm_account_id and self.od_rcm_account_id.id or False,
                'debit':0,
                'credit':self.od_rcm_amount or False,
                'name':self.od_rcm_ref or False,
        })
        data_lines.append(rcm_dr)
        data_lines.append(rcm_cr)
        data = {
            'line_ids':data_lines
        }

        if data['line_ids'] and self.move_id:
            self.move_id.update(data)

        return res

我面临的问题是,在单击验证按钮时,日志的状态正在变为 posted,因此显示一条错误消息: “您不能对已过帐的日记帐分录进行此修改,您只能更改一些非法字段。您必须还原日记帐分录才能取消它。 移动名称 (id):BILL/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