Ejemplo n.º 1
0
 def imprimir(self, boton):
     """
     Crea un impreso del albarán
     """
     self.guardar(None)  # Si se ha olvidado guardar, guardo yo.
     import informes
     albaran = self.objeto
     if albaran.proveedor != None:
         proveedor = albaran.proveedor.nombre
     else:
         proveedor = ''
     pedidos = []
     lineas = []
     for l in albaran.lineasDeCompra:
         if l.pedidoCompra != None:
             numpedido = l.pedidoCompra.numpedido
         else:
             numpedido = '-'
         lineas.append({'codigo': l.productoCompra.codigo, 
                        'descripcion': l.productoCompra.descripcion, 
                        'cantidad': l.cantidad, 
                        'numped': numpedido })
         if l.pedidoCompra != None and l.pedidoCompra.numpedido not in pedidos:
             pedidos.append(l.pedidoCompra.numpedido)
     cadenaPedidos = ','.join(pedidos)
     general = {'albnum':albaran.numalbaran, 
                'fecha':utils.str_fecha(albaran.fecha), 
                'proveedor':proveedor, 
                'pednum':cadenaPedidos}
     observaciones = utils.dialogo_entrada(titulo = 'OBSERVACIONES', 
                                           texto = '¿Desea incluir alguna observación en el albarán?', 
                                           padre = self.wids['ventana'])
     if observaciones == None:
         return
     informes.abrir_pdf(geninformes.albaranEntrada(general, lineas, observaciones))
Ejemplo n.º 2
0
 def imprimir(self, boton):
     """
     Genera y muestra el PDF del recibo bancario.
     """
     import informes
     numrecibo = self.wids['e_numrecibo'].get_text()
     lugar_libramiento = self.wids['e_lugar_libramiento'].get_text()
     importe = self.wids['e_importe'].get_text()
     fecha_libramiento = self.wids['e_fecha_libramiento'].get_text()
     vencimiento = self.wids['e_fecha_vencimiento'].get_text()
     codigo_cliente = self.wids['e_codcliente'].get_text()
     numfactura = self.wids['e_numfactura'].get_text()
     fechafactura = self.wids['e_fecha_factura'].get_text()
     persona_pago = self.wids['e_persona_pago'].get_text()
     domicilio_pago = self.wids['e_domicilio_pago'].get_text()
     # cuenta_pago = self.wids['cbe_cuenta_origen'].child.get_text()
     cuenta_pago = self.wids['cbe_cuenta_bancaria_cliente'].child.get_text()
     nombre_librado = self.wids['e_nombre_librado'].get_text()
     direccion_librado = self.wids['e_direccion_librado'].get_text()
     pdf = geninformes.recibo(numrecibo, 
                              lugar_libramiento, 
                              importe, 
                              fecha_libramiento, 
                              vencimiento, 
                              codigo_cliente, 
                              numfactura, 
                              fechafactura, 
                              persona_pago, 
                              domicilio_pago, 
                              cuenta_pago, 
                              nombre_librado, 
                              direccion_librado)        
     informes.abrir_pdf(pdf)
Ejemplo n.º 3
0
    def imprimir(self,boton):
        """
        Prepara la vista preliminar para la impresión del informe
        """
        import informes
        datos = []
        for i in self.resultado:
#            if len(i.observaciones) > 35:
#                observaciones = i.observaciones[:35]+'...'
#            else:
#                observaciones = i.observaciones        # Ya administra bien el salto de línea. No hace falta cortar.
            observaciones = i.observaciones        # Ya administra bien el salto de línea. No hace falta cortar.
            datos.append((i.tipoDeIncidencia.descripcion,
                          utils.str_hora_corta(i.horainicio),
                          utils.str_hora_corta(i.horafin),
                          utils.str_fecha(i.parteDeProduccion.fecha),
                          utils.str_hora_corta(i.parteDeProduccion.horainicio)+'-'+utils.str_hora_corta(i.parteDeProduccion.horafin),
                          observaciones))

        if (self.inicio) == None:            
            fechaInforme = 'Hasta '+utils.str_fecha(time.strptime(self.fin,"%Y/%m/%d"))
        else:
            fechaInforme = utils.str_fecha(time.strptime(self.inicio,"%Y/%m/%d"))+' - '+utils.str_fecha(time.strptime(self.fin,"%Y/%m/%d"))

        if datos != []:
            informes.abrir_pdf(geninformes.incidencias(datos,fechaInforme))
