cashbox_statement_cancel.py 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136
  1. # -*- coding: utf-8 -*-
  2. from openerp import models, fields, tools, api
  3. from datetime import datetime
  4. from pytz import timezone
  5. import openerp.addons.decimal_precision as dp
  6. DATE_FORMAT = '%Y-%m-%d'
  7. class eiru_account_statement_cancel(models.Model):
  8. _inherit = 'account.bank.statement'
  9. @api.model
  10. def eiru_get_bank_statement_cancel(self, id):
  11. return [{
  12. 'id': statement.id,
  13. 'name': statement.name,
  14. 'state': statement.state,
  15. 'date': statement.date,
  16. 'currencystatement': {
  17. 'id': statement.currency.id,
  18. 'symbol': statement.currency.symbol,
  19. 'rate': statement.currency.rate,
  20. 'thousandsSeparator': statement.currency.thousands_separator,
  21. 'decimalSeparator': statement.currency.decimal_separator,
  22. 'decimalPlaces': statement.currency.decimal_places,
  23. 'position': statement.currency.position,
  24. },
  25. 'user': {
  26. 'id': statement.user_id.id,
  27. 'name': statement.user_id.name
  28. },
  29. 'statementTransfer': [{
  30. 'id': transfer.id,
  31. 'name': transfer.name,
  32. 'amount': transfer.amount,
  33. 'ref': transfer.ref,
  34. 'date': transfer.date,
  35. 'outputStatement':{
  36. 'id': transfer.output_statement.id,
  37. 'name': transfer.output_statement.name,
  38. 'state': transfer.output_statement.state,
  39. 'statementUser': str(transfer.output_statement.name) +" / "+str(transfer.output_statement.user_id.name)
  40. },
  41. 'inputStatement':{
  42. 'id': transfer.input_statement.id,
  43. 'name': transfer.input_statement.name,
  44. 'state': transfer.input_statement.state,
  45. 'statementUser': str(transfer.input_statement.name)+" / "+str(transfer.input_statement.user_id.name)
  46. },
  47. 'outputLineId': transfer.output_line.id,
  48. 'inputLineId': transfer.input_line.id,
  49. 'type': 'in' if (transfer.input_statement.id == statement.id) else 'out'
  50. } for transfer in self.env['cash.box.transfer'].search(['|', ('output_statement.id','=',statement.id), ('input_statement.id','=',statement.id)])],
  51. 'statementConfirm': [{
  52. 'id': casBox.id,
  53. 'name': casBox.name,
  54. 'amountStatement': casBox.amount_statement,
  55. 'amountReal': casBox.amount_real,
  56. 'amountDifference': casBox.amount_difference,
  57. 'amountNextOpen': casBox.amount_next_open,
  58. 'type': 'open' if (casBox.statement_open.id == statement.id) else 'confirm',
  59. 'statementConfirm':{
  60. 'id': casBox.statement_id.id if (casBox.statement_id) else '',
  61. 'name': casBox.statement_id.name if (casBox.statement_id) else '',
  62. 'state': casBox.statement_id.state if (casBox.statement_id) else '',
  63. 'statementUser': str(casBox.statement_id.name)+" / "+str(casBox.statement_id.user_id.name) if (casBox.statement_id) else ''
  64. },
  65. 'statementOpen':{
  66. 'id': casBox.statement_open.id if (casBox.statement_open) else '',
  67. 'name': casBox.statement_open.name if (casBox.statement_open) else '',
  68. 'state': casBox.statement_open.state if (casBox.statement_open) else '',
  69. 'statementUser': str(casBox.statement_open.name) +" / "+str(casBox.statement_open.user_id.name) if (casBox.statement_open) else ''
  70. }
  71. } for casBox in self.env['cashbox.statement.confirm'].search(['|', ('statement_id.id','=',statement.id), ('statement_open.id','=',statement.id)])],
  72. } for statement in self.env['account.bank.statement'].search([('id','=',id)])]
  73. '''
  74. ____ _____ _ _____ _____ __ __ _____ _ _ _____ ____ _ _ _ ____ _____ _
  75. / ___|_ _|/ \|_ _| ____| \/ | ____| \ | |_ _| / ___| / \ | \ | |/ ___| ____| |
  76. \___ \ | | / _ \ | | | _| | |\/| | _| | \| | | | | | / _ \ | \| | | | _| | |
  77. ___) || |/ ___ \| | | |___| | | | |___| |\ | | | | |___ / ___ \| |\ | |___| |___| |___
  78. |____/ |_/_/ \_\_| |_____|_| |_|_____|_| \_| |_| \____/_/ \_\_| \_|\____|_____|_____|
  79. '''
  80. @api.model
  81. def eiru_statement_cancel(self, id):
  82. print("\n\neiru_statement_cancel\n\n")
  83. '''
  84. cashbox.statement.cancel
  85. name
  86. ref
  87. date
  88. message
  89. statement_id
  90. journal_id
  91. user_statement
  92. user_cancel
  93. '''
  94. '''
  95. cashbox.statement.cancel.line
  96. cancel_id
  97. statement_line
  98. date
  99. name
  100. ref
  101. partner_id
  102. amount
  103. '''
  104. '''
  105. Registro de caja cancel.
  106. '''
  107. class cashbox_statement_cancel(models.Model):
  108. _name = "cashbox.statement.cancel"
  109. ### fields Basic
  110. name = fields.Char('name')
  111. ref = fields.Char('Ref')
  112. date = fields.Date()
  113. message = fields.Text('Message Cancel')
  114. ### statement, journal, users
  115. statement_id = fields.Many2one('account.bank.statement', 'Bank Statement Cancel')
  116. journal_id = fields.Many2one('account.journal', 'Journal')
  117. user_statement = fields.Many2one('res.users', 'User Statement')
  118. user_cancel = fields.Many2one('res.users', 'Usaer Cancel')
  119. class cashbox_statement_cancel_line(models.Model):
  120. _name = "cashbox.statement.cancel.line"
  121. ### cashbox.statement.cancel
  122. cancel_id = fields.Many2one('cashbox.statement.cancel', 'Statement Cancel')
  123. statement_line = fields.Many2one('account.bank.statement.line', 'statement Line')
  124. date = fields.Date()
  125. name = fields.Char('name')
  126. ref = fields.Char('Ref')
  127. partner_id = fields.Many2one('res.partner', 'partner')
  128. amount = fields.Float('Amount Line', digits_compute=dp.get_precision('Account'))