コード例 #1
0
ファイル: albaranes_de_entrada.py プロジェクト: pacoqueen/upy
 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))
コード例 #2
0
ファイル: recibos.py プロジェクト: pacoqueen/bbinn
 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)
コード例 #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))
コード例 #4
0
ファイル: consulta_producido.py プロジェクト: pacoqueen/bbinn
 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))
コード例 #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))
コード例 #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)
コード例 #7
0
ファイル: consulta_repuestos.py プロジェクト: pacoqueen/bbinn
    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)
コード例 #8
0
ファイル: tarifas_de_precios.py プロジェクト: pacoqueen/bbinn
 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())))
コード例 #9
0
ファイル: proveedores.py プロジェクト: pacoqueen/upy
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))
コード例 #10
0
ファイル: ausencias.py プロジェクト: pacoqueen/bbinn
    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"]
            )
コード例 #11
0
ファイル: geninformes.py プロジェクト: pacoqueen/dentinn
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]))
コード例 #12
0
ファイル: geninformes.py プロジェクト: pacoqueen/dentinn
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)
コード例 #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)
コード例 #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))
コード例 #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))
コード例 #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)
コード例 #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))
コード例 #18
0
 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))
コード例 #19
0
ファイル: empleados.py プロジェクト: pacoqueen/upy
 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())
コード例 #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))
コード例 #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))
コード例 #22
0
ファイル: consulta_beneficio.py プロジェクト: pacoqueen/upy
 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()])))
コード例 #23
0
ファイル: consulta_existencias.py プロジェクト: pacoqueen/upy
    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))
コード例 #24
0
ファイル: consulta_bajoMinimos.py プロジェクト: pacoqueen/upy
    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()))
コード例 #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)))
コード例 #26
0
ファイル: up_consulta_facturas.py プロジェクト: pacoqueen/upy
 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))
コード例 #27
0
ファイル: factura.py プロジェクト: Virako/fpinn
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))
コード例 #28
0
ファイル: up_listado_grupos.py プロジェクト: pacoqueen/upy
 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))
コード例 #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))
コード例 #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))