def comprobacion(request): global user per = EstadoPeriodo.objects.filter(periodoActivo=True) if len(per) != 0: return render(request, 'error.html', { 'mensaje': "No se ha cerrado periodo contable", 'link': '/index' }) c = Cuenta.objects.order_by('tipoCuenta_id') tm1 = TipoMonto.objects.get(id=1) tm2 = TipoMonto.objects.get(id=2) trans = Transaccion.objects.all() monto1 = 0 monto2 = 0 p = EstadoPeriodo() for periodo in per: p = periodo for t in trans: t.delete() for cuenta in c: comp = Comprobacion() tran = Transaccion() monto = float(cuenta.saldo) if monto < 0: tran.monto = monto * (-1) tran.tipoMonto = tm2 tran.cuenta = cuenta monto = monto * -1 monto2 = monto2 + monto comp.nombreCuenta = cuenta.nom_cuenta comp.debe = monto comp.haber = 0 else: tran.monto = monto tran.cuenta = cuenta tran.tipoMonto = tm1 monto1 = monto1 + monto comp.nombreCuenta = cuenta.nom_cuenta comp.haber = monto comp.debe = 0 tran.save() comp.estadoPeriodo_id = 28 comprobando = Comprobacion.objects.all() for co in comprobando: if comp.nombreCuenta == co.nombreCuenta: comp.estadoPeriodo_id = co.estadoPeriodo_id comp.debe = co.debe comp.haber = co.haber comp.id = co.id comp.save() trans = Transaccion.objects.all() return render(request, 'comprobacion.html', { 'transaccion': trans, 'cuenta': c, 'm1': monto1, 'm2': monto2 })
def comprobacion(request): global user per = EstadoPeriodo.objects.filter(periodoActivo = True) if len(per) != 0: return render(request ,'error.html',{'mensaje':"No se ha cerrado periodo contable", 'link':'/index'}) c=Cuenta.objects.order_by('tipoCuenta_id') tm1=TipoMonto.objects.get(id=1) tm2=TipoMonto.objects.get(id=2) trans = Transaccion.objects.all() monto1 = 0 monto2 = 0 p = EstadoPeriodo() for periodo in per: p = periodo for t in trans: t.delete() for cuenta in c: comp=Comprobacion() tran=Transaccion() monto=float(cuenta.saldo) if monto<0: tran.monto=monto*(-1) tran.tipoMonto=tm2 tran.cuenta=cuenta monto=monto*-1 monto2 = monto2 + monto comp.nombreCuenta=cuenta.nom_cuenta comp.debe=monto comp.haber=0 else: tran.monto=monto tran.cuenta=cuenta tran.tipoMonto=tm1 monto1 = monto1 + monto comp.nombreCuenta=cuenta.nom_cuenta comp.haber=monto comp.debe=0 tran.save() comp.estadoPeriodo_id=28 comprobando=Comprobacion.objects.all() for co in comprobando: if comp.nombreCuenta == co.nombreCuenta: comp.estadoPeriodo_id=co.estadoPeriodo_id comp.debe=co.debe comp.haber=co.haber comp.id=co.id comp.save() trans = Transaccion.objects.all() return render(request, 'comprobacion.html', {'transaccion':trans,'cuenta':c, 'm1': monto1, 'm2': monto2})
def ajustes(request): global user if user.has_perm('contable.add_estadoperiodo') == False: return render(request ,'error.html',{'mensaje':"No tiene permisos", 'link' : "/index"}) per = EstadoPeriodo.objects.get(periodoActivo = True) if per == None : return render(request ,'error.html',{'mensaje':"No se ha cerrado periodo contable", 'link':'/index'}) if request.method == 'POST': peri = len(EstadoPeriodo.objects.all()) txt = request.POST['cod'] txt2 = "{% extends 'base.html' %}{% block static %}<link rel='stylesheet'href='../static/css/tabla.css'>{% endblock %}{% block titulo %}Periodo{% endblock %}{% block menu %}{% include 'menu.html' %}{% endblock %}{% block contenido %}" archi = open('contable\plantillas\periodo\periodo'+str(peri)+'.html', 'w') archi.write(txt2) archi.write(txt.encode('utf-8')) archi.write("{% endblock %}") archi.close() per.ajuste = True per.save() return HttpResponseRedirect('/index') tm1=TipoMonto.objects.get(id=1) tm2=TipoMonto.objects.get(id=2) #comprobacion antes de ajustes monto1=0 monto2=0 if len(Comprobacion.objects.filter(estadoPeriodo_id = per.id)) == 0 : cuenta = Cuenta.objects.order_by('tipoCuenta_id') for c in cuenta: comp = Comprobacion() monto = float(c.saldo) if monto < 0: monto = monto*-1 monto2 = monto2 + monto comp.nombreCuenta = c.nom_cuenta comp.debe = monto comp.haber = 0 else: monto1 = monto1 + monto comp.nombreCuenta = c.nom_cuenta comp.debe = 0 comp.haber = monto comp.estadoPeriodo_id = per.id comp.save() comp=Comprobacion.objects.filter(estadoPeriodo_id = per.id) else: comp=Comprobacion.objects.filter(estadoPeriodo_id = per.id) for c in comp: monto1=monto1+c.debe monto2=monto2+c.haber c=Cuenta.objects.order_by('tipoCuenta_id') trans = Transaccion.objects.all() monto3 = 0 monto4 = 0 for t in trans: t.delete() for cuenta in c: tran=Transaccion() monto=float(cuenta.saldo) if monto < 0: tran.monto=monto*(-1) tran.tipoMonto=tm2 tran.cuenta=cuenta monto4 = monto4 + monto*(-1) else: tran.monto=monto tran.cuenta=cuenta tran.tipoMonto=tm1 monto3 = monto3 + monto tran.save() trans = Transaccion.objects.all() #estado de resultados resultados=Cuenta.objects.filter(tipoCuenta=4) utilidad = 0 for cuenta in resultados : utilidad = utilidad + cuenta.saldo if utilidad < 0: utilidad = utilidad * -1 habere = 1 else: habere = 2 #estado de capital global capContable capContable=0.0 capitales=Cuenta.objects.filter(tipoCuenta=3) for cuenta in capitales : capContable=capContable+cuenta.saldo if capContable<0: capContable=capContable*-1 if habere==1: capContable=capContable + utilidad haberca = 1 elif habere==2: capContable=capContable - utilidad haberca = 2 #balance general monto5=0 monto6=0 c1=Cuenta.objects.filter(tipoCuenta=1) c2=Cuenta.objects.filter(tipoCuenta=2) for cuenta1 in c1: monto5=monto5+cuenta1.saldo for cuenta2 in c2: monto6=monto6-cuenta2.saldo monto6=monto6+capContable return render(request,'ajustes.html', {'transaccion':trans,'cuenta':c, 'comprobacion':comp,'cuenta':c, 'm1': monto1, 'm2': monto2,'m3':monto3,'m4':monto4,'resultados':resultados,'saldo' : utilidad,'habere' :habere, 'capitales':capitales,'haberca':haberca,'cap':capContable,'activos':c1,'pasivos':c2,'cargo':monto5,'abono':monto6})
def ajustes(request): global user if user.has_perm('contable.add_estadoperiodo') == False: return render(request, 'error.html', { 'mensaje': "No tiene permisos", 'link': "/index" }) per = EstadoPeriodo.objects.filter(periodoActivo=True) if len(per) != 0: return render(request, 'error.html', { 'mensaje': "No se ha cerrado periodo contable", 'link': '/index' }) if request.method == 'POST': per = len(EstadoPeriodo.objects.all()) txt = request.POST['cod'] txt2 = "{% extends 'base.html' %}{% block static %}<link rel='stylesheet'href='../static/css/tabla.css'>{% endblock %}{% block titulo %}Periodo{% endblock %}{% block menu %}{% include 'menu.html' %}{% endblock %}{% block contenido %}" archi = open( 'contable\plantillas\periodo\periodo' + str(per) + '.html', 'w') archi.write(txt2) archi.write(txt.encode('utf-8')) archi.write("{% endblock %}") archi.close() return HttpResponseRedirect('/index') comp = Comprobacion.objects.all() monto1 = 0 monto2 = 0 for c in comp: monto1 = monto1 + c.debe monto2 = monto2 + c.haber c = Cuenta.objects.order_by('tipoCuenta_id') tm1 = TipoMonto.objects.get(id=1) tm2 = TipoMonto.objects.get(id=2) trans = Transaccion.objects.all() monto3 = 0 monto4 = 0 for t in trans: t.delete() for cuenta in c: tran = Transaccion() monto = float(cuenta.saldo) if monto < 0: tran.monto = monto * (-1) tran.tipoMonto = tm2 tran.cuenta = cuenta monto4 = monto4 + monto * (-1) else: tran.monto = monto tran.cuenta = cuenta tran.tipoMonto = tm1 monto3 = monto3 + monto tran.save() #estado de resultados resultados = Cuenta.objects.filter(tipoCuenta=4) utilidad = 0 for cuenta in resultados: utilidad = utilidad + cuenta.saldo if utilidad < 0: utilidad = utilidad * -1 habere = 1 else: habere = 2 #estado de capital global capContable capContable = 0.0 capitales = Cuenta.objects.filter(tipoCuenta=3) for cuenta in capitales: capContable = capContable + cuenta.saldo if capContable < 0: capContable = capContable * -1 if habere == 1: capContable = capContable + utilidad haberca = 1 elif habere == 2: capContable = capContable - utilidad haberca = 2 #balance general monto5 = 0 monto6 = 0 c1 = Cuenta.objects.filter(tipoCuenta=1) c2 = Cuenta.objects.filter(tipoCuenta=2) for cuenta1 in c1: monto5 = monto5 + cuenta1.saldo for cuenta2 in c2: monto6 = monto6 - cuenta2.saldo monto6 = monto6 + capContable return render( request, 'ajustes.html', { 'transaccion': trans, 'cuenta': c, 'comprobacion': comp, 'cuenta': c, 'm1': monto1, 'm2': monto2, 'm3': monto3, 'm4': monto4, 'resultados': resultados, 'saldo': utilidad, 'habere': habere, 'capitales': capitales, 'haberca': haberca, 'cap': capContable, 'activos': c1, 'pasivos': c2, 'cargo': monto5, 'abono': monto6 })