Ver código fonte

[FIX] Cancelar Caja y Cerrar Caja

adrielso 6 anos atrás
pai
commit
d0d82de1f0

+ 16 - 2
models/account_bank_statement_utility.py

@@ -651,8 +651,13 @@ class AccountBankStatementUtility(models.Model):
         get cashbox.statement.confirm
     '''
     def _get_cashbox_statement_confirm(self, statement):
-        return self.env['cashbox.statement.confirm'].search([('statement_id.type_statement.id', '=', statement.type_statement.id), ('user_statement', '=', statement.user_id.id), ('journal_id', '=', statement.journal_id.id), ('state_avaliable', '=', True)])
-        # return self.env['cashbox.statement.confirm'].search([('statement_id.type_statement.id', '=', statement.type_statement.id), ('user_statement', '=', statement.user_id.id), ('journal_id', '=', statement.journal_id.id), ('state_avaliable', '=', True), ('statement_id.id', '!=', statement.id)])
+        return self.env['cashbox.statement.confirm'].search([
+                                                                ('statement_id.type_statement.id', '=', statement.type_statement.id),
+                                                                ('user_statement', '=', statement.user_id.id),
+                                                                ('journal_id', '=', statement.journal_id.id),
+                                                                ('state_avaliable', '=', True),
+                                                                ('amount_next_open', '>', 0.0),
+                                                                ('statement_id.id', '!=', statement.id)])
 
     '''
         writer casbox statement confirm
@@ -782,6 +787,7 @@ class AccountBankStatementUtility(models.Model):
         cashBoxOut = self.env['cash.box.out'].search([('statement_id.id', '=', statement.id)])
         # confirm
         cashBoxConfirm = self.env['cashbox.statement.confirm'].search([('statement_id.id', '=', statement.id)])
+        cashBoxConfirmOpen = self.env['cashbox.statement.confirm'].search([('statement_open.id', '=', statement.id)])
 
 
         ### Transfer
@@ -813,6 +819,12 @@ class AccountBankStatementUtility(models.Model):
             'message_deleted': message_deleted
         }
 
+        messageDeletedCashBoxConfirmOpen = {
+            'active': True,
+            'state_avaliable': True,
+            'message_deleted': message_deleted
+        }
+
         messageDeletedCashBox = {
             'active': False,
             'message_deleted': message_deleted
@@ -855,6 +867,8 @@ class AccountBankStatementUtility(models.Model):
         if (cashBoxConfirm):
             confirm = self._eiru_write_cashbox(cashBoxConfirm,messageDeletedCashBoxConfirm)
 
+        if (cashBoxConfirmOpen):
+            confirmOpen = self._eiru_write_cashbox(cashBoxConfirmOpen,messageDeletedCashBoxConfirmOpen)
 
         ### Cancel statement
         cancelStatement = self.eiru_button_cancel(statement)

+ 4 - 10
models/cashbox_statement_cancel.py

@@ -39,13 +39,13 @@ class eiru_account_statement_cancel(models.Model):
                     'id': transfer.output_statement.id,
                     'name': transfer.output_statement.name,
                     'state': transfer.output_statement.state,
-                    'statementUser': str(transfer.output_statement.name) +" / "+str(transfer.output_statement.user_id.name)
+                    'statementUser': "%s/%s" % ((transfer.output_statement.name), (transfer.output_statement.user_id.name))
                 },
                 'inputStatement':{
                     'id': transfer.input_statement.id,
                     'name': transfer.input_statement.name,
                     'state': transfer.input_statement.state,
-                    'statementUser': str(transfer.input_statement.name)+" / "+str(transfer.input_statement.user_id.name)
+                    'statementUser': "%s/%s" % ((transfer.input_statement.name), (transfer.input_statement.user_id.name))
                 },
                 'outputLineId': transfer.output_line.id,
                 'inputLineId': transfer.input_line.id,