Ejemplo n.º 4
0
 def imprimir(self,boton):
     """
     Prepara la vista preliminar para la impresión del informe
     """
     import informes
     datos = []
     model = self.wids['tv_datos'].get_model()
     for i in model:
         datos.append((i[0],
                       i[1],
                       i[2]))
     if self.balas != 0:
         datos.append(("", "", ""))
         datos.append(("", "-" * 30 , "-" * 30))
         datos.append(("", "", ""))
         datos.append((" " * 50 + "TOTAL:", "%s m²" % (utils.float2str(self.kilos)), self.balas))
     if self.rollos != 0:
         datos.append(("", "", ""))
         datos.append(("", "-" * 30 , "-" * 30))
         datos.append(("", "", ""))
         datos.append((" " * 50 + "TOTAL:", "%s m²" % (utils.float2str(self.metros)), self.rollos))
     if (self.inicio) == None:            
         fechaInforme = 'Hasta '+utils.str_fecha(time.strptime(self.fin,"%Y/%m/%d"))
     else:
         fechaInforme = utils.str_fecha(time.strptime(self.inicio,"%Y/%m/%d"))+' - '+utils.str_fecha(time.strptime(self.fin,"%Y/%m/%d"))
     if datos != []:
         informes.abrir_pdf(geninformes.producido_produccion(datos, fechaInforme, self.grafico))
Ejemplo n.º 5
0
 def __init__(self, objeto = None, usuario = None):
     """
     Constructor. objeto puede ser un objeto de pclases con el que
     comenzar la ventana (en lugar del primero de la tabla, que es
     el que se muestra por defecto).
     """
     if utils.dialogo(titulo = "¿EXPORTAR A CSV?", 
                      texto = "¿Quiere generar también un archivo CSV por "
                              "cada PDF que se cree a continuación?", 
                      defecto = False, 
                      tiempo = 15):
         csv = True 
         ruta_csv = tempfile.NamedTemporaryFile(suffix = ".csv").name
     else:
         csv = False
         ruta_csv = None
     import informes
     informes.abrir_pdf(geninformes.existencias_productos(
         'rollos', 
         "%s, %s" % (utils.str_fecha(time.localtime()), 
                     time.strftime("%H:%M")), 
         ruta_csv = ruta_csv))
     if pclases.Almacen.select().count() > 1:
         for a in pclases.Almacen.select():
             if csv:
                 ruta_csv = tempfile.NamedTemporaryFile(
                     suffix = "_%s.csv" % a.nombre, 
                     delete = False).name
             informes.abrir_pdf(
                 geninformes.existencias_productos('rollos', "%s, %s" % (
                         utils.str_fecha(time.localtime()), 
                         time.strftime("%H:%M")), 
                     almacen = a, 
                     ruta_csv = ruta_csv))
Ejemplo n.º 6
0
 def imprimir(self, boton):
     """
     Crea un PDF con el contenido del TreeView.
     """
     import sys, os
     sys.path.append(os.path.join("..", "informes"))
     from treeview2pdf import treeview2pdf
     from informes import abrir_pdf
     tv = self.wids['tv_rollos']
     model = tv.get_model()
     model.append(None, ("===", "===", "===", "===", "===", "===", 0))
     model.append(None, ("", 
                         "TOTAL ALMACÉN:", 
                         self.wids['e_total_almacen'].get_text(), 
                         "TOTAL FABRICADO:", 
                         self.wids['e_total_fabricado'].get_text(), 
                         "", 
                         0))
     fecha = "%s hasta %s" % (self.wids['e_fechainicio'].get_text(),
                              self.wids['e_fechafin'].get_text())
     fpdf = treeview2pdf(tv, 
                         titulo = "Rollos defectuosos", 
                         fecha = fecha)
     del model[-1]
     del model[-1]
     abrir_pdf(fpdf)
