Beispiel #1
0
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})
Beispiel #2
0
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})
Beispiel #3
0
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
    })