def remision_manageview( request, id = None, template_name='ventas/documentos/remisiones/remision.html' ): message = '' connection_name = get_conecctionname(request.session) documento_nuevo = False if id: documento = get_object_or_404( VentasDocumento, pk = id ) else: documento = VentasDocumento() #Cargar formularios if id: documento_form = VentasDocumentoForm( request.POST or None, instance = documento,) documento_items = VentasDocumentoDetalleFormSet(VentasDocumentoDetalleForm, extra=0, can_delete=False) else: initial_data = { 'fecha': datetime.now(),} documento_form = VentasDocumentoForm( request.POST or None, instance = documento, initial= initial_data) documento_items = VentasDocumentoDetalleFormSet(VentasDocumentoDetalleForm, extra=1, can_delete=False) documento_detalle_formset = documento_items(request.POST or None, instance=documento) c = { 'documento_form': documento_form, 'documento_detalle_formset':documento_detalle_formset, 'message':message, } return render_to_response(template_name, c, context_instance=RequestContext(request))
def sucursal_manageview(request, id=None, template_name='config/sucursales/sucursal.html'): """ Sucursal manejador """ message = '' initial_form = None if id: sucursal = get_object_or_404(DatabaseSucursal, pk=id) else: sucursal = DatabaseSucursal() form = DatabaseSucursalForm(request.POST or None, instance=sucursal) if form.is_valid(): sucursal_form = form.save(commit=False) sucursal_form.empresa_conexion = get_conecctionname(request.session) conexion_id, empresa = sucursal_form.sucursal_conexion.split('-') conexion = ConexionDB.objects.get(pk=int(conexion_id)) database_conexion_name = "%s-%s" % (conexion.nombre, empresa) sucursal_form.sucursal_conexion_name = database_conexion_name sucursal_form.save() return HttpResponseRedirect('/sucursales/') c = { 'form': form, } return render_to_response(template_name, c, context_instance=RequestContext(request))
def articulo_consolidado_view( request, clave, template_name='common/articulos/articulo_consoliado.html'): connection_name = get_conecctionname(request.session) resultado_existencias = get_existencia_sucursales_by_articulo_id(clave, connection_name) c= { 'existencias':resultado_existencias['existencias'], 'articulo_nombre':resultado_existencias['articulo_nombre'], } return render_to_response( template_name, c, context_instance = RequestContext( request ) )
def sucursales_view(request, template_name='config/sucursales/sucursales.html'): """ Lista de sucursales de empresa. """ connection_name = get_conecctionname(request.session) c = { 'sucursales': DatabaseSucursal.objects.filter(empresa_conexion=connection_name) } return render_to_response(template_name, c, context_instance=RequestContext(request))
def facturas_View(request, template_name='ventas/herramientas/generar_polizas/generar_polizas.html'): connection_name = get_conecctionname(request.session) if connection_name == '': return HttpResponseRedirect('/select_db/') documentosData = [] polizas_de_devoluciones = [] msg = msg_informacion ='' error = 0 if request.method == 'POST': form = GenerarPolizasManageForm(request.POST) if form.is_valid(): fecha_ini = form.cleaned_data['fecha_ini'] fecha_fin = form.cleaned_data['fecha_fin'] ignorar_documentos_cont = form.cleaned_data['ignorar_documentos_cont'] crear_polizas_por = form.cleaned_data['crear_polizas_por'] crear_polizas_de = form.cleaned_data['crear_polizas_de'] plantilla_facturas = form.cleaned_data['plantilla'] plantilla_devoluciones = form.cleaned_data['plantilla_2'] descripcion = form.cleaned_data['descripcion'] if (crear_polizas_de == 'F' and not plantilla_facturas== None) or (crear_polizas_de == 'D' and not plantilla_devoluciones== None) or (crear_polizas_de == 'FD' and not plantilla_facturas== None and not plantilla_devoluciones== None): documentosData, polizas_de_devoluciones, msg = generar_polizas(fecha_ini, fecha_fin, ignorar_documentos_cont, crear_polizas_por, crear_polizas_de, plantilla_facturas, plantilla_devoluciones, descripcion, connection_name, request.user.username) else: error =1 msg = 'Seleciona una plantilla' if (crear_polizas_de == 'F' or crear_polizas_de=='FD') and documentosData == [] and msg=='': msg = 'Lo siento, no se encontraron facturas para este filtro' elif (crear_polizas_de == 'D' or crear_polizas_de=='FD') and polizas_de_devoluciones == [] and msg=='': msg = 'Lo siento, no se encontraron devoluciones para este filtro' if crear_polizas_de == 'FD' and documentosData == [] and polizas_de_devoluciones == []: msg = 'Lo siento, no se encontraron facturas ni devoluciones para este filtro' if (not documentosData == [] or not polizas_de_devoluciones == []) and error == 0: form = GenerarPolizasManageForm() msg_informacion = 'Polizas generadas satisfactoriamente, *Ahora revisa las polizas pendientes generadas en el modulo de contabilidad' else: form = GenerarPolizasManageForm() c = {'documentos':documentosData, 'polizas_de_devoluciones':polizas_de_devoluciones,'msg':msg,'form':form,'msg_informacion':msg_informacion,} return render_to_response(template_name, c, context_instance=RequestContext(request))
def facturas_view(request, template_name='ventas/documentos/facturas/facturas.html'): connection_name = get_conecctionname(request.session) if connection_name == '': return HttpResponseRedirect('/select_db/') documentos_list = VentasDocumento.objects.filter(tipo='F').order_by('-fecha','cliente') paginator = Paginator(documentos_list, 20) # Muestra 10 ventas por pagina page = request.GET.get('page') #####PARA PAGINACION############## try: documentos = paginator.page(page) except PageNotAnInteger: # If page is not an integer, deliver first page. documentos = paginator.page(1) except EmptyPage: # If page is out of range (e.g. 9999), deliver last page of results. documentos = paginator.page(paginator.num_pages) c = {'documentos':documentos,} return render_to_response(template_name, c, context_instance=RequestContext(request))
def sucursal_manageview( request, id = None, template_name = 'config/sucursales/sucursal.html' ): """ Sucursal manejador """ message = '' initial_form = None if id: sucursal = get_object_or_404( DatabaseSucursal, pk = id) else: sucursal = DatabaseSucursal() form = DatabaseSucursalForm(request.POST or None, instance = sucursal) if form.is_valid(): sucursal_form =form.save(commit=False) sucursal_form.empresa_conexion = get_conecctionname(request.session) conexion_id, empresa = sucursal_form.sucursal_conexion.split('-') conexion = ConexionDB.objects.get(pk=int(conexion_id)) database_conexion_name = "%s-%s"%(conexion.nombre, empresa) sucursal_form.sucursal_conexion_name = database_conexion_name sucursal_form.save() return HttpResponseRedirect( '/sucursales/' ) c = { 'form' : form, } return render_to_response( template_name, c, context_instance = RequestContext( request ) )
def factura_manageView( request, id = None, type='F', template_name='ventas/documentos/facturas/factura.html' ): message = '' connection_name = get_conecctionname(request.session) documento_nuevo = False if id: documento = get_object_or_404( VentasDocumento, pk = id ) else: documento = VentasDocumento() #Cargar formularios if id: documento_form = VentasDocumentoForm( request.POST or None, instance = documento,) documento_items = VentasDocumentoDetalleFormSet(VentasDocumentoDetalleForm, extra=0, can_delete=False) else: initial_data = { 'fecha': datetime.now(),} documento_form = VentasDocumentoForm( request.POST or None, instance = documento, initial= initial_data) documento_items = VentasDocumentoDetalleFormSet(VentasDocumentoDetalleForm, extra=1, can_delete=False) documento_detalle_formset = documento_items(request.POST or None, instance=documento) if documento_detalle_formset.is_valid() and documento_form.is_valid(): documento = documento_form.save(commit=False) cliente = documento.cliente cliente_clave = first_or_none( ClavesClientes.objects.filter( cliente= cliente ) ) cliente_direccion = first_or_none( ClienteDireccion.objects.filter( cliente= cliente ) ) #Si es una documento nueva if not documento.id: documento_nuevo= True documento.caja= first_or_none( Caja.objects.all() ) documento.tipo= 'F' documento.aplicado = 'N' documento.folio= ''#Se deja vacio para que se calcule el folio al guardar documento.fecha= datetime.now() documento.hora= datetime.now().strftime('%H:%M:%S') documento.cliente_clave= cliente_clave documento.cliente = cliente documento.cliente_direccion= cliente_direccion documento.moneda= Moneda.objects.get(pk= 1) documento.impuesto_incluido= 'N' documento.tipo_cambio= 1 documento.descuento_tipo= 'I' #datos de documento global # documento.tipo_gen_fac='R' # documento.es_fac_global='S' # documento.fecha_ini_fac_global = fecha_ini_fac_global # documento.fecha_fin_fac_global = fecha_fin_fac_global documento.porcentaje_descuento=0 documento.sistema_origen='VE' documento.usuario_creador= request.user.username documento.save() # # ventas_en_factura = documento_form.cleaned_data['ventas_en_factura'] # # impuestos_venta_neta = documento_form.cleaned_data['impuestos_venta_neta'].split(',') # # impuestos_otros_impuestos = documento_form.cleaned_data['impuestos_otros_impuestos'].split(',') # # impuestos_importe_impuesto = documento_form.cleaned_data['impuestos_importe_impuesto'].split(',') # # impuestos_porcentaje_impuestos = documento_form.cleaned_data['impuestos_porcentaje_impuestos'].split(',') # # impuestos_ids = documento_form.cleaned_data['impuestos_ids'].split(',') # #Guardar impuestos # for impuesto_id, venta_neta, otros_impuestos, importe_impuesto, porcentaje_impuesto in zip(impuestos_ids, impuestos_venta_neta, impuestos_otros_impuestos, impuestos_importe_impuesto, impuestos_porcentaje_impuestos ): # if impuesto_id != "": # c = connections[connection_name].cursor() # query = '''INSERT INTO "IMPUESTOS_DOCTOS_PV" ("DOCTO_PV_ID", "IMPUESTO_ID", "VENTA_NETA", "OTROS_IMPUESTOS", "PCTJE_IMPUESTO", "IMPORTE_IMPUESTO") \ # VALUES (%s, %s, %s, %s, %s, %s)'''%(documento.id, impuesto_id, venta_neta, otros_impuestos, porcentaje_impuesto, importe_impuesto) # c.execute(query) # c.close() #Se guardan detalles de documento for detalle_form in documento_detalle_formset: detalle = detalle_form.save(commit = False) if not detalle.id: detalle.id = -1 detalle.documento = documento detalle.unidades_surtidas_devueltas = 0 detalle.fpgc_unitario = 0 detalle.comisiones_porcentaje = 0 detalle.rol = 'N' detalle.posicion = -1 detalle.save() message= 'documento guardada' c = { 'documento_form': documento_form, 'documento_detalle_formset':documento_detalle_formset, 'message':message, } return render_to_response(template_name, c, context_instance=RequestContext(request))
def sucursales_view( request, template_name = 'config/sucursales/sucursales.html' ): """ Lista de sucursales de empresa. """ connection_name = get_conecctionname(request.session) c = { 'sucursales' : DatabaseSucursal.objects.filter(empresa_conexion=connection_name) } return render_to_response( template_name, c, context_instance = RequestContext( request ) )