Ir al contenido


Foto

Función para quitar caracteres especiales...


  • Por favor identifícate para responder
31 respuestas en este tema

#21 enecumene

enecumene

    Webmaster

  • Administrador
  • 7.409 mensajes
  • LocationRepública Dominicana

Escrito 26 noviembre 2008 - 11:14

En el caso de las TMU puedes usar de las dos manera, sólo está a criterio tuyo de cual te resulta más cómodo o factible, aunque generalmente se trabaja con Canvas.

Saludos.
  • 0

#22 felipe

felipe

    Advanced Member

  • Moderador
  • PipPipPip
  • 3.283 mensajes
  • LocationColombia

Escrito 26 noviembre 2008 - 01:16

Gracias por la respuesta Fernando...
Igual y generalmente, este tipo de documentos no se muestran en vista previa sino que se envian directamente a la impresora; me imagino de que ella se encarga de organizar los parámetros que se pasan desde el canvas print para que el documento finalmente salga como deba ser.


Saludos
  • 0

#23 eduarcol

eduarcol

    Advanced Member

  • Moderador
  • PipPipPip
  • 4.483 mensajes
  • LocationVenezuela

Escrito 26 noviembre 2008 - 01:19

nop, en el casa de impresión por canvas tu debes dar las coordenadas para que salga ordenada la factura, aqui un ejemplo que adpate, no recuerdo si lo facilito Seoane o Egostar:



delphi
  1. procedure ImprimirFactura(dsCabeza, dsDetalles: TKbmMemTable; Avance: Integer);
  2. var
  3.   DeviceMode: THandle;
  4.   Device, Driver, Port: array[0..1023] of char;
  5.   ms: Integer; //margen superior
  6.   nLineas: Integer;
  7.  
  8.   procedure SaltarLinea;
  9.   begin
  10.       ms := ms + Sistema.Espaciado;
  11.   end;
  12.   procedure ImprimirLinea(Linea: String);
  13.   begin
  14.       Printer.Canvas.TextOut(Sistema.MargenDerecho, ms, Linea);
  15.       SaltarLinea;
  16.   end;
  17. begin
  18.   //Configura la impresora
  19.   Printer.GetPrinter(Device, Driver, Port, DeviceMode);
  20.   Printer.SetPrinter(PAnsiChar(Sistema.Impresora), Driver, Port, DeviceMode);
  21.   Printer.Title := 'Factura de Venta';
  22.   with Printer do
  23.   begin
  24.     SetMapMode(Printer.Handle,MM_LOMETRIC);
  25.     BeginDoc;
  26.     Canvas.Font.Size:= Sistema.TamayoLetra;
  27.     Canvas.Font.Name := 'TAHOMA';
  28.     //------------Datos del encabezado
  29.     //Empresa
  30.     ImprimirLinea(dsCabeza.fieldbyName('NombreEmpresa').AsString);
  31.     //Factura
  32.     ImprimirLinea(dsCabeza.FieldbyName('Tipo').AsString + ': ' + Sistema.NumeroSerie + '-' + dsCabeza.fieldbyname('Factura').AsString);
  33.     //Datos del Cliente
  34.     ImprimirLinea('RIF: ' + dsCabeza.fieldbyName('Rif').AsString + '    ' + dsCabeza.fieldbyname('FECHA').AsString);
  35.     ImprimirLinea('CLIENTE: ' + dsCabeza.fieldbyName('ClienteNombre').AsString);
  36.     ImprimirLinea('DIRECCION: ' + dsCabeza.fieldbyName('ClienteDireccion').AsString);
  37.     SaltarLinea;
  38.     //Encabezado
  39.     ImprimirLinea('Can Descripcion Unitario Total');
  40.     //Imprime los detalles
  41.     nLineas := 0;
  42.     dsDetalles.First;
  43.     while not dsDetalles.Eof do
  44.     begin
  45.       ImprimirLinea(RPad(dsDetalles.FieldbyName('Cant').AsString, ' ', 4) + RPad(dsDetalles.FieldbyName('Descripcion').AsString, ' ', 10) + LPad(FormatFLoat('#,##0.00', dsDetalles.FieldbyName('PrecioSInIva').asFloat), ' ', 9) + LPad(FormatFLoat('#,##0.00', dsDetalles.FieldbyName('Total').asFloat), ' ', 9));
  46.       Inc(nLineas);
  47.       dsDetalles.Next;
  48.     end;
  49.     while nLineas < Sistema.Lineas do
  50.     begin
  51.       SaltarLinea;
  52.       Inc(nLineas);
  53.     end; //Rellena el numero de las lineas faltantes
  54.     //Imprime el cierre de la factura
  55.     ImprimirLinea('SubTotal: ' + FormatFLoat('#,##0.00', dsCabeza.FieldbyName('SubTotal').AsFloat));
  56.     ImprimirLinea('Desc Lineas: ' + FormatFLoat('#,##0.00', dsCabeza.FieldbyName('DescLineas').AsFloat));
  57.     ImprimirLinea('Descuento: ' + FormatFLoat('#,##0.00', dsCabeza.FieldbyName('Descuentos').AsFloat));
  58.     ImprimirLinea('IVA (' + dsCabeza.FieldbyName('PORCIVA').AsString + '%): ' + FormatFLoat('#,##0.00', dsCabeza.FieldbyName('IVA').AsFloat));
  59.     ImprimirLinea('Total: ' + FormatFLoat('#,##0.00', dsCabeza.FieldbyName('Total').AsFloat));
  60.     ImprimirLinea('PAGADO');
  61.     ImprimirLinea(dsCabeza.FieldbyName('FormaPago').AsString);
  62.     ImprimirLinea(dsCabeza.FieldbyName('Coletilla').AsString);
  63.     if Avance > 0 then
  64.     begin
  65.       ms := ms + Avance;
  66.       ImprimirLinea('-');
  67.     end;
  68.     EndDoc;
  69.   end;
  70. end;
  71.  