Ejemplo n.º 7
0
    def __init__(self, objeto = None, usuario = None):
        """
        Constructor. objeto puede ser un objeto de pclases con el que
        comenzar la ventana (en lugar del primero de la tabla, que es
        el que se muestra por defecto).
        """
        import informes, tempfile

        exportar_a_csv_a = None

        if utils.dialogo(titulo = "FILTRAR EXISTENCIAS NULAS", 
                         texto = "¿Desea filtrar ignorando los productos con"
                                 " existencias a cero?"):
            func_informe = geninformes.repuestos_no_nulos
        else:
            func_informe = geninformes.repuestos
        if utils.dialogo(titulo = "EXPORTAR A CSV", 
                         texto = "A continuación se generará el informe en "
                                 "PDF.\n¿Desa también que se exporte a CSV?", 
                         defecto = "No", 
                         tiempo = 10): 
            exportar_a_csv_a = os.path.join(tempfile.gettempdir(), 
                                            "csv_repuestos_%s" % (
                                    mx.DateTime.localtime().strftime("%Y%m%d")))
        pdfs = func_informe(exportar_a_csv_a = exportar_a_csv_a)
        for pdf in pdfs:
            informes.abrir_pdf(pdf)
Ejemplo n.º 8
0
 def imprimir(self, boton):
     """
     Imprime la tarifa en pantalla.
     """
     import informes
     datos = []
     model = self.wids['tabla_productos'].get_model()
     for iter in model: 
         datos.append((iter[0], 
                       iter[1], 
                       "%s €" % (utils.float2str(iter[2], 3)), 
                       "%s €" % (utils.float2str(iter[3], 3))
                     ))
     def cmp_func(x, y):
         """
         Para ordenar por nombre de producto.
         """
         if x[1] < y[1]:
             return -1
         if x[1] > y[1]:
             return 1
         return 0
     datos.sort(cmp_func)
     if datos != []:
         nombre_tarifa = self.wids['cb_nombre_tarifa'].child.get_text()
         informes.abrir_pdf(geninformes.imprimir_tarifa(datos, nombre_tarifa, utils.str_fecha(mx.DateTime.localtime())))
Ejemplo n.º 9
0
def imprimir_listado(boton):
    """
    Imprime el listado de todos los proveedores de la base de datos.
    """
    proveedores = pclases.Proveedor.select(
        pclases.Proveedor.q.inhabilitado == False, orderBy = "nombre")
    abrir_pdf(geninformes.listado_proveedores(proveedores))
Ejemplo n.º 10
0
    def imprimir_ausencia(self, b):
        import informes

        model, iter = self.wids["tv_ausencias"].get_selection().get_selected()
        if iter != None:
            id = model[iter][-1]
            ausencia = pclases.Ausencia.get(id)
            empleado = ausencia.empleado.nombre + " " + ausencia.empleado.apellidos
            centro = ausencia.empleado.centroTrabajo
            if centro != None:
                centro = centro.nombre
            else:
                centro = ""
            fecha = ausencia.fecha
            turno = "______"
            grupo = ausencia.empleado.grupo
            if grupo != None:
                for l in grupo.laborables:
                    if l.fecha == ausencia.fecha:
                        turno = l.turno.nombre
            motivo = ausencia.motivo
            motivos = pclases.Motivo.select()
            informes.abrir_pdf(geninformes.ausencia(empleado, centro, fecha, turno, motivo, motivos))
        else:
            utils.dialogo_info(
                titulo="SELECCIONE AUSENCIA", texto="Seleccione la ausencia a imprimir.", padre=self.wids["ventana"]
            )
