From 2cc7fdcf1d87c429e6dd659d822fa7548c5a4125 Mon Sep 17 00:00:00 2001 From: Oscar Date: Mon, 15 Nov 2021 10:28:29 -0500 Subject: [PATCH] Fix --- sale.py | 57 +++++++++++++++++++++++++++++---------------------------- 1 file changed, 29 insertions(+), 28 deletions(-) diff --git a/sale.py b/sale.py index b0b8332..bce90f4 100644 --- a/sale.py +++ b/sale.py @@ -1226,37 +1226,38 @@ class WizardSalePayment(Wizard): sale = Sale(active_id) form = self.start - device_id = user.sale_device.id if user.sale_device else sale.sale_device.id - statements = Statement.search([ - ('journal', '=', form.journal.id), - ('state', '=', 'draft'), - ('sale_device', '=', device_id), - ], order=[('date', 'DESC')]) - if not statements: - raise DraftStatementError( - gettext('sale_pos.msg_not_draft_statement', journal=form.journal.name)) + if form.payment_amount > 0: + device_id = user.sale_device.id if user.sale_device else sale.sale_device.id + statements = Statement.search([ + ('journal', '=', form.journal.id), + ('state', '=', 'draft'), + ('sale_device', '=', device_id), + ], order=[('date', 'DESC')]) + if not statements: + raise DraftStatementError( + gettext('sale_pos.msg_not_draft_statement', journal=form.journal.name)) - if not sale.number: - Sale.set_number([sale]) + if not sale.number: + Sale.set_number([sale]) - if not sale.party.account_receivable: - raise PartyMissingAccount( - gettext('sale_pos.msg_party_without_account_receivable', s=sale.party.name)) - account = sale.party.account_receivable.id + if not sale.party.account_receivable: + raise PartyMissingAccount( + gettext('sale_pos.msg_party_without_account_receivable', s=sale.party.name)) + account = sale.party.account_receivable.id - if form.payment_amount: - payment = StatementLine( - statement=statements[0].id, - date=date.today(), - amount=form.payment_amount, - party=sale.party.id, - account=account, - description=self.start.voucher, - sale=active_id, - # number=self.start.voucher, - # voucher=self.start.voucher, - ) - payment.save() + if form.payment_amount: + payment = StatementLine( + statement=statements[0].id, + date=date.today(), + amount=form.payment_amount, + party=sale.party.id, + account=account, + description=self.start.voucher, + sale=active_id, + # number=self.start.voucher, + # voucher=self.start.voucher, + ) + payment.save() if sale.total_amount != sale.paid_amount: return 'start'