Lo que queria saber es si Delphi trae una función con la cual me pueda deshacer de ellos, o tengo que inventarmela yo mismo?
algo asi como
cCadena := QuitarCaracteres(cCadena);
Escrito 25 noviembre 2008 - 02:29
cCadena := QuitarCaracteres(cCadena);
Escrito 25 noviembre 2008 - 03:47
Escrito 25 noviembre 2008 - 04:04
[OFF TOPIC]¿Alguién sabe de algún tutorial, manual o recurso para el manejo de las impresiones de este tipo?[/OFF TOPIC]
Escrito 25 noviembre 2008 - 04:06
function QuitarCaracteres(Str: String): String; var i: Integer; begin Result:= EmptyStr; for i:= 1 to Length(Str) do if Str[i] < #128 then Result:= Result + Str[i]; end;
Escrito 25 noviembre 2008 - 04:10
Escrito 25 noviembre 2008 - 08:26
Pues la verdad no... en realidad no he tenido que trabajar con estas impresoras, pero si me gustaria conocer algo al respecto... quiza pronto lo tenga que hacer
[OFF TOPIC]¿Alguién sabe de algún tutorial, manual o recurso para el manejo de las impresiones de este tipo?[/OFF TOPIC]
eso depende de la impresora y del fabricante del chip de la memoria Fiscal, ¿tienes algúna en especifica?
Escrito 26 noviembre 2008 - 07:32
Escrito 26 noviembre 2008 - 08:50
en verdad no es nada del otro mundo, simplemente le envias los datos del cliente con cierto formato y los datos del producto vendido. ella se encarga de estructurar el formato de tal manera que salga una factura autorizada por el ministerio o organismo encargado de llevar los impuestos en el pais.
A "grosso modo" ellas lo que tienen es una memoria interna que permite almacenar estos montos por fecha, y a la hora de fiscalizar sacan un reporte llevando el control del impuesto cobrado en ese punto de venta.
Escrito 26 noviembre 2008 - 08:59
Escrito 26 noviembre 2008 - 09:47
Claro, entonces se registran los codigos e impuestos que aplican para cada pais, ejemplo aca: NIT (Número de Identificación Tributaria), IVA (Impuesto al Valor Agregado)...lo has entendido bien, solo que ticket = Factura
Escrito 26 noviembre 2008 - 10:00
Escrito 26 noviembre 2008 - 10:02
procedure TfrEpson.EnviarFactura; var cCadena: String; begin //abre la factura fiscal // 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 // cmd - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 cCadena := #64#28 + 'EDUARDO COLMENARES' + #28 + 'V-14116252' + #28#127#28#127#28#127#28#127#28 + 'T' + #28#127#28#127; EnviarComando(cCadena); //espera que este lista la impresora lEsperar := True; nVan := 0; while lEsperar do begin Application.ProcessMessages; end; //texto en factura fiscal // 1 2 3 4 5 //CMD - 1 - 2 cCadena := #65#28 + 'DIRECCION: FUNDACION MENDOZA' + #28 + 'S'; EnviarComando(cCadena); //espera que este lista la impresora lEsperar := True; nVan := 0; while lEsperar do begin Application.ProcessMessages; end; //imprimir item // 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 // CMD - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 cCadena := #66#28 + 'CORTE' + #28 + '1000' + #28 + '2385' + #28 + '0900' + #28 + 'M' + #28#127#28#127#28#127; EnviarComando(cCadena); //espera que este lista la impresora lEsperar := True; nVan := 0; while lEsperar do begin Application.ProcessMessages; end; //CERRAR FACTURA FISCAL // 1 2 3 // cmd - 1 cCadena := #69#28 + 'T'; EnviarComando(cCadena); //espera que este lista la impresora lEsperar := True; nVan := 0; while lEsperar do begin Application.ProcessMessages; end; end;
procedure TfrEpson.enviarcomando(Comando: String); var nSuma, nSecuencia, I: Integer; cCadena: String; const _ESPERA = 800; begin //Envia un comando a la impresora //Toma la secuencia nSecuencia := 0; while (nSecuencia < 32) or (nSecuencia > 126) do begin nSecuencia := Random(127); end; //Arma la primera parte de la cadena //STX + SEC + COMANDO + ETX + BCC cCadena := #2 + chr(nSecuencia) + Comando + #03; //calcula BCC nSuma := 0; For i := 0 To Length(cCadena) do begin //calcula el valor en ASCII de una cadena. nSuma := Integer(Char(cCadena[i])) + nSuma; //y lo devuelve en suma. end; //Agrega el bcc a la cadena cCadena := cCadena + InttoHex(nSuma, 4); txEnvios.Lines.Add(cCadena); Port.PutString(cCadena); end;
Escrito 26 noviembre 2008 - 10:29
Gracias amigo, me imagino que con el canvas tendria algo parecido al ejemplo que me dan, respecto a la complejidad claro; ahora vía reporteador ¿podria ser mas simple?, pero ¿y que tan recomendado?Si te refieres a cómo diseñar un ticket o cómo se hace el ticket, pues algunos lo hacemos via Canvas otros lo hacen vía reporteador.
Saludos.
Escrito 26 noviembre 2008 - 10:35
Escrito 26 noviembre 2008 - 10:38
¿Que tan diferentes podrian ser?...es una fiscal y no una TMU normal?
Escrito 26 noviembre 2008 - 10:44
Escrito 26 noviembre 2008 - 10:49
Escrito 26 noviembre 2008 - 10:58
Escrito 26 noviembre 2008 - 11:00
Escrito 26 noviembre 2008 - 11:11
Re-graciasEn que la Fiscal se le anexa una memoria para guardar el registro de las ventas y del IVA o Impuesto a las ventas, esta memoria no puede ser modificada y solo es leida para sacar los reportes de venta y declaraciones al Fisco.
Una TMU es una impresora mas, común y silvestre, que tiene sus drivers y demas facilidades para programar, mientras que la fiscal debe ser por secuencia de escape tal cual se muestra en el ejemplo.
¿Ahora me daras la culpa a mi?Sí Eduardo, sé la diferencia, sólo que Felipe no especificó
, y lo dije en sentido general