Exemplo n.º 1
0
def guardar_abono_cxp(request):
    if request.method=="POST":
        tipo = TipoDocumento.objects.get(pk=DOCUMENTO['cxp'])
        doc = Documento()
        doc.tipo_documento = tipo
        doc.codigo = randint(0, 9999999)
        doc.fecha = '2001-01-01'
        doc.guia_remision = '0'
        doc.comprobante_venta = '0'
        doc.referencia = "doc de abono de cxp"
        doc.total_por_pagar = 0
        doc.contabilizado = False
        doc.tiene_anexo = False
        #valor de beneficiario quemado en el codigo, definir si es prooveedor o cliente
        doc.beneficiario = Proveedor.objects.get(pk=1)
        doc.save()
        num_rubros =  int(request.POST['num_rubros'])
        num_abonos = int(request.POST['num_abonos'])
        #guardamos todos los rubros de este documento
        for i in range(0,num_rubros):
            r = RubroDocumento()
            r.es_cancelacion = True
            pk_rubro = request.POST['rubros['+str(i)+'][id_rubro]']
            r.rubro = Rubro.objects.get(pk=pk_rubro)
            r.valor = request.POST['rubros['+str(i)+'][valor]']
            r.ingreso_doc = doc
            print pk_rubro
            r.save()
        #guardamos todos los descuentos que se hayan aplicado a los documentos
        for i in range(0,num_abonos):
            pk_doc = request.POST['abonos['+str(i)+'][pk_doc]']
            descuento = float(request.POST['abonos['+str(i)+'][desc]'])
            docu = Documento.objects.get(pk=pk_doc)
            nuevo_valor = docu.total_por_pagar - descuento
            docu.total_por_pagar = nuevo_valor
            docu.save(update_fields=['total_por_pagar'])
            print "documento actualizado"
    ctx = {}
    return HttpResponse(json.dumps(ctx), content_type="application/json")
Exemplo n.º 2
0
def guardar_doc_ingreso_view(request):
    if request.method=="POST":
        print "inicio"
        documento = Documento()
        documento.codigo=randint(0, 9999999)
        documento.beneficiario=Proveedor.objects.get(pk=request.POST['beneficiario'])
        documento.fecha=request.POST['fecha']
        documento.guia_remision=request.POST['remision']
        documento.referencia=request.POST['referencia']
        documento.comprobante_venta=request.POST['comprobante']
        documento.tipo_documento=TipoDocumento.objects.get(pk=request.POST['tipo'])
        documento.total_por_pagar = 0
        documento.contabilizado = False
        documento.tiene_anexo = False
        documento.save()
        cantidad=int(request.POST['item[]'])
        print "fin"
        descuento=0
        total=request.POST['total']
        subtotal=request.POST['subtotal']
        iva=request.POST['iva']
        subt_iva12 = request.POST['subtotal_iva']
        subt_iva0 = request.POST['subtotal_sin_iva']
        ice = request.POST['ice']
        print ice
        try:
            crearRubrosFacturaCompra( total, subtotal, iva, descuento, subt_iva12, subt_iva0, ice, documento)
        except Exception:
            documento.delete()
        for i in range(1,cantidad):
            pk=request.POST['item['+str(i)+'][pk]']
            precio=request.POST['item['+str(i)+'][precio]']
            cantidad=request.POST['item['+str(i)+'][cantidad]']
            total=float(precio)*int(cantidad)
            guardarDetalleDocumento(documento, pk, cantidad, total)
    ctx={'id':documento.id,'fallo':'true'}
    #envio de vuelta el id de la factura que acabe de guardar en la base
    return HttpResponse(json.dumps(ctx), content_type="application/json")
Exemplo n.º 3
0
def crearDocumento(tipo_documento, beneficiario, codigo=0, fecha="2000-01-01", guia_remision="0", comprobante_venta="0", referencia="-", total_por_pagar=0, contabilizado=False, tiene_anexo=False):
    d = Documento()
    d.codigo  =   codigo
    d.fecha   =   fecha
    d.guia_remision   =   guia_remision
    d.comprobante_venta   =   comprobante_venta
    d.referencia  =   referencia
    #campo usado para ir disminuyendo el total por pagar del documento
    #cuando es enviado a cuentas por pagar
    d.total_por_pagar = total_por_pagar
    d.contabilizado = contabilizado
    d.tiene_anexo = tiene_anexo
    d.tipo_documento = tipo_documento
    d.beneficiario    =   beneficiario
    d.save()
    return d