Ejemplo n.º 11
0
def probar_podologia():
    import sys, os
    sys.path.append(os.path.join("..", "formularios"))
    sys.path.append(os.path.join("..", "framework"))
    from informes import abrir_pdf
    import pclases
    abrir_pdf(podologia(pclases.Paciente.select()[0]))
Ejemplo n.º 12
0
def probar_fuentes_disponibles():
    """
    Crea y abre un PDF con las fuentes disponibles en la 
    instalación de ReportLab local.
    """
    import sys, os
    sys.path.append(os.path.join("..", "formularios"))
    sys.path.append(os.path.join("..", "framework"))
    from informes import abrir_pdf

    y = A4[1] - 3 * cm
    nomarchivo = "/tmp/muestrafuentes.pdf"
    c = canvas.Canvas(nomarchivo, pagesize = A4)
    i = 0
    for fuente in c.getAvailableFonts():
        c.drawString(3 * cm, y, '%d.- "%s":' % (i, fuente))
        y -= 0.75 * cm
        c.saveState()
        c.setFont(fuente, 14)
        c.drawString(4 * cm, y, "%s a 14." % (fuente))
        c.restoreState()
        y -= 0.75 * cm
        i += 1
    c.save()
    abrir_pdf(nomarchivo)
Ejemplo n.º 13
0
 def imprimir(self, boton):
     """
     Prepara la vista preliminar para la impresión del informe.
     """
     from treeview2pdf import treeview2pdf
     from informes import abrir_pdf
     strfecha = "%s - %s" % (self.wids['e_fechainicio'].get_text(), self.wids['e_fechafin'].get_text())
     resp = utils.dialogo(titulo = "¿IMPRIMIR DESGLOSE?", 
                          texto = "Puede imprimir únicamente los productos o toda la información de la ventana.\n¿Desea imprimir toda la información desglosada?", 
                          padre = self.wids['ventana'])
     tv = clone_treeview(self.wids['tv_datos'])  # Para respetar el orden del treeview original y que no afecte a las filas 
                                                 # de totales que añado después. Si las añado al original directamente se 
                                                 # mostrarán en el orden que correspondería en lugar de al final.
     model = tv.get_model()
     fila_sep = model.append(None, ("===",) * 6)
     fila_total_gtx = model.append(None, ("Total m² geotextiles", self.wids['e_total_metros'].get_text(), "", "", "", ""))
     fila_total_fibra = model.append(None, ("Total kg fibra", self.wids['e_total_kilos'].get_text(), "", "", "", ""))
     fila_total_otros = model.append(None, ("Total € otros", self.wids['e_total_otros'].get_text(), "", "", "", ""))
     if resp:
         tv.expand_all()
         while gtk.events_pending(): gtk.main_iteration(False)
     else:
         tv.collapse_all()
         while gtk.events_pending(): gtk.main_iteration(False)
         tv = convertir_a_listview(tv)
         # Para este caso particular me sobran las tres últimas columnas
         tv.remove_column(tv.get_columns()[-1])
         tv.remove_column(tv.get_columns()[-1])
         tv.remove_column(tv.get_columns()[-1])
     abrir_pdf(treeview2pdf(tv, titulo = "Salidas de almacén agrupadas por producto", fecha = strfecha))
     model.remove(fila_sep)
     model.remove(fila_total_gtx)
     model.remove(fila_total_fibra)
     model.remove(fila_total_otros)
