123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
- # -*- coding: utf-8 -*-
- from openerp import models, fields, tools, api
- import openerp.addons.decimal_precision as dp
- class cashbox_statement_confirm(models.Model):
- _name = "cashbox.statement.confirm"
- name = fields.Char('name', required=True)
- ref = fields.Char('Ref')
- date = fields.Date()
- active = fields.Boolean('Active', default=True)
- message_confirm = fields.Text('Message Confirm')
- ### Statement confirm - open
- statement_id = fields.Many2one('account.bank.statement', 'Bank Statement Confirm')
- statement_open = fields.Many2one('account.bank.statement', 'Bank Statement Open')
- ## User statement - User Confirm
- user_statement = fields.Many2one('res.users', 'Res user')
- user_confirm = fields.Many2one('res.users', 'Res user')
- ## Journal
- journal_id = fields.Many2one('account.journal', 'Journal')
- ## Line
- line_difference = fields.Many2one('account.bank.statement.line', 'Bank statement line difference')
- line_next_open = fields.Many2one('account.bank.statement.line', 'Bank statement line next open statement')
- ### Amount
- amount_statement = fields.Float('Amount Statement', digits_compute=dp.get_precision('Account'), required=True)
- amount_real = fields.Float('Amount Real', digits_compute=dp.get_precision('Account'), required=True)
- amount_difference = fields.Float('Amount Difference', digits_compute=dp.get_precision('Account'), required=True)
- amount_next_open = fields.Float('Amount Next open statement', digits_compute=dp.get_precision('Account'), required=True)
- ## estado del regsitro
- state_avaliable = fields.Boolean('Avaliable', default=True, help="True : disponible, False : Utilizado")
- casbox_transfer_id =fields.Many2one('cash.box.transfer', 'cashBox transfer')
- '''
- @fields statement_id = Id de la caja que se esta cerrando.
- @fields user_statement = Id del propietario de la caja.
- @fields journal_id = Id del diario de la caja.
- @fields line_difference = Id de la linea de la caja donde se registro la diferencia del cierre.
- @fields line_next_open = Id de la linea donde se registro el monto de próxima apertura de caja.
- @fields amount_statement = Monto en la caja del sistema.
- @fields amount_real = Monto real del cierre de la caja.
- @fields amount_difference = Monto de la diferencia del cierre.
- @fields amount_next_open = Monto de la próxima apertura de caja.
- @fields user_confirm = Usuario que cerro la caja
- @fields statement_open = Id de la caja que utilize el saldo disponible para proxima apertura
- @fields state_avaliable = 'True': disponible, 'False': Utilizado
- @fields casbox_transfer_id = id transferencia
- '''
- @api.model
- def get_cashbox_statement_confirm(self, statementId):
- return[{
- 'id': casBox.id,
- 'name': casBox.name,
- 'statement': {
- 'id': casBox.statement_id.id,
- 'name': casBox.statement_id.name,
- 'dateOpen': casBox.statement_id.date,
- 'dateConfirm': casBox.statement_id.closing_date,
- 'typeStatementID': casBox.statement_id.type_statement.id,
- 'typeStatementName': casBox.statement_id.type_statement.name,
- 'userId': casBox.statement_id.user_id.id,
- 'userName': casBox.statement_id.user_id.name,
- 'currencystatement': {
- 'id': casBox.statement_id.currency.id,
- 'name': casBox.statement_id.currency.name,
- 'symbol': casBox.statement_id.currency.symbol,
- 'rate': casBox.statement_id.currency.rate,
- 'thousandsSeparator': casBox.statement_id.currency.thousands_separator,
- 'decimalSeparator': casBox.statement_id.currency.decimal_separator,
- 'decimalPlaces': casBox.statement_id.currency.decimal_places,
- 'position': casBox.statement_id.currency.position,
- },
- },
- 'userStatementName': casBox.user_statement.name,
- 'userStatementLogin': casBox.user_statement.login,
- 'userConfirmName': casBox.user_confirm.name,
- 'userConfirmLogin': casBox.user_confirm.login,
- 'amountStatement': casBox.amount_statement,
- 'amountReal': casBox.amount_real,
- 'amountDifference': casBox.amount_difference if (casBox.amount_real >= casBox.amount_statement) else (-casBox.amount_difference),
- 'amountNextOpen': casBox.amount_next_open,
- 'transferCasBox': {
- 'id': casBox.casbox_transfer_id.id if(casBox.casbox_transfer_id) else '',
- 'name': casBox.casbox_transfer_id.name if(casBox.casbox_transfer_id) else '',
- 'amount': casBox.casbox_transfer_id.amount if(casBox.casbox_transfer_id) else 0
- },
- } for casBox in self.env['cashbox.statement.confirm'].search([('statement_id.id', '=', statementId), ('active', '=', True)])]
|