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
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")
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")