Ejemplo n.º 14
0
    def imprimir(self, boton):
        """
        Prepara la vista preliminar para la impresión del informe.
        """
        # TODO: Faltan totales
        resp = utils.dialogo(
            titulo="¿IMPRIMIR DESGLOSE?",
            texto="Puede imprimir un resumen o todo el contenido de la consulta\n¿Desea imprimir toda la información desglosada?",
            padre=self.wids["ventana"],
        )
        if resp:
            tv = self.wids["tv_datos"]
            tv.expand_all()
            while gtk.events_pending():
                gtk.main_iteration(False)
        else:
            tv = self.wids["tv_datos"]
            tv.collapse_all()
            while gtk.events_pending():
                gtk.main_iteration(False)
            from consulta_ventas_por_producto import convertir_a_listview

            tv = convertir_a_listview(tv)
        strfecha = "De %s a %s" % (self.wids["e_fechainicio"].get_text(), self.wids["e_fechafin"].get_text())
        abrir_pdf(treeview2pdf(tv, titulo="Beneficio sobre tarifa", fecha=strfecha))
Ejemplo n.º 15
0
 def imprimir(self,boton):
     """
     Prepara la vista preliminar para la impresión del informe
     """
     import informes
     datos = []
     for pago in self.resultado:
         datos.append((pago.facturaCompra.numfactura,
                       utils.str_fecha(pago.fecha),
                       utils.float2str(pago.importe),
                       pago.observaciones,
                       pago.facturaCompra.proveedor.nombre))
     if (self.inicio) == None:            
         fechaInforme = 'Hasta '+utils.str_fecha(self.fin)
     else:
         fechaInforme = (utils.str_fecha(self.inicio) + ' - ' 
                         + utils.str_fecha(self.fin))
     if datos != []:
         model = self.wids['tv_totales'].get_model()
         datos.append(("---", )*5)
         datos.append(("TOTALES POR MES Y AÑO", ">->", ">->", ">->", ">->"))
         for fila in model:
             datos.append((fila[0], "", fila[1], "", ""))
             iter_filames = model.iter_children(fila.iter)
             while iter_filames:
                 filames = model[iter_filames]
                 datos.append(("", filames[0], filames[1], "", ""))
                 iter_filames = model.iter_next(iter_filames)
         datos.append(("---", )*5)
         datos.append(("", 
                       "Total", 
                       self.wids['e_total'].get_text(), 
                       "", 
                       ""))
         informes.abrir_pdf(geninformes.vencimientosPago(datos,fechaInforme))
Ejemplo n.º 16
0
 def imprimir(self, boton):
     """
     Prepara la vista preliminar para la impresión del informe
     """
     import sys, os
     sys.path.append(os.path.join("..", "informes"))
     from treeview2pdf import treeview2pdf
     from informes import abrir_pdf
     idcliente = utils.combo_get_value(self.wids['cmbe_cliente'])
     if idcliente == None:
         utils.dialogo_info(titulo = 'ERROR',
                            texto = 'Seleccione un cliente',
                            padre = self.wids['ventana'])
     else:
         idcliente = utils.combo_get_value(self.wids['cmbe_cliente'])
         self.cliente = pclases.Cliente.get(idcliente)
         cliente = self.cliente
         if self.inicio == None:            
             fechaInforme = 'Hasta ' + utils.str_fecha(time.strptime(self.fin, "%Y/%m/%d"))
         else:
             fechaInforme = utils.str_fecha(time.strptime(self.inicio, "%Y/%m/%d")) + ' - ' + utils.str_fecha(time.strptime(self.fin, "%Y/%m/%d"))
     
         strfecha = fechaInforme
         informe = treeview2pdf(self.wids['tv_datos'], 
                     titulo = "Productos comprados por " + cliente.nombre, 
                     fecha = strfecha) 
         if informe:
             abrir_pdf(informe)
