Ajuda

0

How to force remove records form lines in odoo?

Avatar
Mohamed Fouad

something wrong happened in account moves as adding an analytic account to journal items of vendor bills and I need to loop on all lines in account moves and remove the analytic account from all lines by this bit of code 

class NewModule(models.Model):
_inherit = 'account.move'
def analytic(self):
    all=self.env['account.move'].search([('type','=','in_invoice')])
    ana=all.line_ids.mapped('analytic_account_id')
    ana.unlink()

but when this method run I get this error "The operation cannot be completed: another model requires the record being deleted. If possible, archive it instead. Model: Analytic Line (account.analytic.line), Constraint: account_analytic_line_account_id_fkey"

otherwise if tried to remove the analytic account for UI it removed without any issues but there is too many bills to do it manually

any help will be appreciated

Avatar
Descartar
1 Resposta
1
Melhor Resposta

Hi,

Try change your code like below.

def analytic(self):
self.env['account.move'].search([('type', 'in', ('out_invoice', 'in_invoice'))]).line_ids.write(
{'analytic_account_id': [(5, 0, 0)]})

Regards

Avatar
Descartar