Beispiel #1
0
    def imprimir(self):
        #1 cm = 28.346 puntos
        if self.id_venta > 0:
            x = get_margen('margen_izquierdo')
            print x
            x = 3.92 if x is None else float(x['valor'])

            y = get_margen('margen_superior')
            print y
            y = 692.0 if y is None else float(y['valor'])
            y_inicial = y 
            venta = self.obtener_venta()
            if len(venta) == 0:
                return False
            self.c.setFont("Helvetica", 8)
            self.c.drawString(x + 79.08, y, 
                str(self.fecha_parser(venta['fecha'], 'dia')))
            self.c.drawString(x + 118.08, y, 
                str(self.fecha_parser(venta['fecha'], 'mes')))
            self.c.drawString(x + 264.08, y, 
                str(self.fecha_parser(venta['fecha'], 'anyo')))
            y -= 48.14
            items = self.venta_detalle_model.get_records(venta_id=venta['id'])
            if len(items) > 0:
                for item in items:
                    piezas = ' piezas' if int(item['producto_cantidad']) > 1 else ' pieza'
                    self.c.drawString(x, y, str(item['producto_cantidad']) + piezas)
                    self.c.drawString(x + 49.91, y, item['nombre'][0:30])
                    self.c.drawString(x + 165.70, y, '{:20,.2f}'.format(item['producto_precio']))
                    self.c.drawString(x + 214.70, y, '{:20,.2f}'.format(item['subtotal']))
                    y -= 18.06
            self.c.drawString(x + 208.08, y_inicial - 284.0, 
                '{:20,.2f}'.format(float(venta['total'])))
            self.c.drawString(x + 49.08, y_inicial - 308.0, self.total_a_cadena(venta['total']))
            self.c.showPage()
            self.c.setPageSize((432, 544))
            self.c.save()
            reader = get_pdf_reader()
            if reader and reader['valor'] != '':
                subprocess.Popen([reader['valor'], "Ticket.pdf"])
            return True
        else:
            return False
Beispiel #2
0
 def __init__(self, main):
     super(ConfiguracionesFactory, self).__init__()
     self.main = main
     builder = gtk.Builder()
     builder.add_from_file("config_frame.glade")
     self.content = builder.get_object("vbox_content")
     self.entry = builder.get_object("pdf_entry")
     self.entry_margen_superior = builder.get_object("margen_superior")
     self.entry_margen_izquierdo = builder.get_object("margen_izquierdo")
     builder.connect_signals(self)
     self.content.reparent(self)
     self.content.show()
     self.config_model = DataModel('Configuracion')
     reader = get_pdf_reader()
     self.entry.set_text(reader['valor'])
     self.__record_id = reader['id']
     self.margen_izquierdo =  get_margen('margen_izquierdo')
     self.margen_superior = get_margen('margen_superior')
     if self.margen_superior is not None:
         self.entry_margen_superior.set_text(str(self.margen_superior['valor']).strip())
     if self.margen_izquierdo is not None:
         self.entry_margen_izquierdo.set_text(str(self.margen_izquierdo['valor']).strip())