@@ -63,13 +63,13 @@ class eiru_account_statement_cancel(models.Model):
                     'id': casBox.statement_id.id if (casBox.statement_id) else '',
                     'name': casBox.statement_id.name if (casBox.statement_id) else '',
                     'state': casBox.statement_id.state if (casBox.statement_id) else '',
-                    'statementUser': str(casBox.statement_id.name)+" / "+str(casBox.statement_id.user_id.name) if (casBox.statement_id) else ''
+                    'statementUser': "%s/%s" % ((casBox.statement_id.name), (casBox.statement_id.user_id.name)) if (casBox.statement_id) else ''
                 },
                 'statementOpen':{
                     'id': casBox.statement_open.id if (casBox.statement_open) else '',
                     'name': casBox.statement_open.name if (casBox.statement_open) else '',
                     'state': casBox.statement_open.state if (casBox.statement_open) else '',
-                    'statementUser': str(casBox.statement_open.name) +" / "+str(casBox.statement_open.user_id.name) if (casBox.statement_open) else ''
+                    'statementUser': "%s/%s" % ((casBox.statement_open.name), (casBox.statement_open.user_id.name)) if (casBox.statement_open) else ''
                 },
                 'lineDifference': [{
                     'id':  lineDifference.id,
@@ -88,7 +88,6 @@ class eiru_account_statement_cancel(models.Model):
                     'type': 'reserve'
                 } for lineNextOpen in self.env['account.bank.statement.line'].browse(casBox.line_next_open.id)]
             } for casBox in self.env['cashbox.statement.confirm'].search([('statement_id.id','=',statement.id)])],
-            # } for casBox in self.env['cashbox.statement.confirm'].search(['|', ('statement_id.id','=',statement.id), ('statement_open.id','=',statement.id)])],
         } for statement in self.env['account.bank.statement'].search([('id','=',id)])]
 
 
@@ -182,11 +181,6 @@ class eiru_account_statement_cancel(models.Model):
         lineOpen = []
 
         cashBoxConfirm = self._eiru_account_get_cashbox_confirm(statement.id)
-        # if (not cashBoxConfirm):
-        #     return {
-        #         'state': False,
-        #         'messege': "Error en obtener el registro de cierre de caja. ref(cashbox.statement.confirm)."
-        #     }
         if (cashBoxConfirm):
             statementOpen = self._eiru_get_account_bank_statement(cashBoxConfirm.statement_open.id)
             if (statementOpen and statementOpen.state =='confirm'):

+ 19 - 0
models/cashbox_statement_confirm.py

@@ -34,6 +34,8 @@ class cashbox_statement_confirm(models.Model):
     # casbox_transfer_id =fields.Many2one('cash.box.transfer', 'cashBox transfer')
     cashbox_transfer_ids =fields.One2many('cash.box.transfer', 'cashbox_confirm_id', string="transfer id")
 
+
+
     '''
         @fields statement_id        = Id de la caja que se esta cerrando.
         @fields user_statement      = Id del propietario de la caja.
@@ -106,6 +108,23 @@ class cash_box_transfer(models.Model):
 
     cashbox_confirm_id = fields.Many2one('cashbox.statement.confirm', string='cashBox Confirm', ondelete='cascade', index=True)
 
+'''
+    Output
+'''
+class cash_box_output(models.Model):
+    _inherit = "cash.box.out"
+
+    cashbox_confirm_id = fields.Many2one('cashbox.statement.confirm', string='cashBox Confirm', ondelete='cascade', index=True)
+
+'''
+    cashbox.statement.confirm
+'''
+class cashboxStatementConfirm(models.Model):
+    _inherit = "cashbox.statement.confirm"
+
+    cashbox_output_ids =fields.One2many('cash.box.out', 'cashbox_confirm_id', string="transfer id")
+
+
 
 '''    ____          _     _                  ____             __ _
       / ___|__ _ ___| |__ | |__   _____  __  / ___|___  _ __  / _(_)_ __ _ __ ___