Ejemplo n.º 17
0
 def imprimir(self, boton):
     """
     Prepara la vista preliminar para la impresión del informe.
     """
     resp = utils.dialogo(titulo = "¿IMPRIMIR DESGLOSE?", 
                          texto = "Puede imprimir un resumen o todo el "
                                  "contenido de la consulta\n"
                                  "¿Desea imprimir toda la información "
                                  "desglosada?", 
                          padre = self.wids['ventana'])
     if resp:
         tv = self.wids['tv_datos']
         tv.expand_all()
         while gtk.events_pending(): gtk.main_iteration(False)
         colstotales = []
     else:
         tv = self.wids['tv_datos']
         tv.collapse_all()
         while gtk.events_pending(): gtk.main_iteration(False)
         from consulta_ventas_por_producto import convertir_a_listview
         tv = convertir_a_listview(tv)
         colstotales = [2, 3, 4]
     strfecha = "De %s a %s" % (self.wids['e_fechainicio'].get_text(), 
                                self.wids['e_fechafin'].get_text())
     abrir_pdf(treeview2pdf(tv, 
                            titulo = "Beneficio sobre tarifa (tickets)", 
                            fecha = strfecha, 
                            numcols_a_totalizar = colstotales))
 def imprimir(self,boton):
     """
     Prepara la vista preliminar para la impresión del informe
     """
     import informes
     datos = []
     lista = self.resultado
   	for elem in lista:
 		datos.append((elem.numpartida,
                 "%.2f" % elem.longitudinal,
                 "%.2f" % elem.transversal,
                 "%.2f" % elem.compresion,
                 "%.2f" % elem.perforacion,
                 "%.2f" % elem.permeabilidad,
                 "%.2f" % elem.poros,
                 "%.2f" % elem.piramidal, 
                 "%.2f" % elem.espesor))
     if (self.inicio) == None:            
         fechaInforme = 'Hasta '+utils.str_fecha(self.fin)
     else:
         fechaInforme = (utils.str_fecha(self.inicio) + ' - ' + 
                         utils.str_fecha(self.fin))
     if datos != []:
         informes.abrir_pdf(geninformes.laboratorioPartidas(datos, 
                                                            fechaInforme))
Ejemplo n.º 19
0
 def imprimir_listado(self, widget):
     """
     Muestra la vista previa de un pdf con el listado de empleados
     junto al código asociado a cada uno
     """
     import informes
     informes.abrir_pdf(geninformes.empleados())
Ejemplo n.º 20
0
    def imprimir(self, boton):
        """
        Prepara la vista preliminar para la impresión del informe
        """
        import informes
        datos = []
        for i in self.resultado:
            datos.append((i.cliente.nombre,
                          utils.str_fecha(i.fecha),
                          i.numpedido,
                          "%s €" % (utils.float2str(i.calcular_importe_total())),
                          i.bloqueado and "Sí" or "No",
                          i.cerrado and "Sí" or "No"))
        datos.append(("", "", "", "---", "", ""))
        datos.append(("%s pedidos listados." % (self.wids['e_total'].get_text()),
                      "",
                      "Importe total:",
                      self.wids['e_importe_total'].get_text(),
                      "",
                      ""))
        if (self.inicio) == None:
            fechaInforme = 'Hasta ' + utils.str_fecha(time.strptime(self.fin, "%Y/%m/%d"))
        else:
            fechaInforme = utils.str_fecha(time.strptime(self.inicio, "%Y/%m/%d")) + ' - ' + utils.str_fecha(time.strptime(self.fin, "%Y/%m/%d"))

        if datos != []:
            informes.abrir_pdf(geninformes.pedidosCliente(datos, self.cliente and self.cliente.nombre or "?", fechaInforme))
