[FIX] account: update-check should allow aml with debit=credit=0
Problem: if we try to validate an invoice with a line with a discount of 100%, this will create an aml with debit=credit=0 and reconciled flag as True. So when trying to cancel invoice, it is not possible because the check tell us that there is an entry which is reconciled and we can't unreconcile that entry, so the check should just ignore line with debit-credit=0. Also add readonly to general_account_id related field on account.analytic.line. This is to prevent a write while creating the account_move_line in the case of an invoice with analytic account.
This commit is contained in:
@@ -11,7 +11,7 @@ class AccountAnalyticLine(models.Model):
|
||||
amount = fields.Monetary(currency_field='company_currency_id')
|
||||
product_uom_id = fields.Many2one('product.uom', string='Unit of Measure')
|
||||
product_id = fields.Many2one('product.product', string='Product')
|
||||
general_account_id = fields.Many2one('account.account', string='Financial Account', ondelete='restrict',
|
||||
general_account_id = fields.Many2one('account.account', string='Financial Account', ondelete='restrict', readonly=True,
|
||||
related='move_id.account_id', store=True, domain=[('deprecated', '=', False)])
|
||||
move_id = fields.Many2one('account.move.line', string='Move Line', ondelete='cascade', index=True)
|
||||
code = fields.Char(size=8)
|
||||
|
||||
@@ -1074,7 +1074,7 @@ class AccountMoveLine(models.Model):
|
||||
err_msg = _('Move name (id): %s (%s)') % (line.move_id.name, str(line.move_id.id))
|
||||
if line.move_id.state != 'draft':
|
||||
raise UserError(_('You cannot do this modification on a posted journal entry, you can just change some non legal fields. You must revert the journal entry to cancel it.\n%s.') % err_msg)
|
||||
if line.reconciled:
|
||||
if line.reconciled and not (line.debit == 0 and line.credit == 0):
|
||||
raise UserError(_('You cannot do this modification on a reconciled entry. You can just change some non legal fields or you must unreconcile first.\n%s.') % err_msg)
|
||||
if line.move_id.id not in move_ids:
|
||||
move_ids.add(line.move_id.id)
|
||||
|
||||
Reference in New Issue
Block a user