Conjunto ad313bb en seiven
- Fecha y hora:
- 04/09/2017 09:02:33 (hace 7 años)
- Branches:
- master
- Children:
- f591439
- Parents:
- 98c5f0b
- Fichero:
-
- 1 editado
Leyenda
- No modificado
- Añadido
- Eliminado
-
economico/models.py
r3782a0d rad313bb 92 92 [ 93 93 {'tag': str(_('Año')), 'cabecera': True}, {'tag': str(_('Mes')), 'cabecera': True}, {'tag': str(_('INPC')), 'cabecera': True}, 94 94 95 95 {'tag': str(_('(1) Alimentos y Bebidas no Alcoholicas')), 'cabecera': True}, 96 96 {'tag': str(_('(2) Bebidas Alcoholicas y Tabaco')), 'cabecera': True}, … … 144 144 for i, val in enumerate(lst): 145 145 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)) 147 147 tmp=0 148 148 lolo=int (kwargs['fecha__year__gte']) … … 172 172 for i, val in enumerate(lst): 173 173 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)) 175 175 tmp=0 176 176 lolo=int (kwargs['fecha__year__gte']) … … 218 218 ## Asigna el año de la fila que se esta procesando 219 219 if row[0]!= '': 220 anho = row[0] 220 anho = row[0] 221 221 222 222 ## Asigna el número de mes 223 223 if row[1]!= '': 224 224 mes = CONVERT_MES[row[1]] 225 225 226 226 ## Condición que indica si el registro corresponde al año base 227 227 base = True if i == 0 else False … … 229 229 ## Asigna la ciudad si el dominio no es nacional 230 230 ciudad = CONVERT_DOMINIO[row[2]] if 'dominio' in kwargs and kwargs['dominio'] == 'C' else None 231 231 232 232 ## Asigna el INPC total para el año base 233 233 inpc = row[3] if ciudad else row[2] … … 605 605 fields[0].insert(1, {'tag': str(PIBProduccion._meta.verbose_name), 'color': 'green', 'text_color': 'white', 'combine': 3, 'cabecera': True}) 606 606 fields[1].extend(produccion) 607 if is_nominal: 607 if is_nominal: 608 608 nombre_archivo = 'PIB-Nominal_produccion' 609 609 else: … … 619 619 ], 620 620 [ 621 {'tag': str(_('Año')), 'cabecera': True}, 621 {'tag': str(_('Año')), 'cabecera': True}, 622 622 {'tag': str(PIBActividad._meta.get_field('total_consolidado').verbose_name), 'color': 'indigo', 'text_color': 'white', 'cabecera': True}, 623 623 {'tag': str(PIBActividad._meta.get_field('total_petrolera').verbose_name), 'color': 'green', 'text_color': 'white', 'cabecera': True}, … … 651 651 ], 652 652 [ 653 {'tag': str(_('Año')), 'cabecera': True}, 653 {'tag': str(_('Año')), 'cabecera': True}, 654 654 {'tag': str(PIBInstitucion._meta.get_field('publico').verbose_name), 'color': 'indigo', 'text_color': 'white', 'cabecera': True}, 655 655 {'tag': str(PIBInstitucion._meta.get_field('privado').verbose_name), 'color': 'green', 'text_color': 'white', 'cabecera': True}, … … 662 662 Verifica si se deben cargar los registros de trimestre, de ser afirmativo: 663 663 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 665 665 a los parámetros del formulario 666 666 En caso contrario 667 667 Carga cada uno de los valores de la columna año 668 668 """ 669 diff_anhos = int(kwargs['anho__lte']) - int(kwargs['anho__gte']) + 1 669 diff_anhos = int(kwargs['anho__lte']) - int(kwargs['anho__gte']) + 1 670 670 if any('trimestre' in index for index in kwargs): 671 671 fields[1].insert(1, {'tag': str(PIB._meta.get_field('trimestre').verbose_name), 'cabecera': True}) … … 754 754 'message': str(_("El documento a cargar no es válido o no corresponde a los parámetros seleccionados")) 755 755 } 756 756 757 757 if not is_nominal: 758 758 ## Se crea una lista con los años base del modelo … … 845 845 class PIBDemanda(models.Model): 846 846 """! 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 848 848 del tipo Real como Nominal 849 849 … … 883 883 class PIBProduccion(models.Model): 884 884 """! 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 886 886 del tipo Real como Nominal 887 887 888 888 @author Ing. Roldan Vargas (rvargas at cenditel.gob.ve) 889 889 @author Edgar A. Linares (elinares at cenditel.gob.ve) … … 918 918 """! 919 919 Clase que contiene los registros del PIB correspondientes al dominio Actividad Económica 920 920 921 921 @author Ing. Roldan Vargas (rvargas at cenditel.gob.ve) 922 922 @author Edgar A. Linares (elinares at cenditel.gob.ve) … … 1016 1016 """! 1017 1017 Clase que contiene los registros del PIB correspondientes al dominio Sector Institucional 1018 1018 1019 1019 @author Ing. Roldan Vargas (rvargas at cenditel.gob.ve) 1020 1020 @author Edgar A. Linares (elinares at cenditel.gob.ve) … … 1044 1044 @python_2_unicode_compatible 1045 1045 class DemandaGlobal(models.Model): 1046 1046 1047 1047 ## Año base del registro 1048 1048 anho_base = models.ForeignKey(AnhoBase, on_delete=models.CASCADE, null=True) … … 1085 1085 1086 1086 """ 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 1088 1088 """ 1089 1089 1090 1090 x = int (kwargs['trimestre_fin']) - int (kwargs['trimestre_ini']) + 1 + 4 * (int (kwargs['anho_fin']) - int (kwargs['anho_ini'] )) 1091 1091 lst=['1','2','3','4'] … … 1093 1093 for i, val in enumerate(lst): 1094 1094 if kwargs['trimestre_ini'] in val: 1095 desired = list( islice( cycle( lst), i, i+x)) 1095 desired = list( islice( cycle( lst), i, i+x)) 1096 1096 tmp=0 1097 1097 lolo=int (kwargs['anho_ini']) … … 1104 1104 else: 1105 1105 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)))}]) 1107 1107 1108 1108 … … 1123 1123 @return Devuelve el resultado de la acción con su correspondiente mensaje 1124 1124 """ 1125 1125 1126 1126 ## aqui debo recorrer todo el archivo excel y verificar las celdas 1127 1127 load_file = pyexcel.get_book(bookdict=kwargs['file_content'])[0] … … 1130 1130 1131 1131 self.anho_base=AnhoBase.objects.get(id=kwargs['anho_base']) 1132 1132 1133 1133 for row in range(1,len(load_file.row_range())): 1134 1134 1135 1135 try: 1136 1136 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]) … … 1144 1144 'variacion_existencias': check_val_data(load_file[row,6]), 1145 1145 }) 1146 1146 1147 1147 #Se crea o actualiza el objeto de Demanda Agregada Externa luego de validar el valor en la hoja de calculo 1148 1148 … … 1150 1150 'exportacion_bienes_servicios':check_val_data(load_file[row,7]) 1151 1151 }) 1152 1152 1153 1153 except Exception as e: 1154 1154 errors += "- %s\n" % str(e) … … 1169 1169 @python_2_unicode_compatible 1170 1170 class DemandaAgregadaInterna(models.Model): 1171 1171 1172 1172 demanda_agregada_interna = models.DecimalField( 1173 1173 max_digits=18, decimal_places=2, default=0.0, verbose_name=_("Demanda Agragada Interna") … … 1214 1214 @python_2_unicode_compatible 1215 1215 class OfertaGlobal(models.Model): 1216 1216 1217 1217 ## Año base del registro 1218 1218 anho_base = models.ForeignKey(AnhoBase, on_delete=models.CASCADE, null=True) … … 1224 1224 trimestre = models.CharField(max_length=2, choices=TRIMESTRES[1:], verbose_name=_("Trimestre")) 1225 1225 1226 1226 1227 1227 def gestion_init(self, *args, **kwargs): 1228 1228 """! … … 1289 1289 @python_2_unicode_compatible 1290 1290 class OfertaInterna(models.Model): 1291 1291 1292 1292 oferta_interna = models.DecimalField( 1293 1293 max_digits=18, decimal_places=2, default=0.0, verbose_name=_("Oferta Interna") … … 1370 1370 @return Devuelve los datos a incluír en el archivo correspondiente 1371 1371 """ 1372 1372 1373 1373 ## Sección para la selección de los datos del dominio Liquidez Monetaria 1374 1374 if any('liquidez_monetaria' in index for index in kwargs): … … 1376 1376 [ 1377 1377 {'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} 1379 1379 ], 1380 1380 [ … … 1435 1435 ] 1436 1436 ] 1437 nombre_archivo = 'Base_monetaria_fuentes' 1437 nombre_archivo = 'Base_monetaria_fuentes' 1438 1438 if any('reservas_bancarias' in index for index in kwargs): 1439 1439 ## Si el dominio es reservas bancarias, se agregan al archivo las fechas por días excepto fines de semana … … 1453 1453 if fin.weekday() != 4: 1454 1454 fin = fin - timedelta(fin.weekday()) + timedelta(days=4) 1455 1455 1456 1456 while inicio <= fin: 1457 1457 fields.append([{'tag': str(_(str(inicio.strftime("%d/%m/%Y"))))}]) … … 1525 1525 ## Obtiene la semana respecto al año 1526 1526 semana = fecha.isocalendar()[1] 1527 1527 1528 1528 ## Gestión para los datos básicos de Agregados Monetarios 1529 1529 agregados, created = AgregadosBase.objects.update_or_create(fecha=fecha, semana=semana, mes=f[1], anho=f[2]) … … 1635 1635 """ 1636 1636 1637 ## Reservas Bancarias 1637 ## Reservas Bancarias 1638 1638 reservas_bancarias = models.DecimalField( 1639 1639 max_digits=18, decimal_places=2, default=0.0, verbose_name=_("Reservas Bancarias") … … 1726 1726 ## Campo que crea la relacion con el modelo AgregadosBase 1727 1727 agregados = models.ForeignKey(AgregadosBase, on_delete=models.CASCADE, verbose_name=_('Agregados Base')) 1728 1728 1729 1729 class Meta: 1730 1730 verbose_name = _('Base Monetaria Fuentes') … … 1744 1744 ## Fecha a la que pertenece el registro 1745 1745 fecha = models.DateField(null=True, verbose_name=_("Fecha")) 1746 1746 1747 1747 ## Semana a la que pertenece el registro 1748 1748 semana = models.CharField(null=True, max_length=2, verbose_name=_("Semana")) … … 1756 1756 class Meta: 1757 1757 verbose_name = _('Tasas de Interés') 1758 1758 1759 1759 def gestion_init(self, *args, **kwargs): 1760 1760 """! … … 1852 1852 if fin.weekday() != 4: 1853 1853 fin = fin - timedelta(fin.weekday()) + timedelta(days=4) 1854 1854 1855 1855 while inicio <= fin: 1856 1856 fields.append([{'tag': str(_(str(inicio.strftime("%d/%m/%Y"))))}]) … … 1918 1918 'message': str(_("El documento a cargar no es válido o no corresponde a los parámetros seleccionados")) 1919 1919 } 1920 1920 1921 1921 ## En base al archivo cargado, se validan y cargan a la base de datos los valores contenidos en el archivo 1922 1922 for row in load_file.row[2:]: … … 2095 2095 ) 2096 2096 2097 ## Actividad Económica Adquisición de Vehiculos 2097 ## Actividad Económica Adquisición de Vehiculos 2098 2098 adquisicion_vehiculos = models.DecimalField( 2099 2099 max_digits=18, decimal_places=2, default=0.0, verbose_name=_("Adquisición de Vehículos") … … 2198 2198 verbose_name = _('Tasa de Interés Pasiva') 2199 2199 2200 ## Modelo de Operaciones Interbancarias 2201 #Constantes de Operaciones Interbancarias (luego se pasará a base/constant.py) 2202 PLAZO = ( 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 2213 class 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 2226 class 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 2200 2254 #-----------------------------Economía - Externo - Reservas, Tipo de Cambio 2201 2255 @python_2_unicode_compatible 2202 2256 class TipoCambio(models.Model): 2203 2257 2204 2258 ## Fecha del registro 2205 2259 fecha = models.DateField(null=True, verbose_name=_("Fecha")) … … 2232 2286 2233 2287 """ 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 2235 2289 """ 2236 2290 … … 2261 2315 """ 2262 2316 ## aqui debo recorrer todo el archivo excel y verificar las celdas 2263 2317 2264 2318 load_file = pyexcel.get_book(bookdict=kwargs['file_content'])[0] 2265 2319 errors, result, message = '', True, '' 2266 2320 load_data_msg = str(_("Datos Cargados")) 2267 2321 2268 2322 2269 2323 for row in load_file.row[1:]: 2270 2324 try: … … 2293 2347 @python_2_unicode_compatible 2294 2348 class ReservasInternacionales(models.Model): 2295 2349 2296 2350 ## Fecha del registro 2297 2351 fecha = models.DateField(null=True, verbose_name=_("Fecha")) … … 2332 2386 2333 2387 """ 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 2335 2389 """ 2336 2390 … … 2364 2418 load_data_msg = str(_("Datos Cargados")) 2365 2419 2366 2420 2367 2421 for row in load_file.row[1:]: 2368 2422 try: 2369 2423 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 2371 2425 except Exception as e: 2372 2426 errors += "- %s\n" % str(e) … … 2384 2438 2385 2439 return {'result': result, 'message': message} 2386 2440 2387 2441 # ------------ Económico Externo - Balanza Comercial -------------------- 2388 2442 @python_2_unicode_compatible … … 2390 2444 """! 2391 2445 Clase que contiene los registros base de la Balanza Comercial 2392 2446 2393 2447 @author Rodrigo Boet (rboet at cenditel.gob.ve) 2394 2448 @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a> … … 2396 2450 @version 1.0.0 2397 2451 """ 2398 2452 2399 2453 ## Año base del registro 2400 2454 anho_base = models.ForeignKey(AnhoBase, on_delete=models.CASCADE, null=True) … … 2405 2459 ## Trimestre del registro 2406 2460 trimestre = models.CharField(max_length=2, choices=TRIMESTRES[1:], verbose_name=_("Trimestre")) 2407 2461 2408 2462 ## Tipo del registro 2409 2463 tipo = models.CharField(max_length=2, choices=TIPO_BALANZA_COMERCIAL[1:]) 2410 2464 2411 2465 ## Dominio del registro 2412 2466 dominio = models.CharField(max_length=2, choices=DOMINIO_BALANZA_COMERCIAL[1:]) 2413 2467 2414 2468 def gestion_init(self, *args, **kwargs): 2415 2469 """! … … 2505 2559 ## Se añade la subcabecera 2506 2560 fields.append(sub_header); 2507 2561 2508 2562 ## Se asigna el año base (si existe) 2509 2563 anho_base = kwargs['anho_base'] if 'anho_base' in kwargs else '' 2510 2564 2511 2565 ## Almacena los datos de año y trimestre inicial provenientes del formulario 2512 2566 anho_ini = int(kwargs['anho__gte']) … … 2628 2682 anho_ini += 1 2629 2683 trimestre_ini += 1 2630 2684 2631 2685 if(kwargs['tipo']=='PR' and kwargs['dominio']=='BB'): 2632 2686 nombre_archivo+= '_bolivares_corriente' … … 2639 2693 ## Devuelve los datos correspondientes al archivo a descargar y el nombre de ese archivo 2640 2694 return {'fields': fields, 'output': nombre_archivo} 2641 2695 2642 2696 def gestion_process(self, user, *args, **kwargs): 2643 2697 """! … … 2654 2708 @return Devuelve el resultado de la acción con su correspondiente mensaje 2655 2709 """ 2656 2710 2657 2711 load_file = pyexcel.get_book(bookdict=kwargs['file_content'])[0] 2658 2712 anho_base, errors, result, message = '', '', True, '' … … 2661 2715 ## Se asigna un valor al año base 2662 2716 anho_base = kwargs['anho_base'] if 'anho_base' in kwargs else '' 2663 2717 2664 2718 for row in load_file.row[2:]: 2665 2719 try: … … 2671 2725 tipo=kwargs['tipo'], 2672 2726 dominio=kwargs['dominio']) 2673 2727 2674 2728 ## Se crean las balanzas para precios corrientes (bs) y precios constantes 2675 2729 if(kwargs['dominio']!='BD' and kwargs['tipo']!='PI'): … … 2681 2735 'privado_no_petroleo':check_val_data(row[5]), 2682 2736 }) 2683 2737 2684 2738 ## Se crea el registro para Importaciones de Bienes CIF 2685 2739 BalanzaComercialDatos.objects.update_or_create(balanza = balanza_base, tipo="IB", defaults={ … … 2689 2743 'privado_no_petroleo':check_val_data(row[10]), 2690 2744 }) 2691 2745 2692 2746 ## Se crea el registro de las exportaciones/importaciones de servicios 2693 2747 BalanzaComercialServicios.objects.update_or_create(balanza = balanza_base, defaults={ … … 2706 2760 'exportacion_bien':check_val_data(row[2]), 2707 2761 }) 2708 2762 2709 2763 ## Se crea el registro para Exportaciones de bienes FOB 2710 2764 BalanzaComercialDatos.objects.update_or_create(balanza = balanza_base, tipo="EB", defaults={ … … 2714 2768 'privado_no_petroleo':check_val_data(row[8]), 2715 2769 }) 2716 2770 2717 2771 ## Se crea el registro para Importaciones de Bienes CIF 2718 2772 BalanzaComercialDatos.objects.update_or_create(balanza = balanza_base, tipo="IB", defaults={ … … 2722 2776 'privado_no_petroleo':check_val_data(row[16]), 2723 2777 }) 2724 2778 2725 2779 ## Se crea el registro de las exportaciones/importaciones de servicios 2726 2780 BalanzaComercialServicios.objects.update_or_create(balanza = balanza_base, defaults={ … … 2765 2819 'privado_no_petroleo':check_val_data(row[21]), 2766 2820 }) 2767 2821 2768 2822 except Exception as e: 2769 2823 errors += "- %s\n" % str(e) … … 2779 2833 'errors': errors 2780 2834 }) 2781 2835 2782 2836 return {'result': result, 'message': message} 2783 2837 … … 2786 2840 """! 2787 2841 Clase que contiene los registros de datos de la Balanza Comercial 2788 2842 2789 2843 @author Rodrigo Boet (rboet at cenditel.gob.ve) 2790 2844 @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a> … … 2792 2846 @version 1.0.0 2793 2847 """ 2794 2848 2795 2849 ## Valor público del petróleo 2796 2850 publico_petroleo = models.DecimalField( 2797 2851 max_digits=18, decimal_places=2, default=0.0, verbose_name=_("Pública Petrólera") 2798 2852 ) 2799 2853 2800 2854 ## Valor no público del petróleo 2801 2855 publico_no_petroleo = models.DecimalField( 2802 2856 max_digits=18, decimal_places=2, default=0.0, verbose_name=_("Pública No Petrólera") 2803 2857 ) 2804 2858 2805 2859 ## Valor privado del petróleo 2806 2860 privado_petroleo = models.DecimalField( 2807 2861 max_digits=18, decimal_places=2, default=0.0, verbose_name=_("Privado Petrólero") 2808 2862 ) 2809 2863 2810 2864 ## Valor no privado del petróleo 2811 2865 privado_no_petroleo = models.DecimalField( 2812 2866 max_digits=18, decimal_places=2, default=0.0, verbose_name=_("Privado No Petrólero") 2813 2867 ) 2814 2868 2815 2869 ## Tipo de dato de la balanza 2816 2870 tipo = models.CharField(max_length=2, choices=BALANZA_DATOS) 2817 2871 2818 2872 ## Relación con la balanza base 2819 2873 balanza = models.ForeignKey(BalanzaComercialBase, on_delete=models.CASCADE) 2820 2874 2821 2875 @python_2_unicode_compatible 2822 2876 class BalanzaComercialServicios(models.Model): 2823 2877 """! 2824 2878 Clase que contiene los registros de datos de la Balanza Comercial 2825 2879 2826 2880 @author Rodrigo Boet (rboet at cenditel.gob.ve) 2827 2881 @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a> … … 2829 2883 @version 1.0.0 2830 2884 """ 2831 2885 2832 2886 ## Valor de importacion del servicio 2833 2887 exportacion_servicio = models.DecimalField( 2834 2888 max_digits=18, decimal_places=2, default=0.0, verbose_name=_("Exportaciones de Servicios") 2835 2889 ) 2836 2890 2837 2891 ## Valor de exportación del servicio 2838 2892 importacion_servicio = models.DecimalField( 2839 2893 max_digits=18, decimal_places=2, default=0.0, verbose_name=_("Importaciones de Servicios") 2840 2894 ) 2841 2895 2842 2896 ## Relación con la balanza base 2843 2897 balanza = models.ForeignKey(BalanzaComercialBase, on_delete=models.CASCADE) 2844 2898 2845 2899 @python_2_unicode_compatible 2846 2900 class BalanzaComercialPrecioImplicito(models.Model): 2847 2901 """! 2848 2902 Clase que contiene los registros de datos de Precios Implicitos de la Balanza Comercial 2849 2903 2850 2904 @author Rodrigo Boet (rboet at cenditel.gob.ve) 2851 2905 @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a> … … 2857 2911 max_digits=18, decimal_places=2, default=0.0, verbose_name=_("Importaciones Públicas") 2858 2912 ) 2859 2913 2860 2914 ## Valor privado de la importación 2861 2915 importacion_privada = models.DecimalField( 2862 2916 max_digits=18, decimal_places=2, default=0.0, verbose_name=_("Importaciones Privadas") 2863 2917 ) 2864 2918 2865 2919 ## Valor público de la exportación 2866 2920 exportacion_publica = models.DecimalField( 2867 2921 max_digits=18, decimal_places=2, default=0.0, verbose_name=_("Exportaciones Públicas") 2868 2922 ) 2869 2923 2870 2924 ## Valor privado de la exportación 2871 2925 exportacion_privada = models.DecimalField( 2872 2926 max_digits=18, decimal_places=2, default=0.0, verbose_name=_("Exportaciones Privadas") 2873 2927 ) 2874 2928 2875 2929 ## Valor de importación de los bienes 2876 2930 importacion_bien = models.DecimalField( 2877 2931 max_digits=18, decimal_places=2, default=0.0, verbose_name=_("Importaciones de Bienes CIF") 2878 2932 ) 2879 2933 2880 2934 ## Valor de exportación de los bienes 2881 2935 exportacion_bien = models.DecimalField( 2882 2936 max_digits=18, decimal_places=2, default=0.0, verbose_name=_("Exportaciones de Bienes FOB") 2883 2937 ) 2884 2938 2885 2939 ## Relación con la balanza base 2886 2940 balanza = models.ForeignKey(BalanzaComercialBase, on_delete=models.CASCADE) 2887 2941 2888 2942 # ------------ Económico Externo - Cuenta Capital -------------------- 2889 2943 # --------------------- Balanza de Pagos ---------------------------- … … 2892 2946 """! 2893 2947 Clase que contiene los registros base de la Cuenta Capital, en la parte de balanza de pagos 2894 2948 2895 2949 @author Rodrigo Boet (rboet at cenditel.gob.ve) 2896 2950 @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a> … … 2903 2957 ## Trimestre del registro 2904 2958 trimestre = models.CharField(max_length=2, choices=TRIMESTRES[1:], verbose_name=_("Trimestre")) 2905 2959 2906 2960 class Meta: 2907 2961 unique_together = ("anho", "trimestre") 2908 2962 2909 2963 def gestion_init(self, *args, **kwargs): 2910 2964 """! … … 2923 2977 header = [] 2924 2978 sub_header = [] 2925 2979 2926 2980 ## Cabecera para balanza de pagos 2927 2981 if(kwargs['dominio']=='BP'): … … 3036 3090 ## Se añade la subcabecera 3037 3091 fields.append(sub_header) 3038 3092 3039 3093 ## Almacena los datos de año y trimestre inicial provenientes del formulario 3040 3094 anho_ini = int(kwargs['anho__gte']) 3041 3095 trimestre_ini = int(kwargs['trimestre__gte']) 3042 3096 3043 3097 while True: 3044 3098 registros = [({'tag': anho_ini})] … … 3049 3103 if(cuenta_capital_base): 3050 3104 cuenta_capital_base = cuenta_capital_base.get() 3051 3105 3052 3106 ## Se cargan los saldos de la cuenta capital 3053 3107 cuenta_capital_saldos = CuentaCapitalSaldos.objects.get(cuenta_capital=cuenta_capital_base) … … 3062 3116 registros.append({'tag': cuenta_capital_saldos.inversion_cartera}) 3063 3117 registros.append({'tag': cuenta_capital_saldos.otra_inversion}) 3064 3118 3065 3119 ## Se cargan otros de la cuenta capital 3066 3120 cuenta_capital_otros = CuentaCapitalOtros.objects.get(cuenta_capital=cuenta_capital_base) 3067 3121 registros.append({'tag': cuenta_capital_otros.transferencia_corriente}) 3068 3122 registros.append({'tag': cuenta_capital_otros.cuenta}) 3069 3123 3070 3124 ## Se carga la inversión de la cuenta capital 3071 3125 cuenta_capital_inv_directa = CuentaCapitalInversionDirecta.objects.get(cuenta_capital=cuenta_capital_base) 3072 3126 registros.append({'tag': cuenta_capital_inv_directa.extranjero}) 3073 3127 registros.append({'tag': cuenta_capital_inv_directa.pais}) 3074 3128 3075 3129 ## ------> Inversión Cartera 3076 3130 3077 3131 ## Se carga la inversión cartera de la cuenta capital - Activos sector público 3078 3132 cuenta_capital_inv_cartera_apu = CuentaCapitalInversionCartera.objects.get(cuenta_capital=cuenta_capital_base,tipo="ASPu") 3079 3133 registros.append({'tag': cuenta_capital_inv_cartera_apu.titulo_participacion_capital}) 3080 3134 registros.append({'tag': cuenta_capital_inv_cartera_apu.titulo_deuda}) 3081 3135 3082 3136 ## Se carga la inversión cartera de la cuenta capital - Activos sector privado 3083 3137 cuenta_capital_inv_cartera_apr = CuentaCapitalInversionCartera.objects.get(cuenta_capital=cuenta_capital_base,tipo="ASPr") 3084 3138 registros.append({'tag': cuenta_capital_inv_cartera_apr.titulo_participacion_capital}) 3085 3139 registros.append({'tag': cuenta_capital_inv_cartera_apr.titulo_deuda}) 3086 3140 3087 3141 ## Se carga la inversión cartera de la cuenta capital - Pasivos sector público 3088 3142 cuenta_capital_inv_cartera_ppu = CuentaCapitalInversionCartera.objects.get(cuenta_capital=cuenta_capital_base,tipo="PSPu") 3089 3143 registros.append({'tag': cuenta_capital_inv_cartera_ppu.titulo_participacion_capital}) 3090 3144 registros.append({'tag': cuenta_capital_inv_cartera_ppu.titulo_deuda}) 3091 3145 3092 3146 ## Se carga la inversión cartera de la cuenta capital - Pasivos sector privado 3093 3147 cuenta_capital_inv_cartera_ppr = CuentaCapitalInversionCartera.objects.get(cuenta_capital=cuenta_capital_base,tipo="PSPr") 3094 3148 registros.append({'tag': cuenta_capital_inv_cartera_ppr.titulo_participacion_capital}) 3095 3149 registros.append({'tag': cuenta_capital_inv_cartera_ppr.titulo_deuda}) 3096 3150 3097 3151 ## ------> Otra Inversión 3098 3152 3099 3153 ## Se carga la otra inversión de la cuenta capital - Activo sector público 3100 3154 cuenta_capital_otra_inv_apu = CuentaCapitalOtraInversion.objects.get(cuenta_capital=cuenta_capital_base,tipo="ASPu") … … 3103 3157 registros.append({'tag': cuenta_capital_otra_inv_apu.moneda_deposito}) 3104 3158 registros.append({'tag': cuenta_capital_otra_inv_apu.otros}) 3105 3159 3106 3160 ## Se carga la otra inversión de la cuenta capital - Activo sector privado 3107 3161 cuenta_capital_otra_inv_apr = CuentaCapitalOtraInversion.objects.get(cuenta_capital=cuenta_capital_base,tipo="ASPr") … … 3110 3164 registros.append({'tag': cuenta_capital_otra_inv_apr.moneda_deposito}) 3111 3165 registros.append({'tag': cuenta_capital_otra_inv_apr.otros}) 3112 3166 3113 3167 ## Se carga la otra inversión de la cuenta capital - Pasivo sector público 3114 3168 cuenta_capital_otra_inv_ppu = CuentaCapitalOtraInversion.objects.get(cuenta_capital=cuenta_capital_base,tipo="PSPu") … … 3117 3171 registros.append({'tag': cuenta_capital_otra_inv_ppu.moneda_deposito}) 3118 3172 registros.append({'tag': cuenta_capital_otra_inv_ppu.otros}) 3119 3173 3120 3174 ## Se carga la otra inversión de la cuenta capital - Pasivo sector privado 3121 3175 cuenta_capital_otra_inv_ppr = CuentaCapitalOtraInversion.objects.get(cuenta_capital=cuenta_capital_base,tipo="PSPr") … … 3124 3178 registros.append({'tag': cuenta_capital_otra_inv_ppr.moneda_deposito}) 3125 3179 registros.append({'tag': cuenta_capital_otra_inv_ppr.otros}) 3126 3180 3127 3181 ## Se cargan los errores u omisiones 3128 3182 registros.append({'tag': cuenta_capital_otros.errores_omisiones}) 3129 3130 3183 3184 3131 3185 elif(kwargs['dominio']=='DE'): 3132 3186 cuenta_capital_base = CuentaCapitalDeudaBase.objects.filter(anho=anho_ini,trimestre=trimestre_ini) … … 3166 3220 anho_ini += 1 3167 3221 trimestre_ini += 1 3168 3222 3169 3223 return {'fields': fields, 'output': nombre_archivo} 3170 3224 3171 3225 def gestion_process(self, user, *args, **kwargs): 3172 3226 """! … … 3183 3237 @return Devuelve el resultado de la acción con su correspondiente mensaje 3184 3238 """ 3185 3239 3186 3240 load_file = pyexcel.get_book(bookdict=kwargs['file_content'])[0] 3187 3241 errors, result, message = '', True, '' … … 3190 3244 ## Se asigna un valor al dominio 3191 3245 dominio = kwargs['dominio'] 3192 3246 3193 3247 for row in load_file.row[3:]: 3194 3248 try: … … 3198 3252 anho=row[0], 3199 3253 trimestre=row[1]) 3200 3254 3201 3255 ## Se crean o actualizan los objetos de saldos de cuenta capital 3202 3256 CuentaCapitalSaldos.objects.update_or_create(cuenta_capital = cuenta_capital_base, defaults={ … … 3212 3266 'otra_inversion': row[11], 3213 3267 }) 3214 3268 3215 3269 ## Se crean o actualizan los objetos de otros montos de cuenta capital 3216 3270 CuentaCapitalOtros.objects.update_or_create(cuenta_capital = cuenta_capital_base, defaults={ … … 3219 3273 'errores_omisiones':row[40], 3220 3274 }) 3221 3275 3222 3276 ## Se crean o actualizan los objetos de inversión directa de cuenta capital 3223 3277 CuentaCapitalInversionDirecta.objects.update_or_create(cuenta_capital = cuenta_capital_base, defaults={ … … 3225 3279 'pais':row[15], 3226 3280 }) 3227 3281 3228 3282 ## ------> Inversión Cartera 3229 3283 3230 3284 ## Se crean o actualizan los objetos de inversión cartera de cuenta capital - Activos sector público 3231 3285 CuentaCapitalInversionCartera.objects.update_or_create(cuenta_capital = cuenta_capital_base, tipo="ASPu", defaults={ … … 3233 3287 'titulo_deuda':row[17], 3234 3288 }) 3235 3236 3289 3290 3237 3291 ## Se crean o actualizan los objetos de inversión cartera de cuenta capital - Activos sector privado 3238 3292 CuentaCapitalInversionCartera.objects.update_or_create(cuenta_capital = cuenta_capital_base, tipo="ASPr", defaults={ … … 3240 3294 'titulo_deuda':row[19], 3241 3295 }) 3242 3296 3243 3297 ## Se crean o actualizan los objetos de inversión cartera de cuenta capital - Pasivos sector público 3244 3298 CuentaCapitalInversionCartera.objects.update_or_create(cuenta_capital = cuenta_capital_base, tipo="PSPu", defaults={ … … 3246 3300 'titulo_deuda':row[21], 3247 3301 }) 3248 3302 3249 3303 ## Se crean o actualizan los objetos de inversión cartera de cuenta capital - Pasivos sector privado 3250 3304 CuentaCapitalInversionCartera.objects.update_or_create(cuenta_capital = cuenta_capital_base, tipo="PSPr", defaults={ … … 3252 3306 'titulo_deuda':row[23], 3253 3307 }) 3254 3308 3255 3309 ## ------> Otra Inversión 3256 3310 3257 3311 ## Se crean o actualizan los objetos de otras inversiones de cuenta capital - Activos sector público 3258 3312 CuentaCapitalOtraInversion.objects.update_or_create(cuenta_capital = cuenta_capital_base, tipo="ASPu", defaults={ … … 3262 3316 'otros':row[27], 3263 3317 }) 3264 3265 3318 3319 3266 3320 ## Se crean o actualizan los objetos de otras inversiones de cuenta capital - Activos sector privado 3267 3321 CuentaCapitalOtraInversion.objects.update_or_create(cuenta_capital = cuenta_capital_base, tipo="ASPr", defaults={ … … 3271 3325 'otros':row[31], 3272 3326 }) 3273 3327 3274 3328 ## Se crean o actualizan los objetos de otras inversiones de cuenta capital - Pasivos sector público 3275 3329 CuentaCapitalOtraInversion.objects.update_or_create(cuenta_capital = cuenta_capital_base, tipo="PSPu", defaults={ … … 3279 3333 'otros':row[35], 3280 3334 }) 3281 3335 3282 3336 ## Se crean o actualizan los objetos de otras inversiones de cuenta capital - Pasivos sector privado 3283 3337 CuentaCapitalOtraInversion.objects.update_or_create(cuenta_capital = cuenta_capital_base, tipo="PSPr", defaults={ … … 3286 3340 'moneda_deposito':row[38], 3287 3341 'otros':row[39], 3288 }) 3289 3342 }) 3343 3290 3344 elif(dominio=='DE'): 3291 3345 ## Registro base de la cuenta capital deuda … … 3293 3347 anho=row[0], 3294 3348 trimestre=row[1]) 3295 3349 3296 3350 ## Se crean o actulizan los objetos de deuda capital e intereses del sector público 3297 3351 CuentaCapitalDeudaCapital.objects.update_or_create(deuda=cuenta_capital_base,tipo="SPu",defaults={ … … 3301 3355 'otros':row[5], 3302 3356 }) 3303 3357 3304 3358 CuentaCapitalDeudaIntereses.objects.update_or_create(deuda=cuenta_capital_base,tipo="SPu",defaults={ 3305 3359 'bono_pagare':row[6], … … 3309 3363 'otros':row[10], 3310 3364 }) 3311 3365 3312 3366 ## Se crean o actulizan los objetos de deuda capital e intereses del sector privado 3313 3367 CuentaCapitalDeudaCapital.objects.update_or_create(deuda=cuenta_capital_base,tipo="SPr",defaults={ … … 3317 3371 'otros':row[14], 3318 3372 }) 3319 3373 3320 3374 CuentaCapitalDeudaIntereses.objects.update_or_create(deuda=cuenta_capital_base,tipo="SPr",defaults={ 3321 3375 'bono_pagare':row[15], … … 3325 3379 'otros':row[19], 3326 3380 }) 3327 3328 3381 3382 3329 3383 except Exception as e: 3330 3384 errors += "- %s\n" % str(e) … … 3340 3394 'errors': errors 3341 3395 }) 3342 3396 3343 3397 return {'result': result, 'message': message} 3344 3398 3345 3399 @python_2_unicode_compatible 3346 3400 class CuentaCapitalSaldos(models.Model): 3347 3401 """! 3348 3402 Clase que contiene los registros base de la Cuenta Capital, en la parte de balanza de pagos (saldos) 3349 3403 3350 3404 @author Rodrigo Boet (rboet at cenditel.gob.ve) 3351 3405 @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a> … … 3354 3408 """ 3355 3409 ## --------------> Saldo de Servicios 3356 3410 3357 3411 ## Valor del transporte 3358 3412 transporte = models.DecimalField( 3359 3413 max_digits=18, decimal_places=2, default=0.0, verbose_name=_("Transportes") 3360 3414 ) 3361 3415 3362 3416 ## Valor de los viajes 3363 3417 viajes = models.DecimalField( 3364 3418 max_digits=18, decimal_places=2, default=0.0, verbose_name=_("Viajes") 3365 3419 ) 3366 3420 3367 3421 ## Valor de la comunicación 3368 3422 comunicacion = models.DecimalField( 3369 3423 max_digits=18, decimal_places=2, default=0.0, verbose_name=_("Comunicaciones") 3370 3424 ) 3371 3425 3372 3426 ## Valor del seguro 3373 3427 seguro = models.DecimalField( 3374 3428 max_digits=18, decimal_places=2, default=0.0, verbose_name=_("Seguros") 3375 3429 ) 3376 3430 3377 3431 ## Valor del gobierno 3378 3432 gobierno = models.DecimalField( 3379 3433 max_digits=18, decimal_places=2, default=0.0, verbose_name=_("Gobierno n.i.o.p.") 3380 3434 ) 3381 3435 3382 3436 ## Otros valores 3383 3437 otros = models.DecimalField( 3384 3438 max_digits=18, decimal_places=2, default=0.0, verbose_name=_("Otros") 3385 3439 ) 3386 3440 3387 3441 ## --------------> Saldo en Renta 3388 3442 3389 3443 ## Valor de la remuneración del empleado 3390 3444 remuneracion_empleado = models.DecimalField( 3391 3445 max_digits=18, decimal_places=2, default=0.0, verbose_name=_("Remuneración Empleados") 3392 3446 ) 3393 3447 3394 3448 ## Valor de la inversión directa 3395 3449 inversion_directa = models.DecimalField( 3396 3450 max_digits=18, decimal_places=2, default=0.0, verbose_name=_("Inversión Directa") 3397 3451 ) 3398 3452 3399 3453 ## Valor de la inversión de cartera 3400 3454 inversion_cartera = models.DecimalField( 3401 3455 max_digits=18, decimal_places=2, default=0.0, verbose_name=_("Inversión de Cartera") 3402 3456 ) 3403 3457 3404 3458 ## Valor de otras inversiones 3405 3459 otra_inversion = models.DecimalField( 3406 3460 max_digits=18, decimal_places=2, default=0.0, verbose_name=_("Otra Inversión") 3407 3461 ) 3408 3462 3409 3463 ## Relación con el registro base de la cuenta capital 3410 3464 cuenta_capital = models.ForeignKey(CuentaCapitalBalanzaBase, on_delete=models.CASCADE) 3411 3465 3412 3466 @python_2_unicode_compatible 3413 3467 class CuentaCapitalOtros(models.Model): 3414 3468 """! 3415 3469 Clase que contiene los registros base de la Cuenta Capital, en la parte de balanza de pagos (otros) 3416 3470 3417 3471 @author Rodrigo Boet (rboet at cenditel.gob.ve) 3418 3472 @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a> 3419 3473 @date 08-05-2017 3420 3474 @version 1.0.0 3421 """ 3475 """ 3422 3476 ## Valor de la transferencias corrientes 3423 3477 transferencia_corriente = models.DecimalField( 3424 3478 max_digits=18, decimal_places=2, default=0.0, verbose_name=_("Transferencias Corrientes") 3425 3479 ) 3426 3480 3427 3481 ## Valor de la cuenta capital 3428 3482 cuenta = models.DecimalField( 3429 3483 max_digits=18, decimal_places=2, default=0.0, verbose_name=_("Cuenta Capital") 3430 3484 ) 3431 3485 3432 3486 ## Valor de los errores u omisiones 3433 3487 errores_omisiones = models.DecimalField( 3434 3488 max_digits=18, decimal_places=2, default=0.0, verbose_name=_("Errores y Omisiones") 3435 ) 3436 3489 ) 3490 3437 3491 ## Relación con el registro base de la cuenta capital 3438 3492 cuenta_capital = models.ForeignKey(CuentaCapitalBalanzaBase, on_delete=models.CASCADE) 3439 3493 3440 3494 @python_2_unicode_compatible 3441 3495 class CuentaCapitalInversionCartera(models.Model): 3442 3496 """! 3443 3497 Clase que contiene los registros base de la Cuenta Capital, en la parte de balanza de pagos (inversión cartera) 3444 3498 3445 3499 @author Rodrigo Boet (rboet at cenditel.gob.ve) 3446 3500 @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a> 3447 3501 @date 08-05-2017 3448 3502 @version 1.0.0 3449 """ 3503 """ 3450 3504 ## Valor del título de participacion capital 3451 3505 titulo_participacion_capital = models.DecimalField( 3452 3506 max_digits=18, decimal_places=2, default=0.0, verbose_name=_("Títulos de participación en el capital") 3453 3507 ) 3454 3508 3455 3509 ## Valor del título de la deuda 3456 3510 titulo_deuda = models.DecimalField( 3457 3511 max_digits=18, decimal_places=2, default=0.0, verbose_name=_("Títulos de deuda") 3458 3512 ) 3459 3513 3460 3514 ## Tipo de dato de la inversión de cartera 3461 3515 tipo = models.CharField(max_length=4, choices=INVERSION_CARTERA) 3462 3516 3463 3517 ## Relación con el registro base de la cuenta capital 3464 3518 cuenta_capital = models.ForeignKey(CuentaCapitalBalanzaBase, on_delete=models.CASCADE) 3465 3519 3466 3520 @python_2_unicode_compatible 3467 3521 class CuentaCapitalInversionDirecta(models.Model): 3468 3522 """! 3469 3523 Clase que contiene los registros base de la Cuenta Capital, en la parte de balanza de pagos (inversión directa) 3470 3524 3471 3525 @author Rodrigo Boet (rboet at cenditel.gob.ve) 3472 3526 @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a> 3473 3527 @date 08-05-2017 3474 3528 @version 1.0.0 3475 """ 3529 """ 3476 3530 ## Valor de la inversión directa en el extranjero 3477 3531 extranjero = models.DecimalField( 3478 3532 max_digits=18, decimal_places=2, default=0.0, verbose_name=_("Extranjero") 3479 3533 ) 3480 3534 3481 3535 ## Valor de la inversión directa en el país 3482 3536 pais = models.DecimalField( 3483 3537 max_digits=18, decimal_places=2, default=0.0, verbose_name=_("País") 3484 3538 ) 3485 3539 3486 3540 ## Relación con el registro base de la cuenta capital 3487 3541 cuenta_capital = models.ForeignKey(CuentaCapitalBalanzaBase, on_delete=models.CASCADE) 3488 3542 3489 3543 @python_2_unicode_compatible 3490 3544 class CuentaCapitalOtraInversion(models.Model): 3491 3545 """! 3492 3546 Clase que contiene los registros base de la Cuenta Capital, en la parte de balanza de pagos (otras inversiones) 3493 3547 3494 3548 @author Rodrigo Boet (rboet at cenditel.gob.ve) 3495 3549 @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a> 3496 3550 @date 08-05-2017 3497 3551 @version 1.0.0 3498 """ 3552 """ 3499 3553 ## Valor del crédito comercial 3500 3554 credito_comercial = models.DecimalField( 3501 3555 max_digits=18, decimal_places=2, default=0.0, verbose_name=_("Créditos Comerciales") 3502 3556 ) 3503 3557 3504 3558 ## Valores del préstamo 3505 3559 prestamo = models.DecimalField( 3506 3560 max_digits=18, decimal_places=2, default=0.0, verbose_name=_("Préstamos") 3507 3561 ) 3508 3562 3509 3563 ## Valores de monedas y depósitos 3510 3564 moneda_deposito = models.DecimalField( 3511 3565 max_digits=18, decimal_places=2, default=0.0, verbose_name=_("Monedas y depósitos") 3512 3566 ) 3513 3567 3514 3568 ## Otros valores 3515 3569 otros = models.DecimalField( 3516 3570 max_digits=18, decimal_places=2, default=0.0, verbose_name=_("Otros") 3517 3571 ) 3518 3572 3519 3573 ## Tipo de dato de la inversión de cartera 3520 3574 tipo = models.CharField(max_length=4, choices=INVERSION_CARTERA) 3521 3575 3522 3576 ## Relación con el registro base de la cuenta capital 3523 3577 cuenta_capital = models.ForeignKey(CuentaCapitalBalanzaBase, on_delete=models.CASCADE) 3524 3525 3578 3579 3526 3580 # --------------------- Deudas ---------------------------- 3527 3581 @python_2_unicode_compatible … … 3529 3583 """! 3530 3584 Clase que contiene los registros base de la Cuenta Capital, en la parte de deudas 3531 3585 3532 3586 @author Rodrigo Boet (rboet at cenditel.gob.ve) 3533 3587 @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a> … … 3540 3594 ## Trimestre del registro 3541 3595 trimestre = models.CharField(max_length=2, choices=TRIMESTRES[1:], verbose_name=_("Trimestre")) 3542 3596 3543 3597 class Meta: 3544 3598 unique_together = ("anho", "trimestre") 3545 3599 3546 3600 @python_2_unicode_compatible 3547 3601 class CuentaCapitalDeudaCapital(models.Model): 3548 3602 """! 3549 3603 Clase que contiene los registros base de la Cuenta Capital Deuda, en la parte de deudas (capital) 3550 3604 3551 3605 @author Rodrigo Boet (rboet at cenditel.gob.ve) 3552 3606 @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a> 3553 3607 @date 08-05-2017 3554 3608 @version 1.0.0 3555 """ 3609 """ 3556 3610 ## Valor de los bonos y pagarés 3557 3611 bono_pagare = models.DecimalField( 3558 3612 max_digits=18, decimal_places=2, default=0.0, verbose_name=_("Bonos y Pagarés") 3559 3613 ) 3560 3614 3561 3615 ## Valores de los cŕeditos comerciales 3562 3616 credito_comercial = models.DecimalField( 3563 3617 max_digits=18, decimal_places=2, default=0.0, verbose_name=_("Créditos Comerciales") 3564 3618 ) 3565 3619 3566 3620 ## Valores del préstamo 3567 3621 prestamo = models.DecimalField( 3568 3622 max_digits=18, decimal_places=2, default=0.0, verbose_name=_("Préstamos") 3569 3623 ) 3570 3624 3571 3625 ## Otros valores 3572 3626 otros = models.DecimalField( 3573 3627 max_digits=18, decimal_places=2, default=0.0, verbose_name=_("Otros") 3574 3628 ) 3575 3629 3576 3630 ## Tipo de dato de la deuda 3577 3631 tipo = models.CharField(max_length=3, choices=SECTOR_DEUDA) 3578 3632 3579 3633 ## Relación con el registro base de la cuenta capital (deuda) 3580 3634 deuda = models.ForeignKey(CuentaCapitalDeudaBase, on_delete=models.CASCADE) 3581 3582 3635 3636 3583 3637 @python_2_unicode_compatible 3584 3638 class CuentaCapitalDeudaIntereses(models.Model): 3585 3639 """! 3586 3640 Clase que contiene los registros base de la Cuenta Capital Deuda, en la parte de deudas (intereses) 3587 3641 3588 3642 @author Rodrigo Boet (rboet at cenditel.gob.ve) 3589 3643 @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a> 3590 3644 @date 08-05-2017 3591 3645 @version 1.0.0 3592 """ 3646 """ 3593 3647 ## Valor de los bonos y pagarés 3594 3648 bono_pagare = models.DecimalField( 3595 3649 max_digits=18, decimal_places=2, default=0.0, verbose_name=_("Bonos y Pagarés") 3596 3650 ) 3597 3651 3598 3652 ## Valores del instrumento del mercado monetario 3599 3653 instrumento_mercado = models.DecimalField( 3600 3654 max_digits=18, decimal_places=2, default=0.0, verbose_name=_("Instrumentos del Mercado Monetario") 3601 3655 ) 3602 3656 3603 3657 ## Valores de los cŕeditos comerciales 3604 3658 credito_comercial = models.DecimalField( 3605 3659 max_digits=18, decimal_places=2, default=0.0, verbose_name=_("Créditos Comerciales") 3606 3660 ) 3607 3661 3608 3662 ## Valores del préstamo 3609 3663 prestamo = models.DecimalField( 3610 3664 max_digits=18, decimal_places=2, default=0.0, verbose_name=_("Préstamos") 3611 3665 ) 3612 3666 3613 3667 ## Otros valores 3614 3668 otros = models.DecimalField( 3615 3669 max_digits=18, decimal_places=2, default=0.0, verbose_name=_("Otros") 3616 3670 ) 3617 3671 3618 3672 ## Tipo de dato de la deuda 3619 3673 tipo = models.CharField(max_length=3, choices=SECTOR_DEUDA) 3620 3674 3621 3675 ## Relación con el registro base de la cuenta capital (deuda) 3622 3676 deuda = models.ForeignKey(CuentaCapitalDeudaBase, on_delete=models.CASCADE)
Nota: Vea TracChangeset
para ayuda en el uso del visor de conjuntos de cambios.