12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- # -*- coding: utf-8 -*-
- from openerp import models, fields, tools, api
- import openerp.addons.decimal_precision as dp
- from datetime import datetime
- class accountLoanSystem(models.Model):
- _name = 'account.loan.system'
- name = fields.Char('Name', required=True)
- code = fields.Char('Code', size=64, required=True, help="Código para identificar el sistema de calculo.")
- active = fields.Boolean('active',default=True)
- condition_interest = fields.Text('interest Condition', help='Condición para definir la forma del sistema de calculo.')
- note = fields.Text('Descripción', help="Descripción")
- comment = fields.Text('Comment', help="Información adicional")
- @api.model
- def _create_account_loan_system(self):
- systemLoan = [
- {
- 'name': 'Francés',
- 'code': 'FRANCES',
- 'note': 'Las características principales del sistema francés son:\n'
- ' - Amortización de capital periódica creciente.\n'
- ' - Intereses decrecientes, dado que el interés se calcula sobre saldos\n'
- ' - Cuota total (amortización de capital + intereses) constante, como consecuencia de las características de los componentes anteriores.',
- 'condition_interest': 'cuota = ((interes * capital) / ( 1- ( 1 / 1 + interes ) ** plazo ))\n'
- ' interesCuota = capital * interes\n'
- ' amortizacion = cuota - interesCuota\n'
- ' amortizado += amortizacion\n'
- ' capital -= amortizacion'
- },
- {
- 'name': 'Alemán',
- 'code': 'ALEMAN',
- 'note': 'Las características principales del sistema alemán son:\n'
- ' - Amortización de capital periódica constante, es decir que el capital de la deuda va a disminuir siempre en un mismo monto.\n'
- ' - Intereses decrecientes, dado que se calculan sobre el saldo adeudado.\n'
- ' - Cuota total (amortización de capital + intereses) decreciente, como consecuencia de las características de los componentes anteriores.',
- 'condition_interest': 'amortizacion = capital / plazo\n'
- ' interesCuota = capital * interes\n'
- ' cuota = amortizacion + interesCuota\n'
- ' amortizado += amortizacion\n'
- ' capital -= amortizacion'
- }
- ]
- for system in systemLoan:
- loanSystem = self.env['account.loan.system'].search([('name', '=', system['name'])])
- loan = {
- 'name':system['name'],
- 'code':system['code'],
- 'note':system['note'],
- 'condition_interest':system['condition_interest']
- }
- if (not loanSystem):
- loanSystem.create(loan)
- class accountLoan(models.Model):
- _inherit = 'account.loan'
- ''' Tipo de plazo del prestamos (Días, Semana , Mes, Año) '''
- loan_system = fields.Many2one('account.loan.system', string='Sistema de calculo', ondelete='restrict', index=True, required=True, help="Sistema de calculo (Francés - Alemán)")
|