|
@@ -74,6 +74,7 @@ class eiru_account_statement_cancel(models.Model):
|
|
|
} 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)])]
|
|
|
|
|
|
+
|
|
|
'''
|
|
|
____ _____ _ _____ _____ __ __ _____ _ _ _____ ____ _ _ _ ____ _____ _
|
|
|
/ ___|_ _|/ \|_ _| ____| \/ | ____| \ | |_ _| / ___| / \ | \ | |/ ___| ____| |
|
|
@@ -81,30 +82,86 @@ class eiru_account_statement_cancel(models.Model):
|
|
|
___) || |/ ___ \| | | |___| | | | |___| |\ | | | | |___ / ___ \| |\ | |___| |___| |___
|
|
|
|____/ |_/_/ \_\_| |_____|_| |_|_____|_| \_| |_| \____/_/ \_\_| \_|\____|_____|_____|
|
|
|
'''
|
|
|
+ '''
|
|
|
+ Get Statement
|
|
|
+ '''
|
|
|
+ def _eiru_get_account_bank_statement(self, id):
|
|
|
+ return self.env['account.bank.statement'].browse(id)
|
|
|
+
|
|
|
+ '''
|
|
|
+ statement Cancel
|
|
|
+ '''
|
|
|
@api.model
|
|
|
- def eiru_statement_cancel(self, id):
|
|
|
- # print("\n\neiru_statement_cancel\n\n")
|
|
|
- '''
|
|
|
- cashbox.statement.cancel
|
|
|
- name
|
|
|
- ref
|
|
|
- date
|
|
|
- message
|
|
|
- statement_id
|
|
|
- journal_id
|
|
|
- user_statement
|
|
|
- user_cancel
|
|
|
- '''
|
|
|
- '''
|
|
|
- cashbox.statement.cancel.line
|
|
|
- cancel_id
|
|
|
- statement_line
|
|
|
- date
|
|
|
- name
|
|
|
- ref
|
|
|
- partner_id
|
|
|
- amount
|
|
|
- '''
|
|
|
+ def eiru_statement_cancel(self, values):
|
|
|
+ ### date server
|
|
|
+ dateServer = self.get_server_datetime()
|
|
|
+ ### Statement
|
|
|
+ statement = self._eiru_get_account_bank_statement(values['statementId'])
|
|
|
+ if (not statement):
|
|
|
+ return {
|
|
|
+ 'state': False
|
|
|
+ }
|
|
|
+
|
|
|
+ ### user
|
|
|
+ users = self.env.user
|
|
|
+ if (not users):
|
|
|
+ return {
|
|
|
+ 'state': False
|
|
|
+ }
|
|
|
+
|
|
|
+ # Creatre Line cancel
|
|
|
+ line_ids = []
|
|
|
+ for line in statement.line_ids:
|
|
|
+ line_ids.append([0, False, {
|
|
|
+ 'statement_line': line.id,
|
|
|
+ 'date': line.date,
|
|
|
+ 'name': line.name,
|
|
|
+ 'ref': line.ref,
|
|
|
+ 'partner_id': line.partner_id.id,
|
|
|
+ 'amount': line.amount,
|
|
|
+ 'currency_id': line.currency_id.id
|
|
|
+ }])
|
|
|
+
|
|
|
+ # create cancel
|
|
|
+ cancel = {
|
|
|
+ 'name': "Cancelación de caja "+str(statement.name),
|
|
|
+ 'ref': values['messege'],
|
|
|
+ 'date': dateServer,
|
|
|
+ 'message': values['messege'],
|
|
|
+ 'statement_id': statement.id,
|
|
|
+ 'journal_id': statement.journal_id.id,
|
|
|
+ 'user_statement': statement.user_id.id,
|
|
|
+ 'user_cancel': users.id,
|
|
|
+ 'line_ids': line_ids
|
|
|
+ }
|
|
|
+ statementCancel = self.env['cashbox.statement.cancel'].create(cancel)
|
|
|
+ if (not statementCancel):
|
|
|
+ return {
|
|
|
+ 'state': False
|
|
|
+ }
|
|
|
+
|
|
|
+ ## Cancel statement
|
|
|
+ cancel = self.eiru_button_cancel(statement)
|
|
|
+ if (not cancel):
|
|
|
+ return {
|
|
|
+ 'state': False
|
|
|
+ }
|
|
|
+
|
|
|
+ ### open statement
|
|
|
+ open = statement.button_open()
|
|
|
+ if (not open):
|
|
|
+ return {
|
|
|
+ 'state': False
|
|
|
+ }
|
|
|
+
|
|
|
+ return {
|
|
|
+ 'state': True
|
|
|
+ }
|
|
|
+
|
|
|
+ def eiru_button_cancel(self,statement):
|
|
|
+ # return super(eiru_account_statement_cancel, statement).button_cancel()
|
|
|
+ return super(eiru_account_statement_cancel, statement.with_context(cancel_from_statement=True)).button_cancel()
|
|
|
+
|
|
|
'''
|
|
|
Registro de caja cancel.
|
|
|
'''
|
|
@@ -121,7 +178,7 @@ class cashbox_statement_cancel(models.Model):
|
|
|
journal_id = fields.Many2one('account.journal', 'Journal')
|
|
|
user_statement = fields.Many2one('res.users', 'User Statement')
|
|
|
user_cancel = fields.Many2one('res.users', 'Usaer Cancel')
|
|
|
-
|
|
|
+ line_ids = fields.One2many('cashbox.statement.cancel.line', 'cancel_id', 'Cancel Lines')
|
|
|
|
|
|
class cashbox_statement_cancel_line(models.Model):
|
|
|
_name = "cashbox.statement.cancel.line"
|
|
@@ -134,3 +191,4 @@ class cashbox_statement_cancel_line(models.Model):
|
|
|
ref = fields.Char('Ref')
|
|
|
partner_id = fields.Many2one('res.partner', 'partner')
|
|
|
amount = fields.Float('Amount Line', digits_compute=dp.get_precision('Account'))
|
|
|
+ currency_id = fields.Many2one('res.currency', string="Currency", help="Moneda de la operación")
|