如何将Many2one字段从采购订单行传递到账户移动行



我试图从purchase_order_line到account_move_line获得相同的字段

class PurchaseLine(models.Model):
_inherit = 'purchase.order.line'
task_id = fields.Many2one('project.task', string='Rubriques', store=True)

我试图重写方法_prepare_account_move_line

class AccountMoveLine(models.Model):
_inherit = "account.move.line"
task_id = fields.Many2one('project.task', string='Rubriques', store=True)
def _prepare_account_move_line(self, move):
res = super(AccountMoveLine, self)._prepare_account_move_line(move)
res.update({
'task_id': self.order_id.task_id.id
})
return res

但这不起作用,你有想法吗?

您对_prepare_account_move_line的扩展必须在purchase.order.line模型上进行,您在其中有一点错误:

class PurchaseLine(models.Model):
_inherit = "purchase.order.line"
def _prepare_account_move_line(self, move):
res = super(AccountMoveLine, self)._prepare_account_move_line(move)
res.update({
"task_id": self.task_id.id
})
return res

这个小错误是self.order_id.task_id.id,它应该是self.task_id.id,因为您在调用此方法的购买行上直接定义了task_id

最新更新