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
... bueno, eso no lo sabia y menos que tanto aplica en cada pais...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-gracias ... ahora entiendo más cómo funciona la cosa, es entonces el caso de una TMU en donde puedo imprimir desde un reporteador normal, solo ajustandose a su configuración claro...En 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? jejeje... hice la pregunta de ese modo por no saber las diferencias de estas impresoras, pero mira que ahora me es mas claroSí Eduardo, sé la diferencia, sólo que Felipe no especificó , y lo dije en sentido general