Cambio de numeración borrador a numeración del diario

This commit is contained in:
Alnus Tmp 2021-03-23 20:29:30 -05:00
parent ecf654360c
commit a099c04459

View file

@ -41,6 +41,45 @@ class Move(metaclass=PoolMeta):
cls.validate_move(moves)
return moves
@classmethod
@ModelView.button
def post(cls, moves):
pool = Pool()
Date = pool.get('ir.date')
Line = pool.get('account.move.line')
for move in moves:
amount = Decimal('0.0')
if not move.lines:
raise PostError(
gettext('account.msg_post_empty_move', move=move.rec_name))
company = None
for line in move.lines:
amount += line.debit - line.credit
if not company:
company = line.account.company
if not company.currency.is_zero(amount):
raise PostError(
gettext('account.msg_post_unbalanced_move',
move=move.rec_name))
for move in moves:
move.state = 'posted'
move.number = Sequence.get_id(move.journal.sequence.id)
if not move.post_number:
move.post_date = Date.today()
move.post_number = move.period.post_move_sequence_used.get()
def keyfunc(l):
return l.party, l.account
to_reconcile = [l for l in move.lines
if ((l.debit == l.credit == Decimal('0'))
and l.account.reconcile)]
to_reconcile = sorted(to_reconcile, key=keyfunc)
for _, zero_lines in groupby(to_reconcile, keyfunc):
Line.reconcile(list(zero_lines))
cls.save(moves)
class Line(metaclass=PoolMeta):
__name__ = 'account.move.line'