def nueva_retencion_view(request): if request.method=="POST": retencion = Retencion.objects.get(pk=request.POST['pk_retencion']) concep_re = ConceptoRetencion.objects.get(pk=request.POST['concepto_pk']) imp_renta = request.POST['monto'] base_imponible = request.POST['base'] pk=grabarDetalleRetencion(retencion=retencion, imp_renta=imp_renta, concepto_retencion=concep_re) ctx={"mesanje":"se guardo con exito","pk":pk} return HttpResponse(json.dumps(ctx), content_type="application/json") else: form = RetencionForm() concepto = ConceptoRetencion.objects.all() ctx={"form":form,"concepto":concepto} return render_to_response("contabilidad/nueva_retencion.html",ctx,context_instance=RequestContext(request))
def guardar_anexo_doc(request): if request.method=="POST": print 'llega al post' pk_doc = request.POST['pk_doc'] print pk_doc ra = RegistroAnexoDocumento() doc = Documento.objects.get(pk=pk_doc) print 'obtiene doc' ra.documento = doc ra.sustento = SustentoTributario.objects.get(pk=request.POST['sustento_tributario']) print 'sustento' ra.tipo_comprobante = TipoComprobante.objects.get(pk=request.POST['tipo_comprobante']) print 'comprobante' ra.fecha_emision = request.POST['fecha_emision'] print 'fecha emision' ra.fecha_registro = request.POST['fecha_registro'] print 'fecha registro' ra.tipo_pago = request.POST['pago'] print 'tipo pago' if request.POST['comprobante_retencion'] == 'on': print "guardando el comprobante de retencion" r = Retencion() r.codigo = randint(0, 9999999) r.fecha = request.POST['fecha_registro'] r.ruc = request.POST['ruc'] r.establecimiento = 1 r.emision = 1 r.secuencial = 1 r.contabilizado = False r.beneficiario = Proveedor.objects.get(pk=request.POST['pk_benef']) try: r.save() print 'al guardar retencion' ra.retencion_documento = r ra.save() print 'al guardar registro anexo' try: if request.POST['retencion_bien']: valor1 = request.POST['retencion_bien'] grabarDetalleRetencion(retencion=r, iva_bie=valor1) #en caso de que ocurra algun error, debemos except MultiValueDictKeyError: print "falla en detalle bien" pass try: if request.POST['retencion_servicio']: valor2 = request.POST['retencion_servicio'] grabarDetalleRetencion(retencion=r, iva_serv=valor2) except MultiValueDictKeyError: print "falla en detalle serv" pass try: if request.POST['retencion_cien']: valor3 = request.POST['retencion_cien'] grabarDetalleRetencion(retencion=r, iva_100=valor3) except MultiValueDictKeyError: print "falla en detalle cien" pass doc.tiene_anexo = True doc.save(update_fields=['tiene_anexo']) ctx = {"success":"se ha guardado doc de retencion y anexo","pk_retencion":r.pk} return HttpResponse(json.dumps(ctx), content_type="application/json") except Exception: r.delete() ctx = {"fail":"falla al guardar registro anexo o documento de retencion, posible falla de one to one field"} return HttpResponse(json.dumps(ctx), content_type="application/json") else: print "no guardar el comprobante de retencion" try: ra.save() ctx = {"success":"no se ha guardado doc de retencion pero si el anexo"} return HttpResponse(json.dumps(ctx), content_type="application/json") except Exception: ctx = {"fail":"no se ha guardado doc de retencion ni el anexo por fallo"} return HttpResponse(json.dumps(ctx), content_type="application/json") else: ctx = {} return HttpResponse(json.dumps(ctx), content_type="application/json")