Conjunto ad313bb en seiven


Ignorar:
Fecha y hora:
04/09/2017 09:02:33 (hace 7 años)
Autor:
Fundación CENDITEL <cenditel@…>
Branches:
master
Children:
f591439
Parents:
98c5f0b
Mensaje:

agregado modelo de operaciones interbancarias

Fichero:
1 editado

Leyenda

No modificado
Añadido
Eliminado
  • economico/models.py

    r3782a0d rad313bb  
    9292            [
    9393                {'tag': str(_('Año')), 'cabecera': True}, {'tag': str(_('Mes')), 'cabecera': True}, {'tag': str(_('INPC')), 'cabecera': True},
    94                
     94
    9595                {'tag': str(_('(1) Alimentos y Bebidas no Alcoholicas')), 'cabecera': True},
    9696                {'tag': str(_('(2) Bebidas Alcoholicas y Tabaco')), 'cabecera': True},
     
    144144                for i, val in enumerate(lst):
    145145                    if lst[int(kwargs['fecha__month__gte'])-1] in val:
    146                         desired = list( islice( cycle( lst), i, i+x)) 
     146                        desired = list( islice( cycle( lst), i, i+x))
    147147                        tmp=0
    148148                        lolo=int (kwargs['fecha__year__gte'])
     
    172172                for i, val in enumerate(lst):
    173173                    if lst[int(kwargs['fecha__month__gte'])-1] in val:
    174                         desired = list( islice( cycle( lst), i, i+x)) 
     174                        desired = list( islice( cycle( lst), i, i+x))
    175175                        tmp=0
    176176                        lolo=int (kwargs['fecha__year__gte'])
     
    218218                ## Asigna el año de la fila que se esta procesando
    219219                if row[0]!= '':
    220                     anho = row[0] 
     220                    anho = row[0]
    221221
    222222                ## Asigna el número de mes
    223223                if row[1]!= '':
    224224                    mes = CONVERT_MES[row[1]]
    225                
     225
    226226                ## Condición que indica si el registro corresponde al año base
    227227                base = True if i == 0 else False
     
    229229                ## Asigna la ciudad si el dominio no es nacional
    230230                ciudad = CONVERT_DOMINIO[row[2]] if 'dominio' in kwargs and kwargs['dominio'] == 'C' else None
    231                
     231
    232232                ## Asigna el INPC total para el año base
    233233                inpc = row[3] if ciudad else row[2]
     
    605605                fields[0].insert(1, {'tag': str(PIBProduccion._meta.verbose_name), 'color': 'green', 'text_color': 'white', 'combine': 3, 'cabecera': True})
    606606                fields[1].extend(produccion)
    607                 if is_nominal:                   
     607                if is_nominal:
    608608                    nombre_archivo = 'PIB-Nominal_produccion'
    609609                else:
     
    619619                ],
    620620                [
    621                     {'tag': str(_('Año')), 'cabecera': True},                   
     621                    {'tag': str(_('Año')), 'cabecera': True},
    622622                    {'tag': str(PIBActividad._meta.get_field('total_consolidado').verbose_name), 'color': 'indigo', 'text_color': 'white', 'cabecera': True},
    623623                    {'tag': str(PIBActividad._meta.get_field('total_petrolera').verbose_name), 'color': 'green', 'text_color': 'white', 'cabecera': True},
     
    651651                ],
    652652                [
    653                     {'tag': str(_('Año')), 'cabecera': True},                   
     653                    {'tag': str(_('Año')), 'cabecera': True},
    654654                    {'tag': str(PIBInstitucion._meta.get_field('publico').verbose_name), 'color': 'indigo', 'text_color': 'white', 'cabecera': True},
    655655                    {'tag': str(PIBInstitucion._meta.get_field('privado').verbose_name), 'color': 'green', 'text_color': 'white', 'cabecera': True},
     
    662662        Verifica si se deben cargar los registros de trimestre, de ser afirmativo:
    663663            Carga la cabecera de la columna
    664             Carga cada uno de los valores de las columnas año y trimestre en base 
     664            Carga cada uno de los valores de las columnas año y trimestre en base
    665665            a los parámetros del formulario
    666666        En caso contrario
    667667            Carga cada uno de los valores de la columna año
    668668        """
    669         diff_anhos = int(kwargs['anho__lte']) - int(kwargs['anho__gte']) + 1       
     669        diff_anhos = int(kwargs['anho__lte']) - int(kwargs['anho__gte']) + 1
    670670        if any('trimestre' in index for index in kwargs):
    671671            fields[1].insert(1, {'tag': str(PIB._meta.get_field('trimestre').verbose_name), 'cabecera': True})
     
    754754                'message': str(_("El documento a cargar no es válido o no corresponde a los parámetros seleccionados"))
    755755            }
    756  
     756
    757757        if not is_nominal:
    758758            ## Se crea una lista con los años base del modelo
     
    845845class PIBDemanda(models.Model):
    846846    """!
    847     Clase que contiene los registros del PIB correspondientes al dominio Enfoque Demanda tanto 
     847    Clase que contiene los registros del PIB correspondientes al dominio Enfoque Demanda tanto
    848848    del tipo Real como Nominal
    849849
     
    883883class PIBProduccion(models.Model):
    884884    """!
    885     Clase que contiene los registros del PIB correspondientes al dominio Enfoque Oferta tanto 
     885    Clase que contiene los registros del PIB correspondientes al dominio Enfoque Oferta tanto
    886886    del tipo Real como Nominal
    887    
     887
    888888    @author Ing. Roldan Vargas (rvargas at cenditel.gob.ve)
    889889    @author Edgar A. Linares (elinares at cenditel.gob.ve)
     
    918918    """!
    919919    Clase que contiene los registros del PIB correspondientes al dominio Actividad Económica
    920    
     920
    921921    @author Ing. Roldan Vargas (rvargas at cenditel.gob.ve)
    922922    @author Edgar A. Linares (elinares at cenditel.gob.ve)
     
    10161016    """!
    10171017    Clase que contiene los registros del PIB correspondientes al dominio Sector Institucional
    1018    
     1018
    10191019    @author Ing. Roldan Vargas (rvargas at cenditel.gob.ve)
    10201020    @author Edgar A. Linares (elinares at cenditel.gob.ve)
     
    10441044@python_2_unicode_compatible
    10451045class DemandaGlobal(models.Model):
    1046    
     1046
    10471047    ## Año base del registro
    10481048    anho_base = models.ForeignKey(AnhoBase, on_delete=models.CASCADE, null=True)
     
    10851085
    10861086        """
    1087         colocar los trimestres y años correspondientes en el archivo de salida segun la seleccion realizada       
     1087        colocar los trimestres y años correspondientes en el archivo de salida segun la seleccion realizada
    10881088        """
    1089        
     1089
    10901090        x = int (kwargs['trimestre_fin']) - int (kwargs['trimestre_ini']) + 1 +  4 * (int (kwargs['anho_fin']) - int (kwargs['anho_ini'] ))
    10911091        lst=['1','2','3','4']
     
    10931093        for i, val in enumerate(lst):
    10941094            if kwargs['trimestre_ini'] in val:
    1095                 desired = list( islice( cycle( lst), i, i+x)) 
     1095                desired = list( islice( cycle( lst), i, i+x))
    10961096                tmp=0
    10971097                lolo=int (kwargs['anho_ini'])
     
    11041104                    else:
    11051105                        aux1=lolo+tmp
    1106                     fields.append([ {'tag': str(_(str(aux1)))}, {'tag': str(_(str(a)))}]) 
     1106                    fields.append([ {'tag': str(_(str(aux1)))}, {'tag': str(_(str(a)))}])
    11071107
    11081108
     
    11231123        @return Devuelve el resultado de la acción con su correspondiente mensaje
    11241124        """
    1125        
     1125
    11261126        ## aqui debo recorrer todo el archivo excel y verificar las celdas
    11271127        load_file = pyexcel.get_book(bookdict=kwargs['file_content'])[0]
     
    11301130
    11311131        self.anho_base=AnhoBase.objects.get(id=kwargs['anho_base'])
    1132        
     1132
    11331133        for row in range(1,len(load_file.row_range())):
    1134            
     1134
    11351135            try:
    11361136                real_demanda , created = DemandaGlobal.objects.update_or_create(anho=load_file[row,0], anho_base=self.anho_base, trimestre=load_file[row,1], demanda_global= load_file[row,2]+load_file[row,7])
     
    11441144                    'variacion_existencias': check_val_data(load_file[row,6]),
    11451145                })
    1146                
     1146
    11471147                #Se crea  o actualiza el objeto de Demanda Agregada Externa luego de validar el valor en la hoja de calculo
    11481148
     
    11501150                    'exportacion_bienes_servicios':check_val_data(load_file[row,7])
    11511151                })
    1152                
     1152
    11531153            except Exception as e:
    11541154                errors += "- %s\n" % str(e)
     
    11691169@python_2_unicode_compatible
    11701170class DemandaAgregadaInterna(models.Model):
    1171    
     1171
    11721172    demanda_agregada_interna = models.DecimalField(
    11731173        max_digits=18, decimal_places=2, default=0.0, verbose_name=_("Demanda Agragada Interna")
     
    12141214@python_2_unicode_compatible
    12151215class OfertaGlobal(models.Model):
    1216    
     1216
    12171217    ## Año base del registro
    12181218    anho_base = models.ForeignKey(AnhoBase, on_delete=models.CASCADE, null=True)
     
    12241224    trimestre = models.CharField(max_length=2, choices=TRIMESTRES[1:], verbose_name=_("Trimestre"))
    12251225
    1226    
     1226
    12271227    def gestion_init(self, *args, **kwargs):
    12281228        """!
     
    12891289@python_2_unicode_compatible
    12901290class OfertaInterna(models.Model):
    1291    
     1291
    12921292    oferta_interna = models.DecimalField(
    12931293        max_digits=18, decimal_places=2, default=0.0, verbose_name=_("Oferta Interna")
     
    13701370        @return Devuelve los datos a incluír en el archivo correspondiente
    13711371        """
    1372        
     1372
    13731373        ## Sección para la selección de los datos del dominio Liquidez Monetaria
    13741374        if any('liquidez_monetaria' in index for index in kwargs):
     
    13761376                    [
    13771377                        {'tag': '', 'cabecera': True},
    1378                         {'tag': str(AgregadosMonetarios._meta.verbose_name), 'color': 'orange', 'text_color': 'white', 'combine': 6,'cabecera': True}                   
     1378                        {'tag': str(AgregadosMonetarios._meta.verbose_name), 'color': 'orange', 'text_color': 'white', 'combine': 6,'cabecera': True}
    13791379                    ],
    13801380                    [
     
    14351435                ]
    14361436            ]
    1437             nombre_archivo = 'Base_monetaria_fuentes'   
     1437            nombre_archivo = 'Base_monetaria_fuentes'
    14381438        if any('reservas_bancarias' in index for index in kwargs):
    14391439            ## Si el dominio es reservas bancarias, se agregan al archivo las fechas por días excepto fines de semana
     
    14531453            if fin.weekday() != 4:
    14541454                fin = fin - timedelta(fin.weekday()) + timedelta(days=4)
    1455            
     1455
    14561456            while inicio <= fin:
    14571457                fields.append([{'tag': str(_(str(inicio.strftime("%d/%m/%Y"))))}])
     
    15251525                ## Obtiene la semana respecto al año
    15261526                semana = fecha.isocalendar()[1]
    1527                
     1527
    15281528                ## Gestión para los datos básicos de Agregados Monetarios
    15291529                agregados, created = AgregadosBase.objects.update_or_create(fecha=fecha, semana=semana, mes=f[1], anho=f[2])
     
    16351635    """
    16361636
    1637     ## Reservas Bancarias 
     1637    ## Reservas Bancarias
    16381638    reservas_bancarias = models.DecimalField(
    16391639        max_digits=18, decimal_places=2, default=0.0, verbose_name=_("Reservas Bancarias")
     
    17261726    ## Campo que crea la relacion con el modelo AgregadosBase
    17271727    agregados = models.ForeignKey(AgregadosBase, on_delete=models.CASCADE, verbose_name=_('Agregados Base'))
    1728    
     1728
    17291729    class Meta:
    17301730        verbose_name = _('Base Monetaria Fuentes')
     
    17441744    ## Fecha a la que pertenece el registro
    17451745    fecha = models.DateField(null=True, verbose_name=_("Fecha"))
    1746    
     1746
    17471747    ## Semana a la que pertenece el registro
    17481748    semana = models.CharField(null=True, max_length=2, verbose_name=_("Semana"))
     
    17561756    class Meta:
    17571757        verbose_name = _('Tasas de Interés')
    1758    
     1758
    17591759    def gestion_init(self, *args, **kwargs):
    17601760        """!
     
    18521852            if fin.weekday() != 4:
    18531853                fin = fin - timedelta(fin.weekday()) + timedelta(days=4)
    1854            
     1854
    18551855            while inicio <= fin:
    18561856                fields.append([{'tag': str(_(str(inicio.strftime("%d/%m/%Y"))))}])
     
    19181918                'message': str(_("El documento a cargar no es válido o no corresponde a los parámetros seleccionados"))
    19191919            }
    1920        
     1920
    19211921        ## En base al archivo cargado, se validan y cargan a la base de datos los valores contenidos en el archivo
    19221922        for row in load_file.row[2:]:
     
    20952095    )
    20962096
    2097     ## Actividad Económica Adquisición de Vehiculos 
     2097    ## Actividad Económica Adquisición de Vehiculos
    20982098    adquisicion_vehiculos = models.DecimalField(
    20992099        max_digits=18, decimal_places=2, default=0.0, verbose_name=_("Adquisición de Vehículos")
     
    21982198        verbose_name = _('Tasa de Interés Pasiva')
    21992199
     2200## Modelo de Operaciones Interbancarias
     2201#Constantes de Operaciones Interbancarias (luego se pasará a base/constant.py)
     2202PLAZO = (
     2203    ("01", _("Plazo 1 día")),
     2204    ("07", _("Plazo 7 día")),
     2205    ("10", _("Plazo 10 día")),
     2206    ("14", _("Plazo 14 día")),
     2207    ("20", _("Plazo 20 día")),
     2208    ("30", _("Plazo 30 día")),
     2209    ("60", _("Plazo 60 día")),
     2210)
     2211
     2212@python_2_unicode_compatible
     2213class OperacionInterbancariaPeriodicidad(models.Model):
     2214    """!
     2215    Clase que gestiona la periodicidad del sub-área Operaciones Interbancarias
     2216
     2217    @author William Páez (wpaez at cenditel.gob.ve)
     2218    @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a>
     2219    @date 11-08-2017
     2220    @version 1.0.0
     2221    """
     2222
     2223    ## Establece la fecha de la Operación Interbancaria. La periodicidad es diaria
     2224    fecha = models.DateField(null=True, verbose_name=_("Fecha"))
     2225
     2226class OperacionInterbancaria(models.Model):
     2227
     2228    ## Establece el plazo en días de la Operación Interbancaria
     2229    plazo = models.CharField(max_length=2, choices=PLAZO)
     2230
     2231    ## Establece el monto negociado de la Opercacioón Interbancaria
     2232    monto_negocioado = models.DecimalField(
     2233        max_digits=18, decimal_places=2, default=0.0, verbose_name=_("Monto Negociado")
     2234    )
     2235
     2236    ## Establece la tasa mínima de la Opercacioón Interbancaria
     2237    tasa_minima = models.DecimalField(
     2238        max_digits=18, decimal_places=2, default=0.0, verbose_name=_("Tasa Mínima")
     2239    )
     2240
     2241    ## Establece la tasa máxima de la Opercacioón Interbancaria
     2242    tasa_maxima = models.DecimalField(
     2243        max_digits=18, decimal_places=2, default=0.0, verbose_name=_("Tasa Máxima")
     2244    )
     2245
     2246    ## Establece el promedio de la Opercacioón Interbancaria
     2247    promedio = models.DecimalField(
     2248        max_digits=18, decimal_places=2, default=0.0, verbose_name=_("Promedio")
     2249    )
     2250
     2251    ## Establece la relación con la periodicidad
     2252    oip = models.ForeignKey(OperacionInterbancariaPeriodicidad, verbose_name=_('Periodicidad de la Operación Interbancaria'))
     2253
    22002254#-----------------------------Economía - Externo - Reservas, Tipo de Cambio
    22012255@python_2_unicode_compatible
    22022256class TipoCambio(models.Model):
    2203    
     2257
    22042258    ## Fecha del registro
    22052259    fecha = models.DateField(null=True, verbose_name=_("Fecha"))
     
    22322286
    22332287        """
    2234         colocar en el archivo de salida las fechas excepto fines de semana segun la seleccion del usuario         
     2288        colocar en el archivo de salida las fechas excepto fines de semana segun la seleccion del usuario
    22352289        """
    22362290
     
    22612315        """
    22622316        ## aqui debo recorrer todo el archivo excel y verificar las celdas
    2263        
     2317
    22642318        load_file = pyexcel.get_book(bookdict=kwargs['file_content'])[0]
    22652319        errors, result, message = '', True, ''
    22662320        load_data_msg = str(_("Datos Cargados"))
    22672321
    2268        
     2322
    22692323        for row in load_file.row[1:]:
    22702324            try:
     
    22932347@python_2_unicode_compatible
    22942348class ReservasInternacionales(models.Model):
    2295    
     2349
    22962350    ## Fecha del registro
    22972351    fecha = models.DateField(null=True, verbose_name=_("Fecha"))
     
    23322386
    23332387        """
    2334         colocar en el archivo de salida las fechas excepto fines de semana segun la seleccion del usuario         
     2388        colocar en el archivo de salida las fechas excepto fines de semana segun la seleccion del usuario
    23352389        """
    23362390
     
    23642418        load_data_msg = str(_("Datos Cargados"))
    23652419
    2366        
     2420
    23672421        for row in load_file.row[1:]:
    23682422            try:
    23692423                reservas_internacionales , created = ReservasInternacionales.objects.update_or_create( fecha=row[0], ri_bcv=check_val_data(row[1]), ri_fem=check_val_data(row[2]) )
    2370            
     2424
    23712425            except Exception as e:
    23722426                errors += "- %s\n" % str(e)
     
    23842438
    23852439        return {'result': result, 'message': message}
    2386        
     2440
    23872441# ------------ Económico Externo - Balanza Comercial  --------------------
    23882442@python_2_unicode_compatible
     
    23902444    """!
    23912445    Clase que contiene los registros base de la Balanza Comercial
    2392    
     2446
    23932447    @author Rodrigo Boet (rboet at cenditel.gob.ve)
    23942448    @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a>
     
    23962450    @version 1.0.0
    23972451    """
    2398    
     2452
    23992453    ## Año base del registro
    24002454    anho_base = models.ForeignKey(AnhoBase, on_delete=models.CASCADE, null=True)
     
    24052459    ## Trimestre del registro
    24062460    trimestre = models.CharField(max_length=2, choices=TRIMESTRES[1:], verbose_name=_("Trimestre"))
    2407    
     2461
    24082462    ## Tipo del registro
    24092463    tipo = models.CharField(max_length=2, choices=TIPO_BALANZA_COMERCIAL[1:])
    2410    
     2464
    24112465    ## Dominio del registro
    24122466    dominio = models.CharField(max_length=2, choices=DOMINIO_BALANZA_COMERCIAL[1:])
    2413    
     2467
    24142468    def gestion_init(self, *args, **kwargs):
    24152469        """!
     
    25052559        ## Se añade la subcabecera
    25062560        fields.append(sub_header);
    2507        
     2561
    25082562        ## Se asigna el año base (si existe)
    25092563        anho_base = kwargs['anho_base'] if 'anho_base' in kwargs else ''
    2510        
     2564
    25112565        ## Almacena los datos de año y trimestre inicial provenientes del formulario
    25122566        anho_ini = int(kwargs['anho__gte'])
     
    26282682                anho_ini += 1
    26292683            trimestre_ini += 1
    2630        
     2684
    26312685        if(kwargs['tipo']=='PR' and kwargs['dominio']=='BB'):
    26322686            nombre_archivo+= '_bolivares_corriente'
     
    26392693        ## Devuelve los datos correspondientes al archivo a descargar y el nombre de ese archivo
    26402694        return {'fields': fields, 'output': nombre_archivo}
    2641    
     2695
    26422696    def gestion_process(self, user, *args, **kwargs):
    26432697        """!
     
    26542708        @return Devuelve el resultado de la acción con su correspondiente mensaje
    26552709        """
    2656        
     2710
    26572711        load_file = pyexcel.get_book(bookdict=kwargs['file_content'])[0]
    26582712        anho_base, errors, result, message = '', '', True, ''
     
    26612715        ## Se asigna un valor al año base
    26622716        anho_base = kwargs['anho_base'] if 'anho_base' in kwargs else ''
    2663        
     2717
    26642718        for row in load_file.row[2:]:
    26652719            try:
     
    26712725                    tipo=kwargs['tipo'],
    26722726                    dominio=kwargs['dominio'])
    2673                
     2727
    26742728                ## Se crean las balanzas para precios corrientes (bs) y precios constantes
    26752729                if(kwargs['dominio']!='BD' and kwargs['tipo']!='PI'):
     
    26812735                        'privado_no_petroleo':check_val_data(row[5]),
    26822736                    })
    2683                    
     2737
    26842738                    ## Se crea el registro para Importaciones de Bienes CIF
    26852739                    BalanzaComercialDatos.objects.update_or_create(balanza = balanza_base, tipo="IB", defaults={
     
    26892743                        'privado_no_petroleo':check_val_data(row[10]),
    26902744                    })
    2691                    
     2745
    26922746                    ## Se crea el registro de las exportaciones/importaciones de servicios
    26932747                    BalanzaComercialServicios.objects.update_or_create(balanza = balanza_base, defaults={
     
    27062760                        'exportacion_bien':check_val_data(row[2]),
    27072761                    })
    2708                    
     2762
    27092763                    ## Se crea el registro para Exportaciones de bienes FOB
    27102764                    BalanzaComercialDatos.objects.update_or_create(balanza = balanza_base, tipo="EB", defaults={
     
    27142768                        'privado_no_petroleo':check_val_data(row[8]),
    27152769                    })
    2716                    
     2770
    27172771                    ## Se crea el registro para Importaciones de Bienes CIF
    27182772                    BalanzaComercialDatos.objects.update_or_create(balanza = balanza_base, tipo="IB", defaults={
     
    27222776                        'privado_no_petroleo':check_val_data(row[16]),
    27232777                    })
    2724                    
     2778
    27252779                    ## Se crea el registro de las exportaciones/importaciones de servicios
    27262780                    BalanzaComercialServicios.objects.update_or_create(balanza = balanza_base, defaults={
     
    27652819                        'privado_no_petroleo':check_val_data(row[21]),
    27662820                    })
    2767                
     2821
    27682822            except Exception as e:
    27692823                errors += "- %s\n" % str(e)
     
    27792833            'errors': errors
    27802834        })
    2781        
     2835
    27822836        return {'result': result, 'message': message}
    27832837
     
    27862840    """!
    27872841    Clase que contiene los registros de datos de la Balanza Comercial
    2788    
     2842
    27892843    @author Rodrigo Boet (rboet at cenditel.gob.ve)
    27902844    @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a>
     
    27922846    @version 1.0.0
    27932847    """
    2794    
     2848
    27952849    ## Valor público del petróleo
    27962850    publico_petroleo = models.DecimalField(
    27972851        max_digits=18, decimal_places=2, default=0.0, verbose_name=_("Pública Petrólera")
    27982852    )
    2799    
     2853
    28002854    ## Valor no público del petróleo
    28012855    publico_no_petroleo = models.DecimalField(
    28022856        max_digits=18, decimal_places=2, default=0.0, verbose_name=_("Pública No Petrólera")
    28032857    )
    2804    
     2858
    28052859    ## Valor privado del petróleo
    28062860    privado_petroleo = models.DecimalField(
    28072861        max_digits=18, decimal_places=2, default=0.0, verbose_name=_("Privado Petrólero")
    28082862    )
    2809    
     2863
    28102864    ## Valor no privado del petróleo
    28112865    privado_no_petroleo = models.DecimalField(
    28122866        max_digits=18, decimal_places=2, default=0.0, verbose_name=_("Privado No Petrólero")
    28132867    )
    2814    
     2868
    28152869    ## Tipo de dato de la balanza
    28162870    tipo = models.CharField(max_length=2, choices=BALANZA_DATOS)
    2817    
     2871
    28182872    ## Relación con la balanza base
    28192873    balanza = models.ForeignKey(BalanzaComercialBase, on_delete=models.CASCADE)
    2820    
     2874
    28212875@python_2_unicode_compatible
    28222876class BalanzaComercialServicios(models.Model):
    28232877    """!
    28242878    Clase que contiene los registros de datos de la Balanza Comercial
    2825    
     2879
    28262880    @author Rodrigo Boet (rboet at cenditel.gob.ve)
    28272881    @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a>
     
    28292883    @version 1.0.0
    28302884    """
    2831    
     2885
    28322886    ## Valor de importacion del servicio
    28332887    exportacion_servicio = models.DecimalField(
    28342888        max_digits=18, decimal_places=2, default=0.0, verbose_name=_("Exportaciones de Servicios")
    28352889    )
    2836    
     2890
    28372891    ## Valor de exportación del servicio
    28382892    importacion_servicio = models.DecimalField(
    28392893        max_digits=18, decimal_places=2, default=0.0, verbose_name=_("Importaciones de Servicios")
    28402894    )
    2841    
     2895
    28422896    ## Relación con la balanza base
    28432897    balanza = models.ForeignKey(BalanzaComercialBase, on_delete=models.CASCADE)
    2844    
     2898
    28452899@python_2_unicode_compatible
    28462900class BalanzaComercialPrecioImplicito(models.Model):
    28472901    """!
    28482902    Clase que contiene los registros de datos de Precios Implicitos de la Balanza Comercial
    2849    
     2903
    28502904    @author Rodrigo Boet (rboet at cenditel.gob.ve)
    28512905    @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a>
     
    28572911        max_digits=18, decimal_places=2, default=0.0, verbose_name=_("Importaciones Públicas")
    28582912    )
    2859    
     2913
    28602914    ## Valor privado de la importación
    28612915    importacion_privada = models.DecimalField(
    28622916        max_digits=18, decimal_places=2, default=0.0, verbose_name=_("Importaciones Privadas")
    28632917    )
    2864    
     2918
    28652919    ## Valor público de la exportación
    28662920    exportacion_publica = models.DecimalField(
    28672921        max_digits=18, decimal_places=2, default=0.0, verbose_name=_("Exportaciones Públicas")
    28682922    )
    2869    
     2923
    28702924    ## Valor privado de la exportación
    28712925    exportacion_privada = models.DecimalField(
    28722926        max_digits=18, decimal_places=2, default=0.0, verbose_name=_("Exportaciones Privadas")
    28732927    )
    2874    
     2928
    28752929    ## Valor de importación de los bienes
    28762930    importacion_bien = models.DecimalField(
    28772931        max_digits=18, decimal_places=2, default=0.0, verbose_name=_("Importaciones de Bienes CIF")
    28782932    )
    2879    
     2933
    28802934    ## Valor de exportación de los bienes
    28812935    exportacion_bien = models.DecimalField(
    28822936        max_digits=18, decimal_places=2, default=0.0, verbose_name=_("Exportaciones de Bienes FOB")
    28832937    )
    2884    
     2938
    28852939    ## Relación con la balanza base
    28862940    balanza = models.ForeignKey(BalanzaComercialBase, on_delete=models.CASCADE)
    2887    
     2941
    28882942# ------------ Económico Externo - Cuenta Capital  --------------------
    28892943# ---------------------  Balanza de Pagos  ----------------------------
     
    28922946    """!
    28932947    Clase que contiene los registros base de la Cuenta Capital, en la parte de balanza de pagos
    2894    
     2948
    28952949    @author Rodrigo Boet (rboet at cenditel.gob.ve)
    28962950    @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a>
     
    29032957    ## Trimestre del registro
    29042958    trimestre = models.CharField(max_length=2, choices=TRIMESTRES[1:], verbose_name=_("Trimestre"))
    2905    
     2959
    29062960    class Meta:
    29072961        unique_together = ("anho", "trimestre")
    2908        
     2962
    29092963    def gestion_init(self, *args, **kwargs):
    29102964        """!
     
    29232977        header = []
    29242978        sub_header = []
    2925        
     2979
    29262980        ## Cabecera para balanza de pagos
    29272981        if(kwargs['dominio']=='BP'):
     
    30363090            ## Se añade la subcabecera
    30373091            fields.append(sub_header)
    3038        
     3092
    30393093        ## Almacena los datos de año y trimestre inicial provenientes del formulario
    30403094        anho_ini = int(kwargs['anho__gte'])
    30413095        trimestre_ini = int(kwargs['trimestre__gte'])
    3042        
     3096
    30433097        while True:
    30443098            registros = [({'tag': anho_ini})]
     
    30493103                if(cuenta_capital_base):
    30503104                    cuenta_capital_base = cuenta_capital_base.get()
    3051                    
     3105
    30523106                    ## Se cargan los saldos de la cuenta capital
    30533107                    cuenta_capital_saldos = CuentaCapitalSaldos.objects.get(cuenta_capital=cuenta_capital_base)
     
    30623116                    registros.append({'tag': cuenta_capital_saldos.inversion_cartera})
    30633117                    registros.append({'tag': cuenta_capital_saldos.otra_inversion})
    3064                    
     3118
    30653119                    ## Se cargan otros de la cuenta capital
    30663120                    cuenta_capital_otros = CuentaCapitalOtros.objects.get(cuenta_capital=cuenta_capital_base)
    30673121                    registros.append({'tag': cuenta_capital_otros.transferencia_corriente})
    30683122                    registros.append({'tag': cuenta_capital_otros.cuenta})
    3069                    
     3123
    30703124                    ## Se carga la inversión de la cuenta capital
    30713125                    cuenta_capital_inv_directa = CuentaCapitalInversionDirecta.objects.get(cuenta_capital=cuenta_capital_base)
    30723126                    registros.append({'tag': cuenta_capital_inv_directa.extranjero})
    30733127                    registros.append({'tag': cuenta_capital_inv_directa.pais})
    3074                    
     3128
    30753129                    ## ------> Inversión Cartera
    3076                    
     3130
    30773131                    ## Se carga la inversión cartera de la cuenta capital - Activos sector público
    30783132                    cuenta_capital_inv_cartera_apu = CuentaCapitalInversionCartera.objects.get(cuenta_capital=cuenta_capital_base,tipo="ASPu")
    30793133                    registros.append({'tag': cuenta_capital_inv_cartera_apu.titulo_participacion_capital})
    30803134                    registros.append({'tag': cuenta_capital_inv_cartera_apu.titulo_deuda})
    3081                    
     3135
    30823136                    ## Se carga la inversión cartera de la cuenta capital - Activos sector privado
    30833137                    cuenta_capital_inv_cartera_apr = CuentaCapitalInversionCartera.objects.get(cuenta_capital=cuenta_capital_base,tipo="ASPr")
    30843138                    registros.append({'tag': cuenta_capital_inv_cartera_apr.titulo_participacion_capital})
    30853139                    registros.append({'tag': cuenta_capital_inv_cartera_apr.titulo_deuda})
    3086                    
     3140
    30873141                    ## Se carga la inversión cartera de la cuenta capital - Pasivos sector público
    30883142                    cuenta_capital_inv_cartera_ppu = CuentaCapitalInversionCartera.objects.get(cuenta_capital=cuenta_capital_base,tipo="PSPu")
    30893143                    registros.append({'tag': cuenta_capital_inv_cartera_ppu.titulo_participacion_capital})
    30903144                    registros.append({'tag': cuenta_capital_inv_cartera_ppu.titulo_deuda})
    3091                    
     3145
    30923146                    ## Se carga la inversión cartera de la cuenta capital - Pasivos sector privado
    30933147                    cuenta_capital_inv_cartera_ppr = CuentaCapitalInversionCartera.objects.get(cuenta_capital=cuenta_capital_base,tipo="PSPr")
    30943148                    registros.append({'tag': cuenta_capital_inv_cartera_ppr.titulo_participacion_capital})
    30953149                    registros.append({'tag': cuenta_capital_inv_cartera_ppr.titulo_deuda})
    3096                    
     3150
    30973151                    ## ------> Otra Inversión
    3098                    
     3152
    30993153                    ## Se carga la otra inversión de la cuenta capital - Activo sector público
    31003154                    cuenta_capital_otra_inv_apu = CuentaCapitalOtraInversion.objects.get(cuenta_capital=cuenta_capital_base,tipo="ASPu")
     
    31033157                    registros.append({'tag': cuenta_capital_otra_inv_apu.moneda_deposito})
    31043158                    registros.append({'tag': cuenta_capital_otra_inv_apu.otros})
    3105                    
     3159
    31063160                    ## Se carga la otra inversión de la cuenta capital - Activo sector privado
    31073161                    cuenta_capital_otra_inv_apr = CuentaCapitalOtraInversion.objects.get(cuenta_capital=cuenta_capital_base,tipo="ASPr")
     
    31103164                    registros.append({'tag': cuenta_capital_otra_inv_apr.moneda_deposito})
    31113165                    registros.append({'tag': cuenta_capital_otra_inv_apr.otros})
    3112                    
     3166
    31133167                    ## Se carga la otra inversión de la cuenta capital - Pasivo sector público
    31143168                    cuenta_capital_otra_inv_ppu = CuentaCapitalOtraInversion.objects.get(cuenta_capital=cuenta_capital_base,tipo="PSPu")
     
    31173171                    registros.append({'tag': cuenta_capital_otra_inv_ppu.moneda_deposito})
    31183172                    registros.append({'tag': cuenta_capital_otra_inv_ppu.otros})
    3119                    
     3173
    31203174                    ## Se carga la otra inversión de la cuenta capital - Pasivo sector privado
    31213175                    cuenta_capital_otra_inv_ppr = CuentaCapitalOtraInversion.objects.get(cuenta_capital=cuenta_capital_base,tipo="PSPr")
     
    31243178                    registros.append({'tag': cuenta_capital_otra_inv_ppr.moneda_deposito})
    31253179                    registros.append({'tag': cuenta_capital_otra_inv_ppr.otros})
    3126                    
     3180
    31273181                    ## Se cargan los errores u omisiones
    31283182                    registros.append({'tag': cuenta_capital_otros.errores_omisiones})
    3129                    
    3130                    
     3183
     3184
    31313185            elif(kwargs['dominio']=='DE'):
    31323186                cuenta_capital_base = CuentaCapitalDeudaBase.objects.filter(anho=anho_ini,trimestre=trimestre_ini)
     
    31663220                anho_ini += 1
    31673221            trimestre_ini += 1
    3168        
     3222
    31693223        return {'fields': fields, 'output': nombre_archivo}
    3170    
     3224
    31713225    def gestion_process(self, user, *args, **kwargs):
    31723226        """!
     
    31833237        @return Devuelve el resultado de la acción con su correspondiente mensaje
    31843238        """
    3185        
     3239
    31863240        load_file = pyexcel.get_book(bookdict=kwargs['file_content'])[0]
    31873241        errors, result, message = '', True, ''
     
    31903244        ## Se asigna un valor al dominio
    31913245        dominio = kwargs['dominio']
    3192        
     3246
    31933247        for row in load_file.row[3:]:
    31943248            try:
     
    31983252                    anho=row[0],
    31993253                    trimestre=row[1])
    3200                    
     3254
    32013255                    ## Se crean o actualizan los objetos de saldos de cuenta capital
    32023256                    CuentaCapitalSaldos.objects.update_or_create(cuenta_capital = cuenta_capital_base, defaults={
     
    32123266                        'otra_inversion': row[11],
    32133267                    })
    3214                    
     3268
    32153269                    ## Se crean o actualizan los objetos de otros montos de cuenta capital
    32163270                    CuentaCapitalOtros.objects.update_or_create(cuenta_capital = cuenta_capital_base, defaults={
     
    32193273                        'errores_omisiones':row[40],
    32203274                    })
    3221                    
     3275
    32223276                    ## Se crean o actualizan los objetos de inversión directa de cuenta capital
    32233277                    CuentaCapitalInversionDirecta.objects.update_or_create(cuenta_capital = cuenta_capital_base, defaults={
     
    32253279                        'pais':row[15],
    32263280                    })
    3227                    
     3281
    32283282                    ## ------> Inversión Cartera
    3229                    
     3283
    32303284                    ## Se crean o actualizan los objetos de inversión cartera de cuenta capital - Activos sector público
    32313285                    CuentaCapitalInversionCartera.objects.update_or_create(cuenta_capital = cuenta_capital_base, tipo="ASPu", defaults={
     
    32333287                        'titulo_deuda':row[17],
    32343288                    })
    3235                    
    3236                    
     3289
     3290
    32373291                    ## Se crean o actualizan los objetos de inversión cartera de cuenta capital - Activos sector privado
    32383292                    CuentaCapitalInversionCartera.objects.update_or_create(cuenta_capital = cuenta_capital_base, tipo="ASPr", defaults={
     
    32403294                        'titulo_deuda':row[19],
    32413295                    })
    3242                    
     3296
    32433297                    ## Se crean o actualizan los objetos de inversión cartera de cuenta capital - Pasivos sector público
    32443298                    CuentaCapitalInversionCartera.objects.update_or_create(cuenta_capital = cuenta_capital_base, tipo="PSPu", defaults={
     
    32463300                        'titulo_deuda':row[21],
    32473301                    })
    3248                    
     3302
    32493303                    ## Se crean o actualizan los objetos de inversión cartera de cuenta capital - Pasivos sector privado
    32503304                    CuentaCapitalInversionCartera.objects.update_or_create(cuenta_capital = cuenta_capital_base, tipo="PSPr", defaults={
     
    32523306                        'titulo_deuda':row[23],
    32533307                    })
    3254                    
     3308
    32553309                    ## ------> Otra Inversión
    3256                    
     3310
    32573311                    ## Se crean o actualizan los objetos de otras inversiones de cuenta capital - Activos sector público
    32583312                    CuentaCapitalOtraInversion.objects.update_or_create(cuenta_capital = cuenta_capital_base, tipo="ASPu", defaults={
     
    32623316                        'otros':row[27],
    32633317                    })
    3264                    
    3265                    
     3318
     3319
    32663320                    ## Se crean o actualizan los objetos de otras inversiones de cuenta capital - Activos sector privado
    32673321                    CuentaCapitalOtraInversion.objects.update_or_create(cuenta_capital = cuenta_capital_base, tipo="ASPr", defaults={
     
    32713325                        'otros':row[31],
    32723326                    })
    3273                    
     3327
    32743328                    ## Se crean o actualizan los objetos de otras inversiones de cuenta capital - Pasivos sector público
    32753329                    CuentaCapitalOtraInversion.objects.update_or_create(cuenta_capital = cuenta_capital_base, tipo="PSPu", defaults={
     
    32793333                        'otros':row[35],
    32803334                    })
    3281                    
     3335
    32823336                    ## Se crean o actualizan los objetos de otras inversiones de cuenta capital - Pasivos sector privado
    32833337                    CuentaCapitalOtraInversion.objects.update_or_create(cuenta_capital = cuenta_capital_base, tipo="PSPr", defaults={
     
    32863340                        'moneda_deposito':row[38],
    32873341                        'otros':row[39],
    3288                     })                   
    3289                    
     3342                    })
     3343
    32903344                elif(dominio=='DE'):
    32913345                    ## Registro base de la cuenta capital deuda
     
    32933347                    anho=row[0],
    32943348                    trimestre=row[1])
    3295                    
     3349
    32963350                    ## Se crean o actulizan los objetos de deuda capital e intereses del sector público
    32973351                    CuentaCapitalDeudaCapital.objects.update_or_create(deuda=cuenta_capital_base,tipo="SPu",defaults={
     
    33013355                        'otros':row[5],
    33023356                    })
    3303                    
     3357
    33043358                    CuentaCapitalDeudaIntereses.objects.update_or_create(deuda=cuenta_capital_base,tipo="SPu",defaults={
    33053359                        'bono_pagare':row[6],
     
    33093363                        'otros':row[10],
    33103364                    })
    3311                    
     3365
    33123366                    ## Se crean o actulizan los objetos de deuda capital e intereses del sector privado
    33133367                    CuentaCapitalDeudaCapital.objects.update_or_create(deuda=cuenta_capital_base,tipo="SPr",defaults={
     
    33173371                        'otros':row[14],
    33183372                    })
    3319                    
     3373
    33203374                    CuentaCapitalDeudaIntereses.objects.update_or_create(deuda=cuenta_capital_base,tipo="SPr",defaults={
    33213375                        'bono_pagare':row[15],
     
    33253379                        'otros':row[19],
    33263380                    })
    3327                    
    3328                
     3381
     3382
    33293383            except Exception as e:
    33303384                errors += "- %s\n" % str(e)
     
    33403394            'errors': errors
    33413395        })
    3342        
     3396
    33433397        return {'result': result, 'message': message}
    3344        
     3398
    33453399@python_2_unicode_compatible
    33463400class CuentaCapitalSaldos(models.Model):
    33473401    """!
    33483402    Clase que contiene los registros base de la Cuenta Capital, en la parte de balanza de pagos (saldos)
    3349    
     3403
    33503404    @author Rodrigo Boet (rboet at cenditel.gob.ve)
    33513405    @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a>
     
    33543408    """
    33553409    ## --------------> Saldo de Servicios
    3356    
     3410
    33573411    ## Valor del transporte
    33583412    transporte = models.DecimalField(
    33593413        max_digits=18, decimal_places=2, default=0.0, verbose_name=_("Transportes")
    33603414    )
    3361    
     3415
    33623416    ## Valor de los viajes
    33633417    viajes = models.DecimalField(
    33643418        max_digits=18, decimal_places=2, default=0.0, verbose_name=_("Viajes")
    33653419    )
    3366    
     3420
    33673421    ## Valor de la comunicación
    33683422    comunicacion = models.DecimalField(
    33693423        max_digits=18, decimal_places=2, default=0.0, verbose_name=_("Comunicaciones")
    33703424    )
    3371    
     3425
    33723426    ## Valor del seguro
    33733427    seguro = models.DecimalField(
    33743428        max_digits=18, decimal_places=2, default=0.0, verbose_name=_("Seguros")
    33753429    )
    3376    
     3430
    33773431    ## Valor del gobierno
    33783432    gobierno = models.DecimalField(
    33793433        max_digits=18, decimal_places=2, default=0.0, verbose_name=_("Gobierno n.i.o.p.")
    33803434    )
    3381    
     3435
    33823436    ## Otros valores
    33833437    otros = models.DecimalField(
    33843438        max_digits=18, decimal_places=2, default=0.0, verbose_name=_("Otros")
    33853439    )
    3386    
     3440
    33873441    ## --------------> Saldo en Renta
    3388    
     3442
    33893443    ## Valor de la remuneración del empleado
    33903444    remuneracion_empleado = models.DecimalField(
    33913445        max_digits=18, decimal_places=2, default=0.0, verbose_name=_("Remuneración Empleados")
    33923446    )
    3393    
     3447
    33943448    ## Valor de la inversión directa
    33953449    inversion_directa = models.DecimalField(
    33963450        max_digits=18, decimal_places=2, default=0.0, verbose_name=_("Inversión Directa")
    33973451    )
    3398    
     3452
    33993453    ## Valor de la inversión de cartera
    34003454    inversion_cartera = models.DecimalField(
    34013455        max_digits=18, decimal_places=2, default=0.0, verbose_name=_("Inversión de Cartera")
    34023456    )
    3403    
     3457
    34043458    ## Valor de otras inversiones
    34053459    otra_inversion = models.DecimalField(
    34063460        max_digits=18, decimal_places=2, default=0.0, verbose_name=_("Otra Inversión")
    34073461    )
    3408    
     3462
    34093463    ## Relación con el registro base de la cuenta capital
    34103464    cuenta_capital = models.ForeignKey(CuentaCapitalBalanzaBase, on_delete=models.CASCADE)
    3411    
     3465
    34123466@python_2_unicode_compatible
    34133467class CuentaCapitalOtros(models.Model):
    34143468    """!
    34153469    Clase que contiene los registros base de la Cuenta Capital, en la parte de balanza de pagos (otros)
    3416    
     3470
    34173471    @author Rodrigo Boet (rboet at cenditel.gob.ve)
    34183472    @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a>
    34193473    @date 08-05-2017
    34203474    @version 1.0.0
    3421     """   
     3475    """
    34223476    ## Valor de la transferencias corrientes
    34233477    transferencia_corriente = models.DecimalField(
    34243478        max_digits=18, decimal_places=2, default=0.0, verbose_name=_("Transferencias Corrientes")
    34253479    )
    3426    
     3480
    34273481    ## Valor de la cuenta capital
    34283482    cuenta = models.DecimalField(
    34293483        max_digits=18, decimal_places=2, default=0.0, verbose_name=_("Cuenta Capital")
    34303484    )
    3431    
     3485
    34323486    ## Valor de los errores u omisiones
    34333487    errores_omisiones = models.DecimalField(
    34343488        max_digits=18, decimal_places=2, default=0.0, verbose_name=_("Errores y Omisiones")
    3435     ) 
    3436    
     3489    )
     3490
    34373491    ## Relación con el registro base de la cuenta capital
    34383492    cuenta_capital = models.ForeignKey(CuentaCapitalBalanzaBase, on_delete=models.CASCADE)
    3439    
     3493
    34403494@python_2_unicode_compatible
    34413495class CuentaCapitalInversionCartera(models.Model):
    34423496    """!
    34433497    Clase que contiene los registros base de la Cuenta Capital, en la parte de balanza de pagos (inversión cartera)
    3444    
     3498
    34453499    @author Rodrigo Boet (rboet at cenditel.gob.ve)
    34463500    @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a>
    34473501    @date 08-05-2017
    34483502    @version 1.0.0
    3449     """   
     3503    """
    34503504    ## Valor del título de participacion capital
    34513505    titulo_participacion_capital = models.DecimalField(
    34523506        max_digits=18, decimal_places=2, default=0.0, verbose_name=_("Títulos de participación en el capital")
    34533507    )
    3454    
     3508
    34553509    ## Valor del título de la deuda
    34563510    titulo_deuda = models.DecimalField(
    34573511        max_digits=18, decimal_places=2, default=0.0, verbose_name=_("Títulos de deuda")
    34583512    )
    3459    
     3513
    34603514    ## Tipo de dato de la inversión de cartera
    34613515    tipo = models.CharField(max_length=4, choices=INVERSION_CARTERA)
    3462        
     3516
    34633517    ## Relación con el registro base de la cuenta capital
    34643518    cuenta_capital = models.ForeignKey(CuentaCapitalBalanzaBase, on_delete=models.CASCADE)
    3465    
     3519
    34663520@python_2_unicode_compatible
    34673521class CuentaCapitalInversionDirecta(models.Model):
    34683522    """!
    34693523    Clase que contiene los registros base de la Cuenta Capital, en la parte de balanza de pagos (inversión directa)
    3470    
     3524
    34713525    @author Rodrigo Boet (rboet at cenditel.gob.ve)
    34723526    @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a>
    34733527    @date 08-05-2017
    34743528    @version 1.0.0
    3475     """   
     3529    """
    34763530    ## Valor de la inversión directa en el extranjero
    34773531    extranjero = models.DecimalField(
    34783532        max_digits=18, decimal_places=2, default=0.0, verbose_name=_("Extranjero")
    34793533    )
    3480    
     3534
    34813535    ## Valor de la inversión directa en el país
    34823536    pais = models.DecimalField(
    34833537        max_digits=18, decimal_places=2, default=0.0, verbose_name=_("País")
    34843538    )
    3485        
     3539
    34863540    ## Relación con el registro base de la cuenta capital
    34873541    cuenta_capital = models.ForeignKey(CuentaCapitalBalanzaBase, on_delete=models.CASCADE)
    3488    
     3542
    34893543@python_2_unicode_compatible
    34903544class CuentaCapitalOtraInversion(models.Model):
    34913545    """!
    34923546    Clase que contiene los registros base de la Cuenta Capital, en la parte de balanza de pagos (otras inversiones)
    3493    
     3547
    34943548    @author Rodrigo Boet (rboet at cenditel.gob.ve)
    34953549    @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a>
    34963550    @date 08-05-2017
    34973551    @version 1.0.0
    3498     """   
     3552    """
    34993553    ## Valor del crédito comercial
    35003554    credito_comercial = models.DecimalField(
    35013555        max_digits=18, decimal_places=2, default=0.0, verbose_name=_("Créditos Comerciales")
    35023556    )
    3503    
     3557
    35043558    ## Valores del préstamo
    35053559    prestamo = models.DecimalField(
    35063560        max_digits=18, decimal_places=2, default=0.0, verbose_name=_("Préstamos")
    35073561    )
    3508    
     3562
    35093563    ## Valores de monedas y depósitos
    35103564    moneda_deposito = models.DecimalField(
    35113565        max_digits=18, decimal_places=2, default=0.0, verbose_name=_("Monedas y depósitos")
    35123566    )
    3513    
     3567
    35143568    ## Otros valores
    35153569    otros = models.DecimalField(
    35163570        max_digits=18, decimal_places=2, default=0.0, verbose_name=_("Otros")
    35173571    )
    3518    
     3572
    35193573    ## Tipo de dato de la inversión de cartera
    35203574    tipo = models.CharField(max_length=4, choices=INVERSION_CARTERA)
    3521        
     3575
    35223576    ## Relación con el registro base de la cuenta capital
    35233577    cuenta_capital = models.ForeignKey(CuentaCapitalBalanzaBase, on_delete=models.CASCADE)
    3524    
    3525    
     3578
     3579
    35263580# ---------------------  Deudas  ----------------------------
    35273581@python_2_unicode_compatible
     
    35293583    """!
    35303584    Clase que contiene los registros base de la Cuenta Capital, en la parte de deudas
    3531    
     3585
    35323586    @author Rodrigo Boet (rboet at cenditel.gob.ve)
    35333587    @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a>
     
    35403594    ## Trimestre del registro
    35413595    trimestre = models.CharField(max_length=2, choices=TRIMESTRES[1:], verbose_name=_("Trimestre"))
    3542    
     3596
    35433597    class Meta:
    35443598        unique_together = ("anho", "trimestre")
    3545        
     3599
    35463600@python_2_unicode_compatible
    35473601class CuentaCapitalDeudaCapital(models.Model):
    35483602    """!
    35493603    Clase que contiene los registros base de la Cuenta Capital Deuda, en la parte de deudas (capital)
    3550    
     3604
    35513605    @author Rodrigo Boet (rboet at cenditel.gob.ve)
    35523606    @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a>
    35533607    @date 08-05-2017
    35543608    @version 1.0.0
    3555     """   
     3609    """
    35563610    ## Valor de los bonos y pagarés
    35573611    bono_pagare = models.DecimalField(
    35583612        max_digits=18, decimal_places=2, default=0.0, verbose_name=_("Bonos y Pagarés")
    35593613    )
    3560    
     3614
    35613615    ## Valores de los cŕeditos comerciales
    35623616    credito_comercial = models.DecimalField(
    35633617        max_digits=18, decimal_places=2, default=0.0, verbose_name=_("Créditos Comerciales")
    35643618    )
    3565    
     3619
    35663620    ## Valores del préstamo
    35673621    prestamo = models.DecimalField(
    35683622        max_digits=18, decimal_places=2, default=0.0, verbose_name=_("Préstamos")
    35693623    )
    3570    
     3624
    35713625    ## Otros valores
    35723626    otros = models.DecimalField(
    35733627        max_digits=18, decimal_places=2, default=0.0, verbose_name=_("Otros")
    35743628    )
    3575    
     3629
    35763630    ## Tipo de dato de la deuda
    35773631    tipo = models.CharField(max_length=3, choices=SECTOR_DEUDA)
    3578        
     3632
    35793633    ## Relación con el registro base de la cuenta capital (deuda)
    35803634    deuda = models.ForeignKey(CuentaCapitalDeudaBase, on_delete=models.CASCADE)
    3581    
    3582    
     3635
     3636
    35833637@python_2_unicode_compatible
    35843638class CuentaCapitalDeudaIntereses(models.Model):
    35853639    """!
    35863640    Clase que contiene los registros base de la Cuenta Capital Deuda, en la parte de deudas (intereses)
    3587    
     3641
    35883642    @author Rodrigo Boet (rboet at cenditel.gob.ve)
    35893643    @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a>
    35903644    @date 08-05-2017
    35913645    @version 1.0.0
    3592     """   
     3646    """
    35933647    ## Valor de los bonos y pagarés
    35943648    bono_pagare = models.DecimalField(
    35953649        max_digits=18, decimal_places=2, default=0.0, verbose_name=_("Bonos y Pagarés")
    35963650    )
    3597    
     3651
    35983652    ## Valores del instrumento del mercado monetario
    35993653    instrumento_mercado = models.DecimalField(
    36003654        max_digits=18, decimal_places=2, default=0.0, verbose_name=_("Instrumentos del Mercado Monetario")
    36013655    )
    3602    
     3656
    36033657    ## Valores de los cŕeditos comerciales
    36043658    credito_comercial = models.DecimalField(
    36053659        max_digits=18, decimal_places=2, default=0.0, verbose_name=_("Créditos Comerciales")
    36063660    )
    3607    
     3661
    36083662    ## Valores del préstamo
    36093663    prestamo = models.DecimalField(
    36103664        max_digits=18, decimal_places=2, default=0.0, verbose_name=_("Préstamos")
    36113665    )
    3612    
     3666
    36133667    ## Otros valores
    36143668    otros = models.DecimalField(
    36153669        max_digits=18, decimal_places=2, default=0.0, verbose_name=_("Otros")
    36163670    )
    3617    
     3671
    36183672    ## Tipo de dato de la deuda
    36193673    tipo = models.CharField(max_length=3, choices=SECTOR_DEUDA)
    3620        
     3674
    36213675    ## Relación con el registro base de la cuenta capital (deuda)
    36223676    deuda = models.ForeignKey(CuentaCapitalDeudaBase, on_delete=models.CASCADE)
Nota: Vea TracChangeset para ayuda en el uso del visor de conjuntos de cambios.