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
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())