# -*- 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)")