def imprimir(self,boton):
     """
     Prepara la vista preliminar para la impresión del informe
     """
     from formularios import reports
     datos = []
     for i in self.resultado:
         if not i[2]:    # i[2] = False cuando es vencimiento normal de la BD
             datos.append((i[1].facturaCompra.numfactura,
                           utils.str_fecha(i[1].fecha),
                           utils.float2str(i[1].importe),
                           i[1].observaciones,
                           i[1].facturaCompra.proveedor.nombre))
         else:   # i[2] = True. Es un vencimiento rescatado de LogicMovimientos.
             datos.append(("LOGIC",      # Esto me va a valer para diferenciar un vto. de la BD de uno de Logic.
                           utils.str_fecha(i[1]['fecha']),
                           utils.float2str(i[1]['importe']),
                           i[1]['comentario'],
                           i[1]['cuenta']))
     if not self.inicio:            
         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(), 
                       "Vencido a la fecha", 
                       self.wids['e_vencido'].get_text()))
         reports.abrir_pdf(geninformes.vencimientosPago(datos,fechaInforme))
    def imprimir(self, boton):
        """
        Prepara la vista preliminar para la impresión del informe
        """
        from formularios import reports

        datos = []
        for pago in self.resultado:
            fra = pago.facturaCompra
            datos.append(
                (
                    fra and fra.numfactura or "",
                    utils.str_fecha(pago.fecha),
                    utils.float2str(pago.importe),
                    pago.observaciones,
                    fra and fra.proveedor and fra.proveedor.nombre or "",
                )
            )
        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(), "", ""))
            reports.abrir_pdf(geninformes.vencimientosPago(datos, fechaInforme))