取消链接 Odoo 日记条目
Unlink Odoo Journal Entries
我正在继承 account.move 模块,以便我可以删除日记条目。
问题是,当我重写原始代码时,出现最大递归深度错误:
原始代码如下所示:
def unlink(self):
for move in self:
if move.name != '/' and not self._context.get('force_delete'):
raise UserError(_("You cannot delete an entry which has been posted once."))
move.line_ids.unlink()
return super(AccountMove, self).unlink()
虽然这是我的分机
def unlink(self):
for move in self:
move.line_ids.unlink()
return super(AccountMove, self).unlink()
谢谢!
def unlink(self):
for move in self:
move.line_ids.unlink()
return models.Model.unlink(self)
如果你想绕过安全检查,那么你必须直接调用基础模型。
snippetbucket 团队的 Odoo 14 版本代码解决方案。通过 RPC 调用以及内部传递的相同上下文以删除 account.move 相关记录
move2 = odoo2.env['account.move']
_moves = move2.search_read([ ('state', '=', 'cancel'), ], ['id'], limit=1000)
print( len(_moves), "total moves" )
move2.with_context({'force_delete': True}).unlink([ x['id'] for x in _moves ])
使用 .with_context({'force_delete': True}) 上下文,您可以从 ODOO 14.x 版本和未来版本中删除日记帐分录和发票。
注意:account.invoice 在 odoo 14 版本中替换为 account.move。
我正在继承 account.move 模块,以便我可以删除日记条目。 问题是,当我重写原始代码时,出现最大递归深度错误: 原始代码如下所示:
def unlink(self):
for move in self:
if move.name != '/' and not self._context.get('force_delete'):
raise UserError(_("You cannot delete an entry which has been posted once."))
move.line_ids.unlink()
return super(AccountMove, self).unlink()
虽然这是我的分机
def unlink(self):
for move in self:
move.line_ids.unlink()
return super(AccountMove, self).unlink()
谢谢!
def unlink(self):
for move in self:
move.line_ids.unlink()
return models.Model.unlink(self)
如果你想绕过安全检查,那么你必须直接调用基础模型。
snippetbucket 团队的 Odoo 14 版本代码解决方案。通过 RPC 调用以及内部传递的相同上下文以删除 account.move 相关记录
move2 = odoo2.env['account.move']
_moves = move2.search_read([ ('state', '=', 'cancel'), ], ['id'], limit=1000)
print( len(_moves), "total moves" )
move2.with_context({'force_delete': True}).unlink([ x['id'] for x in _moves ])
使用 .with_context({'force_delete': True}) 上下文,您可以从 ODOO 14.x 版本和未来版本中删除日记帐分录和发票。
注意:account.invoice 在 odoo 14 版本中替换为 account.move。