Ejemplo n.º 21
0
 def imprimir(self,boton):
     """
     Prepara la vista preliminar para la impresión del informe
     """
     import informes
     datos = []
     # for i in self.resultado:
     #     datos.append((i.cliente.nombre,
     #                 utils.str_fecha(i.fecha),
     #                 i.numalbaran,
     #                 i.nombre))
     model = self.wids['tv_datos'].get_model()
     for i in model:
         datos.append((i[0], i[1], i[2], i[3], i[5]))        
     if (self.inicio) == None:            
         fechaInforme = ('Hasta '   
             + utils.str_fecha(time.strptime(self.fin, "%Y/%m/%d")))
     else:
         fechaInforme = (
             utils.str_fecha(time.strptime(self.inicio,"%Y/%m/%d")) 
             + ' - ' 
             + utils.str_fecha(time.strptime(self.fin,"%Y/%m/%d")))
     if datos != []:
         datos.append(("Total albaranes: ", 
                       self.wids["e_total"].get_text(), 
                       "", "", ""))
         informes.abrir_pdf(
             geninformes.albaranesCliente(datos, 
                 self.cliente and self.cliente.nombre or "", 
                 fechaInforme))
Ejemplo n.º 22
0
 def imprimir(self, boton):
     """
     Prepara la vista preliminar para la impresión del informe.
     """
     resp = utils.dialogo(titulo = "¿IMPRIMIR DESGLOSE?", 
                          texto = "Puede imprimir un resumen o todo el contenido de la consulta\n¿Desea imprimir toda la información desglosada?", 
                          padre = self.wids['ventana'])
     if resp:
         tv = self.wids['tv_datos']
         tv.expand_all()
         while gtk.events_pending(): gtk.main_iteration(False)
     else:
         tv = self.wids['tv_datos']
         tv.collapse_all()
         while gtk.events_pending(): gtk.main_iteration(False)
         from consulta_ventas_por_producto import convertir_a_listview
         tv = convertir_a_listview(tv)
     strfecha = "De %s a %s" % (self.wids['e_fechainicio'].get_text(), self.wids['e_fechafin'].get_text())
     abrir_pdf(treeview2pdf(tv, titulo = "Beneficio sobre tarifa", 
                            fecha = strfecha, 
                            extra_data = (
                                 ["Facturado: ", 
                                  self.wids['e_total'].get_text()], 
                                 ["Facturación sin IVA: ", 
                                  self.wids['e_siniva'].get_text()],
                                 ["Beneficio neto: ", 
                                  self.wids['e_beneficio'].get_text()])))
Ejemplo n.º 23
0
    def __init__(self, objeto = None, usuario = None):
        """
        Constructor. objeto puede ser un objeto de pclases con el que
        comenzar la ventana (en lugar del primero de la tabla, que es
        el que se muestra por defecto).
        """
        import informes, tempfile

        exportar_a_csv_a = None

        if utils.dialogo(titulo = "FILTRAR EXISTENCIAS NULAS", 
                         texto = "¿Desea filtrar ignorando los productos con existencias a cero?"):
            func_informe = geninformes.existencias_no_nulas
            #informes.abrir_pdf(geninformes.existencias_no_nulas(exportar_a_csv_a = "/tmp/t.csv"))
        else:
            #informes.abrir_pdf(geninformes.existencias())
            func_informe = geninformes.existencias
        # informes.abrir_pdf(geninformes._existencias())
        if utils.dialogo(titulo = "EXPORTAR A CSV", 
                         texto = "A continuación se generará el informe en PDF.\n¿Desa también que se exporte a CSV?", 
                         defecto = "No", 
                         tiempo = 10): 
            exportar_a_csv_a = os.path.join(tempfile.gettempdir(), 
                                            "csv_existencias_%s" % (
                                    datetime.date.today().strftime("%Y%m%d")))
                
        informes.abrir_pdf(func_informe(exportar_a_csv_a = exportar_a_csv_a))
Ejemplo n.º 24
0
    def imprimir(self,boton):
        """
        Prepara la vista preliminar para la impresión del informe
        """
        import informes
        if self.resultado != []:
            datos = []
            if isinstance(self.resultado[0],tuple):
            # Listado de productos de venta
                titulo = 'Productos bajo mínimos'
                for item in self.resultado:
                    datos.append((item[0].codigo,
                                    item[0].descripcion,
                                    item[0].minimo,
                                    item[1]))

            else:
            # Listado de productos de compra (materiales)
                titulo = 'Materiales bajo mínimos'
                for item in self.resultado:
                    datos.append((item.codigo,
                                 item.descripcion,
                                 item.minimo,
                                 item.existencias))
            informes.abrir_pdf(geninformes.bajoMinimos(
                                titulo, 
                                datos, 
                                utils.str_fecha(datetime.datetime.today()), 
                                self.wids['cbe_proveedor'].child.get_text()))