En este caso el ticket saldria justificado a la izquierda.


  • 0

#24 enecumene

enecumene

    Webmaster

  • Administrador
  • 7.409 mensajes
  • LocationRepública Dominicana

Escrito 26 noviembre 2008 - 01:25

nop, en el casa de impresión por canvas tu debes dar las coordenadas para que salga ordenada la factura, aqui un ejemplo que adpate, no recuerdo si lo facilito Seoane o Egostar:


Pues te lo facilité yo una vez ;)
  • 0

#25 enecumene

enecumene

    Webmaster

  • Administrador
  • 7.409 mensajes
  • LocationRepública Dominicana

Escrito 26 noviembre 2008 - 01:29

Pues te lo facilité yo una vez ;)


Ahhh no, me equivoqué, bueno el caso es que una vez te facilité algún canvas de impresión. :s
  • 0

#26 eduarcol

eduarcol

    Advanced Member

  • Moderador
  • PipPipPip
  • 4.483 mensajes
  • LocationVenezuela

Escrito 26 noviembre 2008 - 01:32

si ya recorde, mi memoria es malisima, aun no se de quien lo tome, pero tu me enviastes uno que me ayudo a salir de unas dudas y echarlo a andar... Gracias por eso  (y)
  • 0

#27 felipe

felipe

    Advanced Member

  • Moderador
  • PipPipPip
  • 3.283 mensajes
  • LocationColombia

Escrito 26 noviembre 2008 - 01:50

Ahh.. ok Eduardo, mucho mejor con este otro ejemplo...

Y algunos tickets se ven asi...

---------------------------------
l                FACTURA                 
l                                             
l  11/26/2008              3:00 Pm   
l  000000001               Caja 04   
l                                             
PROCUCTO    CANT.    VALOR       
l  Articulo1         2        $ 200                   

l  **TOTAL        2        $ 200
l
---------------------------------   

Conclusion y recomendacion con las TMU : Canvas Print  ;)                                       
  • 0

#28 eduarcol

eduarcol

    Advanced Member

  • Moderador
  • PipPipPip
  • 4.483 mensajes
  • LocationVenezuela

Escrito 26 noviembre 2008 - 02:15

si tu duda ha sido solucionada, colocale la estrellita para futuras referencias, con el codigo que me dio seoane ya consigo lo que quiero  (*)
  • 0

#29 felipe

felipe

    Advanced Member

  • Moderador
  • PipPipPip
  • 3.283 mensajes
  • LocationColombia

Escrito 26 noviembre 2008 - 02:39

si tu duda ha sido solucionada, colocale la estrellita para futuras referencias, con el codigo que me dio seoane ya consigo lo que quiero  (*)

Pues hasta ahora todo muy bien... ya aclare mis dudas; ¿llegará el momento en que tenga que profundizar mas en el tema? tal vez... :D

Lo de la estrella ¿quien y/o como se hace?  ^o|...

[Editado]
  • 0

#30 enecumene

enecumene

    Webmaster

  • Administrador
  • 7.409 mensajes
  • LocationRepública Dominicana

Escrito 26 noviembre 2008 - 02:40

Pues sólo debes editar uno de tus mensajes y poner donde dice ICONO DEL MENSAJE y colocar la estrella

Saludos.
  • 0

#31 FGarcia

FGarcia

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 687 mensajes
  • LocationMéxico

Escrito 26 noviembre 2008 - 08:26

Tengo el manual de programacion de la epson TM-U950 la cual es una impresora con tres vias de impresion: Rollo continuo para auditoria (Journal), ticket de 3" (Slip) y Boleto (Receipt) esta muy pesado por lo que no lo puedo subir a la seccion de manuales, ¿alguien le interesa ? aviseme y vemos como lo ponemos, no me gustaria dejarlo en rapidshare o similares porque despues de un tiempo sino se sube nada mas borran lo que este.
  • 0

#32 eduarcol

eduarcol

    Advanced Member

  • Moderador
  • PipPipPip
  • 4.483 mensajes
  • LocationVenezuela

Escrito 27 noviembre 2008 - 07:04

interesante aporte FGarcia, no se como sera el hosting de la pagina ni que permitira, dejame averiguar, para el que le interese esta es la impresora que dice el amigo Garcia:

[img]http://tbn2.google.com/images?q=tbn:fQPOx3L80toS4M:http://www.scansmart.com/images/u950-lg.jpg[/img]


Siempre he querido programar una de esas, pero por los momentos nadie la ha necesitado
  • 0