Ver Mensaje Individual
  #2  
Antiguo 18-12-2009
bubba bubba is offline
Miembro
 
Registrado: jul 2008
Posts: 15
Reputación: 0
bubba Va por buen camino
Cita:
Empezado por andressanchez Ver Mensaje
Hola foristas!

Tengo una aplicacion desarrollada en Delphi 7, Firebird 2.0, ejecutandose en Windows XP y utilizo QuickReport.

Dicha aplicacion tiene un modulo que imprime las facturas en una impresora de tickets de 56mm, la cual es la impresora que esta de manera predeterminada en windows. El detalle esta en que al momento de ver un preview de un listado en formato 8.5 x 11 me muestra el preview en formato de 56mm.

Como solamente se utiliza la impresora de tickets para las facturas he decidido hacer una configuracion en el sistema que me permita guardar cual es la impresora de tickets y luego asignarle por codigo a QuickReport por cual impresora debe imprimir pero no se como hacer esto. He buscado en el foro temas relacionados y no he podido encontrarlo.

Se tambien que quickReport tiene un procedimiento llamado printerSetup que muestra la ventana Imprimir donde el usuario puede elegir la impresora y otras opciones mas. Pero lo que busco es optimizar el proceso de facturar y que el enviar a imprimir a la impresora de tickets sea transparente para el usuario.

Espero puedan ayudarme,

Gracias de antemano.-
Hola Andres,

El año pasado me pasó eso mismo a mí (o parecido, sólo que yo debía imprimir en la impresora de tickets o la de facturas (A4), según el tipo de documento -Ticket de caja o factura-), y encontré la solución haciendo lo siguiente y teniendo en la aplicación el nombre de Windows de cada impresora. Se ha de utilizar la siguiente Unit: Printers (para que reconozca el objeto Printer), y los
campos de mi aplicación que deberás cambiar en la tuya por tus campos o variables son:

tbCabTicketTipo: tipo String, indica "T" = Ticket caja, "F" = Factura

tbParametroImpresoraTickets, tipo String, indica el nombre en Windows de la impresora de tickets.

tbParametroImpresoraFacturas, tipo String, indica el nombre en Windows de la impresora de facturas.

Código Delphi [-]
         for n := 0 to Printer.Printers.Count - 1 do begin
            if tbCabTicketTipo.Value = 'T' then
               begin
                  if tbParametroImpresoraTickets.Value = Printer.Printers.Strings[n] then begin
                     Printer.PrinterIndex := n;
                  end;
               end
            else begin
               if tbParametroImpresoraFacturas.Value = Printer.Printers.Strings[n] then begin
                  Printer.PrinterIndex := n;
               end;
            end;
         end;

Espero que te sirva!

Saludos
Responder Con Cita