Ejemplo n.º 1
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.º 2
0
 def imprimir(self,boton):
     """
     Prepara la vista preliminar para la impresión del informe
     """
     fechastr = self.wids['e_fecha'].get_text()
     fecha = utils.parse_fecha(fechastr)
     fechastr = utils.str_fecha(fecha)
     fechas = pclases.HistorialExistenciasA.get_fechas_cacheadas()
     if fecha not in fechas:
         res = utils.dialogo(
             titulo = "EXISTENCIAS NO CACHEADAS. ¿CONTINUAR?", 
             texto = "La fecha seleccionada no se encuentra precalculada.\n"
                     "Esto implica que el recuento de existencias puede\n"
                     "demorarse incluso horas. Durante este tiempo es \n"
                     "posible que la aplicación no responda.\n\n"
                     "¿Está seguro de que desea continuar?", 
             padre = self.wids['ventana'])
     else:
         res = utils.dialogo(titulo = "¿CONTINUAR?", 
             texto = "La operación puede demorarse durante algún tiempo\n"
                 "y dar la impresión de que la aplicación no responde.\n"
                 "¿Desea continuar?", 
             padre = self.wids['ventana'])
     if not res:
         return
     vpro = ventana_progreso.VentanaProgreso(padre = self.wids['ventana'])
     self.wids['ventana'].window.set_cursor(gtk.gdk.Cursor(gtk.gdk.WATCH))
     vpro.mostrar()
     act = 0.0
     tot = 2 + pclases.Almacen.select().count()
     msgtexto = 'Calculando existencias a %s.' % fechastr
     vpro.set_valor(act/tot, msgtexto)
     vpro._ventana.realize()
     vpro._ventana.window.set_cursor(gtk.gdk.Cursor(gtk.gdk.WATCH))
     while gtk.events_pending(): gtk.main_iteration(False)
     import informes
     try:
         vpro.set_valor(act/tot, msgtexto)
         informes.abrir_pdf(geninformes.existencias_productos('rollos', 
                            fechastr, hasta = fecha))
         act += 1
         vpro.set_valor(act/tot, msgtexto)
         informes.abrir_pdf(geninformes.existencias_productos('balas', 
                            fechastr, hasta = fecha))
         act += 1
         vpro.set_valor(act/tot, msgtexto)
         for a in pclases.Almacen.select(orderBy = "id"):
             informes.abrir_pdf(geninformes.existencias_productos('rollos', 
                                fechastr, hasta = fecha, almacen = a))
             act += 1
             vpro.set_valor(act/tot, msgtexto)
             informes.abrir_pdf(geninformes.existencias_productos('balas', 
                                fechastr, hasta = fecha, almacen = a))
             act += 1
             vpro.set_valor(act/tot, msgtexto)
     finally:
         vpro.ocultar()
         vpro._ventana.window.set_cursor(None)
         self.wids['ventana'].window.set_cursor(None)
Ejemplo n.º 3
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 almacé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(
         'balas', 
         "%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(
                     'balas', 
                     "%s, %s" % (
                         utils.str_fecha(time.localtime()), 
                         time.strftime("%H:%M")), 
                     almacen = a, 
                     ruta_csv = ruta_csv))
     if utils.dialogo(titulo = "¿IMPRIMIR DESGLOSE?", 
                      texto = "¿Desea imprimir un desglose por lote de la"
                              " fibra en almacén?      \n\nNOTA: Puede "
                              "tardar algún tiempo.", 
                      defecto = "No"):
         informes.abrir_pdf(
             geninformes.existencias_fibra_por_lote("%s, %s" % (
                 utils.str_fecha(time.localtime()), 
                 time.strftime("%H:%M"))))