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 albaranes o toda la información de la ventana.\n¿Desea imprimir también el contenido de los albaranes?", padre = self.wids['ventana']) if resp: tv = self.wids['tv_datos'] tv.expand_all() while gtk.events_pending(): gtk.main_iteration(False) itertotal = tv.get_model().append(None, ("",)*8 + ("TOTAL", self.wids['e_total'].get_text()) + ("", )*2 + (0, )) else: tv = self.wids['tv_datos'] tv.collapse_all() while gtk.events_pending(): gtk.main_iteration(False) tv = convertir_a_listview(tv) # Me sobran algunas columnas tv.remove_column(tv.get_columns()[2]) tv.remove_column(tv.get_columns()[3]) tv.remove_column(tv.get_columns()[3]) tv.remove_column(tv.get_columns()[3]) tv.remove_column(tv.get_columns()[3]) tv.remove_column(tv.get_columns()[3]) tv.remove_column(tv.get_columns()[-1]) tv.remove_column(tv.get_columns()[-1]) tv.get_column(2).set_title("Proveedor") model = tv.get_model() # Chapuza para mover los datos de la columna, pensaba que se eliminaban al quitar las columnas del TV. for fila in model: fila[2], fila[3] = fila[3],fila[9] itertotal = model.append(("", "", "TOTAL", self.wids['e_total'].get_text()) + ("", )*8 + (0, ) ) idproveedor = utils.combo_get_value(self.wids['cbe_proveedor']) if idproveedor > 1: try: nomproveedor = pclases.Proveedor.get(idproveedor).nombre except: nomproveedor = "?" else: nomproveedor = "proveedores" abrir_pdf(treeview2pdf(tv, titulo = "Compras a %s" % (nomproveedor), fecha = strfecha)) tv.get_model().remove(itertotal) if self.wids['notebook1'].get_current_page() == 0: self.wids['notebook1'].next_page() self.wids['notebook1'].realize() while gtk.events_pending(): gtk.main_iteration(False) self.wids['notebook1'].prev_page() abrir_pdf(treeview2pdf(self.wids['tv_proveedor'], titulo = "Compras por proveedor y producto", fecha = strfecha))
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 strdiaini = self.wids["e_fechainicio"].get_text() strdiafin = self.wids["e_fechafin"].get_text() self.wids["tv_datos_cobros_formapago"].expand_all() self.wids["tv_datos_vtos_formapago"].expand_all() memento = self.wids["notebook1"].get_current_page() self.wids["notebook1"].set_current_page(1) while gtk.events_pending(): gtk.main_iteration(False) self.wids["notebook1"].set_current_page(2) while gtk.events_pending(): gtk.main_iteration(False) self.wids["notebook1"].set_current_page(memento) abrir_pdf( treeview2pdf( self.wids["tv_datos"], titulo="Vencimientos y cobros por fecha", fecha="Del %s al %s" % (strdiaini, strdiafin), extra_data=( ("", "", "TOTAL COBROS: ", self.wids["e_cobros"].get_text()), ("", "", "TOTAL VENCIMIENTOS: ", self.wids["e_vencimientos"].get_text()), ("", "", "TOTAL PENDIENTE DE COBRO: ", self.wids["e_total"].get_text()), ), ) ) abrir_pdf( treeview2pdf( self.wids["tv_datos_cobros_formapago"], titulo="Cobros por forma de pago", fecha="Del %s al %s" % (strdiaini, strdiafin), extra_data=["TOTAL COBROS: ", self.wids["e_cobros"].get_text()], ) ) abrir_pdf( treeview2pdf( self.wids["tv_datos_vtos_formapago"], titulo="Vencimientos por forma de pago", fecha="Del %s al %s" % (strdiaini, strdiafin), extra_data=["TOTAL VENCIMIENTOS: ", self.wids["e_vencimientos"].get_text()], ) )
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()])))
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)
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))
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)
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): """ 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)
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))
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))
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 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")) ) abrir_pdf( treeview2pdf( self.wids["tv_entrada"], titulo="Albaranes de entrada pendientes de facturar", fecha=fechaInforme, extra_data=[ ["", "", "Albaranes de entrada sin facturar:", self.wids["e_total_entrada"].get_text()], ["", "", "Valor entradas sin facturar:", self.wids["e_euros_entrada"].get_text()], ], ) ) abrir_pdf( treeview2pdf( self.wids["tv_salida"], titulo="Albaranes de salida pendientes de facturar", fecha=fechaInforme, extra_data=( ("", "", "Albaranes de salida sin facturar:", self.wids["e_total_salida"].get_text()), ("", "", "Valor entradas sin facturar:", self.wids["e_euros_salida"].get_text()), ), ) ) abrir_pdf( treeview2pdf(self.wids["tv_producto"], titulo="Pendiente de facturar por producto", fecha=fechaInforme) )
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))
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 strdiaini = self.wids['e_fecha_ini'].get_text() strdiafin = self.wids['e_fecha_fin'].get_text() abrir_pdf(treeview2pdf(self.wids['tv_horas'], titulo = "Horas trabajadas", fecha = "Del %s al %s" % (strdiaini, strdiafin)))
def imprimir(self, boton): """ "Vuerca-vuerca" el TreeView en un PDF. """ import sys, os, datetime sys.path.append(os.path.join("..", "informes")) from treeview2pdf import treeview2pdf from informes import abrir_pdf strfecha = utils.str_fecha(datetime.date.today()) tv = self.wids['tv_datos'] abrir_pdf(treeview2pdf(tv, titulo = "Productos", fecha = strfecha, apaisado = True))
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 strdiaini = self.wids['e_fechainicio'].get_text() strdiafin = self.wids['e_fechafin'].get_text() abrir_pdf(treeview2pdf(self.wids['tv_datos'], titulo = "Vencimientos y cobros por fecha", fecha = "Del %s al %s" % (strdiaini, strdiafin)))
def imprimir(self, boton): """ Prepara la vista preliminar para la impresión del informe. """ tv = self.wids["tv_datos"] titulo = "Pendientes de cobro" from treeview2pdf import treeview2pdf from informes import abrir_pdf strfecha = "%s - %s" % (self.wids["e_fechaini"].get_text(), self.wids["e_fechafin"].get_text()) nomarchivo = treeview2pdf(tv, titulo=titulo, fecha=strfecha, apaisado=False) abrir_pdf(nomarchivo)
def imprimir(self, boton): 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, titulo = "Resumen horas por empleado y día", fecha = self.wids['e_fechainicio'].get_text() + " - " + self.wids['e_fechafin'].get_text(), apaisado = False))
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 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")) abrir_pdf(treeview2pdf(self.wids['tv_entrada'], titulo = "Albaranes de entrada pendientes de facturar", fecha = fechaInforme)) abrir_pdf(treeview2pdf(self.wids['tv_salida'], titulo = "Albaranes de salida pendientes de facturar", fecha = fechaInforme)) abrir_pdf(treeview2pdf(self.wids['tv_producto'], titulo = "Pendiente de facturar por producto", fecha = fechaInforme))
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, apaisado = False, titulo = "Clientes activos", numcols_a_totalizar = [1, 2]))
def imprimir_totales(self, boton): """ Exporta a PDF el TreeView de detalle. """ tv = self.wids['tv_datos'] from treeview2pdf import treeview2pdf from informes import abrir_pdf strfecha = "%s - %s" % (utils.str_fecha(mx.DateTime.localtime()), utils.str_hora(mx.DateTime.localtime())) abrir_pdf(treeview2pdf(tv, titulo = "Valoración de productos de compra en almacén. TOTALES.", fecha = strfecha, apaisado = False))
def imprimir(self, boton): """ Exporta a PDF el TreeView de detalle. """ tv = self.wids['tv_detalle'] from treeview2pdf import treeview2pdf from informes import abrir_pdf strfecha = "%s - %s" % (utils.str_fecha(datetime.date.today()), utils.str_hora(datetime.datetime.today())) abrir_pdf(treeview2pdf(tv, titulo = "Valoración de productos de compra en almacén.", fecha = strfecha, apaisado = False))
def imprimir(self, boton): """ Prepara la vista preliminar para la impresión del informe """ sys.path.append(os.path.join("..", "informes")) from treeview2pdf import treeview2pdf from informes import abrir_pdf strfecha = utils.str_fecha(datetime.date.today()) informe = treeview2pdf(self.wids['tv_datos'], titulo="Listado de productos con PVP (IVA incluido)", fecha = strfecha) if informe: abrir_pdf(informe)
def imprimir(self, boton): """ "Vuerca-vuerca" el TreeView en un PDF. """ import sys, os, mx, mx.DateTime sys.path.append(os.path.join("..", "informes")) from treeview2pdf import treeview2pdf from informes import abrir_pdf strfecha = utils.str_fecha(mx.DateTime.localtime()) tv = self.wids['tv_datos'] abrir_pdf(treeview2pdf(tv, titulo = "Resultados de proceso de búsqueda por lote", fecha = strfecha, apaisado = False))
def imprimir(self, boton): """ Prepara la vista preliminar para la impresión del informe """ from treeview2pdf import treeview2pdf from informes import abrir_pdf sys.path.append(os.path.join("..", "informes")) fechaini, fechafin = self.get_fechas_mostradas() if fechaini == fechafin: strfecha = fechaini.strftime("%d/%m/%Y") else: strfecha = "De %s a %s" % (fechaini.strftime("%d/%m/%Y"), fechafin.strftime("%d/%m/%Y")) abrir_pdf(treeview2pdf(self.wids["tv_datos"], titulo="Informe diario", fecha=strfecha))
def imprimir(self, boton): """ Exporta a PDF. """ idempl = utils.combo_get_value(self.wids['cb_empleado']) if idempl: nomempl = pclases.Empleado.get(idempl) titulo = "%s: producción diaria." % nomempl.nombre else: titulo = "Producción diaria" strfecha = utils.str_fechahora(mx.DateTime.localtime()) abrir_pdf(treeview2pdf(self.wids['tv_datos'], titulo = titulo, fecha = strfecha))
def imprimir(self, boton): """ "Vuerca-vuerca" el TreeView en un PDF. """ import sys, os, mx, mx.DateTime sys.path.append(os.path.join("..", "informes")) from treeview2pdf import treeview2pdf from informes import abrir_pdf strfecha = utils.str_fecha(mx.DateTime.localtime()) tv = self.wids['tv_pruebas'] desc_prod = self.wids['e_nombre'].get_text() abrir_pdf(treeview2pdf(tv, titulo = "Resultados fluidez %s" % desc_prod, fecha = strfecha, apaisado = False))
def imprimir(self, boton): """ Prepara la vista preliminar para la impresión del informe. """ tv = self.wids['tv_datos'] titulo = "Libro de facturas" from treeview2pdf import treeview2pdf from informes import abrir_pdf strfecha = "%s - %s" % ( self.wids['e_fechaini'].get_text(), self.wids['e_fechafin'].get_text()) nomarchivo = treeview2pdf(tv, titulo = titulo, fecha = strfecha, apaisado = False) abrir_pdf(nomarchivo)
def imprimir(self, boton): """ Prepara la vista preliminar para la impresión del informe """ import os sys.path.append(os.path.join("informes")) from treeview2pdf import treeview2pdf from informes import abrir_pdf if self.inicio == None: strfecha = "Hasta el %s" % self.wids["e_fechafin"].get_text() else: strfecha = "%s - %s" % (self.wids["e_fechainicio"].get_text(), self.wids["e_fechafin"].get_text()) tv = self.wids["tv_datos"] abrir_pdf(treeview2pdf(tv, titulo="Facturación", fecha=strfecha))
def imprimir(self,boton): """ Prepara la vista preliminar para la impresión del informe """ import sys, os, datetime sys.path.append(os.path.join("..", "informes")) from treeview2pdf import treeview2pdf from informes import abrir_pdf fechafin = datetime.date(day = int(self.fin.split("/")[2]), month = int(self.fin.split("/")[1]), year = int(self.fin.split("/")[0])) strfecha = utils.str_fecha(fechafin) if self.inicio != None: fechainicio = datetime.date(day = int(self.inicio.split("/")[2]), month = int(self.inicio.split("/")[1]), year = int(self.inicio.split("/")[0])) strfecha = "Del %s al %s" % (utils.str_fecha(fechainicio), strfecha) tv = self.wids['tv_datos'] abrir_pdf(treeview2pdf(tv, titulo = "Listado facturas pro forma", fecha = strfecha, apaisado = False))
def imprimir(self,boton): """ Prepara la vista preliminar para la impresión del informe """ if not self.lista_empleados: return import sys, os, tempfile tmpdir = tempfile.gettempdir() nomfgraf = "%s.png" % (datetime.date.today().toordinal() * 100 + datetime.datetime.now().second) ruta_grafica = os.path.join(tmpdir, nomfgraf) self.guardar_grafica(ruta_grafica) sys.path.append(os.path.join("..", "informes")) from treeview2pdf import treeview2pdf from informes import abrir_pdf nombre_empleado = ", ".join( [e.get_nombre_completo() for e in self.lista_empleados]) abrir_pdf(treeview2pdf(self.wids['tv_asistencias'], titulo = "Lista de asistencia: %s" % nombre_empleado, fecha = self.get_fecha_mostrada().strftime("%d/%m/%Y"), graficos = [ruta_grafica]))