Ejemplo n.º 25
0
 def imprimir(self,boton):
     """
     Prepara la vista preliminar para la impresión del informe
     """
     import informes
     datos = []
     total = 0
     self.resultados.sort(self.por_fecha_ldc)
     for ldc in self.resultados:
         subtotal = ldc.cantidad * ldc.precio
         datos.append((ldc.nombre_proveedor,
                       ldc.albaranEntrada.numalbaran,
                       utils.str_fecha(ldc.albaranEntrada.fecha),
                       ldc.descripcion_productoCompra,
                       utils.float2str(ldc.cantidad),
                       utils.float2str(ldc.precio),
                       utils.float2str(subtotal)
                     ))
         total += subtotal
     if len(self.resultados) > 0:
         datos.append(("", "", "", "", "", "", "-"*20))
         datos.append(("", "", "", "", "", "", utils.float2str(total)))
     if (self.inicio) == None:            
         fechaInforme = 'Hasta '+utils.str_fecha(self.fin)
     else:
         fechaInforme = utils.str_fecha(self.inicio)+' - '+utils.str_fecha(self.fin)
     if datos != []:
         informes.abrir_pdf(geninformes.entradasAlmacen(datos,fechaInforme, cols_a_derecha=(4, 5, 6)))
Ejemplo n.º 26
0
 def imprimir(self, boton):
     """
     Prepara la vista preliminar para la impresión del informe.
     """
     tv = self.wids['tv_datos']
     strfecha = "De %s a %s" % (self.wids['e_fechainicio'].get_text(), 
                                self.wids['e_fechafin'].get_text())
     abrir_pdf(treeview2pdf(tv, titulo = "Beneficio sobre tarifa", 
                            fecha = strfecha))
Ejemplo n.º 27
0
def prueba_factura():
    sys.path.append("../formularios")
    from informes import abrir_pdf

    abrir_pdf(go_from_facturaVenta(pclases.FacturaVenta.select(orderBy="-id")[0]))
    import time

    time.sleep(1)
    abrir_pdf(go_from_facturaVenta(pclases.FacturaVenta.select(orderBy="-id")[0], True))
Ejemplo n.º 28
0
 def imprimir(self, boton):
     """
     Prepara la vista preliminar para la impresión del informe
     """
     import sys, os
     sys.path.append(os.path.join("..", "informes"))
     from treeview2pdf import treeview2pdf
     from informes import abrir_pdf
     tv = self.wids['tv_datos']
     abrir_pdf(treeview2pdf(tv))
Ejemplo n.º 29
0
 def imprimir(self,boton):
     """
     Prepara la vista preliminar para la impresión del informe
     """
     import informes
     fechastr = self.wids['e_fecha'].get_text()
     fecha = utils.parse_fecha(fechastr)
     # informes.abrir_pdf(geninformes.existencias_productos('rollos', fechastr, hasta = fecha))
     # informes.abrir_pdf(geninformes.existencias_productos('balas', fechastr, hasta = fecha))
     informes.abrir_pdf(geninformes.existencias(hasta = fecha))
Ejemplo n.º 30
0
 def imprimir(self, boton):
     """
     Imprime el TreeView de la ventana.
     """
     import sys, os
     sys.path.append(os.path.join("..", "informes"))
     from treeview2pdf import treeview2pdf
     from informes import abrir_pdf
     strfecha = self.wids['e_fecha'].get_text()
     abrir_pdf(treeview2pdf(self.wids['tv_horas'], titulo = "Horas trabajadas", fecha = strfecha))