Impresora Fiscal IBM

Post Reply
User avatar
Adolfo
Posts: 815
Joined: Tue Oct 11, 2005 11:57 am
Location: Chile
Contact:

Impresora Fiscal IBM

Post by Adolfo »

Saludos...

Alguien ha trabajado con impresoras fiscales IBM.

Necesito aclarar alguna dudas, ojala en Chile, por la reglamentacion del servicio de impuestos internos.

Saludos y gracias de antemano
;-) Ji,ji,ji... buena la cosa... "all you need is code"

http://www.xdata.cl - Desarrollo Inteligente
----------
Lenovo Legion Y520, 16GB Ram, 1 TB NVME M.2, 1 TB SSD, GTX 1050
User avatar
Patricio Avalos Aguirre
Posts: 1028
Joined: Fri Oct 07, 2005 1:56 pm
Location: La Serena, Chile
Contact:

Re: Impresora Fiscal IBM

Post by Patricio Avalos Aguirre »

Hola Adolfo

estas trabajando con impresoras fiscales

tengo un cliente que me pidio evaluar el tema, pero no entiendo nada

podris explicar un poco si es posible

saludos
Patrici Avalos Aguirre
La Serena Chile
Saludos
Patricio

__________________________________________________________________
Version: Harbour 3.2.0dev (r1307082134),Compiler: Borland C++ 5.8.2 (32-bit)
PCode version: 0.3, FWH 13.2
http://www.sialm.cl
User avatar
Adolfo
Posts: 815
Joined: Tue Oct 11, 2005 11:57 am
Location: Chile
Contact:

Re: Impresora Fiscal IBM

Post by Adolfo »

Mándame un mail
;-) Ji,ji,ji... buena la cosa... "all you need is code"

http://www.xdata.cl - Desarrollo Inteligente
----------
Lenovo Legion Y520, 16GB Ram, 1 TB NVME M.2, 1 TB SSD, GTX 1050
Pablo
Posts: 16
Joined: Thu Jan 25, 2007 6:18 pm
Location: Chile

Re: Impresora Fiscal IBM

Post by Pablo »

Hola adolfo si te sirve te adjunto un ejemplo en clipper , esto es para las ibm tf6.
te comento yo se muy poco de fivewin y trabajo con dbf es muy dificil pasar de dbf a mysql ?

gracias por tu respuesta

Pablo

//Inicializa puerta //
clear
pto:=0
Sn1:= Sn2:= sn3:= Sn4:= Sn5:= Sn6:= Sn7:= sn8:="N"
@ 01,01 Say "Puerto :" Get pto
@ 02,01 Say "Emitir informe X :" Get SN1 Pict "@!"
@ 03,01 Say "Emitir informe Z :" Get SN2 Pict "@!"
@ 04,01 Say "Inicio de Ventas :" Get SN3 Pict "@!"
@ 05,01 Say "Test de Impresora:" Get SN4 Pict "@!"
@ 06,01 Say "Acumuladores:" Get SN5 Pict "@!"
@ 07,01 Say "Repite linea 18:" Get SN6 Pict "@!"
@ 08,01 Say "Pld Forzado:" Get SN7 Pict "@!"
@ 09,01 Say "Cambiar horario:" Get SN8 Pict "@!"
Read

IniPortTF6(pto)

Set console off
Set Alternate to E_TF6.TXT ADDITIvE
Set Alternate On
Set century on

if Sn6="S"
error:=ImpTf6( pto, "18") && reimprimir linea
quit
endif

if Sn7="S"
error:=ImpTf6( pto, "90") && PLD FORZADO
quit
endif

if Sn5="S"
error:=ImpTf6( pto, "482") && acumuladores
@ 5,0 Say error
quit
endif

if Sn8="S"
horanew:=Space(4)
@ 10,01 Say "Ingrese hora (HHMM):" Get horanew pict "@R 99:99"
Read
datonew:=Subs(Dtoc(Date()),4,2)+Subs(Dtoc(Date()),1,2)+Subs(Dtoc(Date()),7,4)+horanew
error:=ImpTf6( pto,"44"+Datonew) && cambio de fecha hora
@ 5,0 Say error
quit
endif

if Sn1="S"
ImpTf6( pto, "01") && Reporte X
Return
endif
if Sn2="S"
ImpTf6( pto, "021") && Reporte Z
endif
if Sn3="S"
ImpTf6( pto, "32") && Inicio DE ventas
Quit
endif
if Sn4="S"
ImpTf6( pto, "38") && Test Impresora
*ImpTf6( pto, "41111") && seteo indicadores para cambio
quit
endif


/ imprime en TF6 //
func ImpTF6( nPurt, cString )
local nRest:=0 //len(cCadena )
local r
local lret:= .t.
local nEspera := 0
local nMaxEsp := 10
local cStrRet :=""
Local cLeePto :=""
cCadena:= chr( cton("87",16))+cString+ chr( cton("88", 16))
*Cadena:= chr("87")+cString+ chr("88")

nRest := len(cCadena)
while nRest > 0 .and. lRet
if com_dsr(nPurt)
cCadena := right(cCadena, nRest)
nRest := com_send(nPurt, cCadena)
cLeePto:=""
cStrRet:=""
while asc(cLeePto) != 13
cLeePto=com_read(nPurt,1)
if asc(cLeePto)== 10 //
cStrRet="OK"
lRet:=.f.
exit
else
if asc(cLeePto)!=0
cStrRet+= cLeePto
endif
if nEspera >= nMaxEsp
cStrRet+=" TIEMPO DE ESPERA TERMINADO "+dtoc(Date())+" "+Time()
lRet:=.f.
exit
else
inkey(.1)
nEspera+=0.1
endif
endif
endd
elseif nEspera >= nMaxEsp
if alert("No hay respuesta de la Impresora ;" +;
"Revise el estado del dispositivo.",{"Si","No"}) == 2
lRet := .f.
cStrRet:="No hubo Respuesta de la Impresora "+dtoc(Date())+" "+Time()
else
nEspera := 0
end
else
inkey(0.1)
nEspera += 0.1
endif
endd

return cStrRet


// Inicializa la puerta serial para impresora TF6
func IniPortTF6(nPurt, nBaud, cParidad, nLarBit, nBitPar, cMsgError)
local lRet := .f.

*nPurt := 1
nBaud := 19200
cParidad := "N"
nLarBit := 8
nBitPar := 1
cMsgError := "COM" + str(nPurt, 1)
if com_open(nPurt, 1000, 1000)
if com_init(nPurt, nBaud, cParidad, nLarBit, nBitPar)
lRet := .t.
com_hard( nPurt, .t., .t. )
else
com_close(nPurt)
alert("Puerta serial " + cMsgError + " no pudo inicializarse")
end
else
alert("Puerta serial " + cMsgError + " no pudo abrirse")
end
return lRet

Function v_error(coderror)
Ret:=.F.
do case
Case Coderror="003"
Alert("Monto Total del Item No Coincide(003)..!")
Case Coderror="005"
Alert("Memoria Flash fiscal Casi Llena(005)..!")
Case Coderror="006"
Alert("Monto Total de la Transaccion en Cero o Negativo(006)..!")
Case Coderror="007"
Alert("Total de la transaccion No coincide al Total Fiscal(007)..!")
Case Coderror="008"
Alert("Se ha enviado Caracteres no Imprimible(008)..!")
Case Coderror="012"
Alert("Linea de Comentarios Excedidas(012)..!")
Case Coderror="013"
Alert("Impresora No Responde revisar conexiones y encendido(013)..!")
Case Coderror="014"
Alert("Error ocurrido al Leer Memoria flash fiscal(014)..!")
Case Coderror="015"
Alert("Error al Escribir en la Memoria Flash Fiscal(015)..!")
Case Coderror="019"
Alert("Secuencia de comandos no Valida(019)..!")
Case Coderror="025"
Alert("descuento mayor al 50% (025)..!")
Case Coderror="040"
Alert("Impresora No termina de Imprimir(040)..!")
inkey(5)
Ret:=.t.
Case Coderror="043"
Alert("Falta Papel o la Tapa de Impresora est  Abierta(043)..!")
Ret:=.T.
Case Coderror="045"
Alert("No Hay Energia Suficiente para Procesar el comando(045)..!")
Ret:=.T.
Case Coderror="059"
Alert("comando no puede hacerse en periodo de Ventas(059)..!")
Case Coderror="060"
Alert("comando no puede hacerse en periodo de Cierre(059)..!")
Case Coderror="067".or. Coderror="068"
Alert("Debe Ejecutar el Informe Z (067-068)..!")
Case Coderror="076".or.coderror="077"
Alert("Error Grave (076-077)..!")
Case Coderror="080".or. coderror="082"
Alert("Error de impresion Esta la tapa Abierta o se termino el Papel(080)..!")
inkey(5)
Ret:=.T.
Endcase
Return(Ret)
Leo
Posts: 66
Joined: Thu Jan 03, 2013 6:13 pm

Re: Impresora Fiscal IBM

Post by Leo »

Adolfo, si no te molesta, cuales son las dudas que tienes para poder ayudarte, ya he homologado impresoras fiscales, si bien es cierto, son epson, pero todas trabajan más o menos de la misma forma. Además conozco bastante bien la jurisprudencia que regula el funcionamiento de las impresoras fiscales.

Atentamente, Leo.
Fivewin 12.04 + xHarbour 1.2.1 + BCC582

Nada como Fivewin, odio visual basic, visual studio y todas las porquerías visual.
User avatar
Adolfo
Posts: 815
Joined: Tue Oct 11, 2005 11:57 am
Location: Chile
Contact:

Re: Impresora Fiscal IBM

Post by Adolfo »

Leo.

Gracias por el ofrecimiento, ya lo hize, el post original es del 2011 y ya tengo homologadas ambas Epson e IBM.

Patricio, por un problema de tiempo no he podido enviarte los manuales de IBM. Lo comprimo y te lo envio a la tarde, con un ej chico.

Saludos
;-) Ji,ji,ji... buena la cosa... "all you need is code"

http://www.xdata.cl - Desarrollo Inteligente
----------
Lenovo Legion Y520, 16GB Ram, 1 TB NVME M.2, 1 TB SSD, GTX 1050
elmoiquique
Posts: 257
Joined: Wed May 16, 2007 9:40 pm
Location: Iquique Chile

Re: Impresora Fiscal IBM

Post by elmoiquique »

Hola

Adolfo... podrias colocar un ejemplo ... agradeceria tu ayuda

saludos
Fivewin 11.07
elmoiquique
Posts: 257
Joined: Wed May 16, 2007 9:40 pm
Location: Iquique Chile

Re: Impresora Fiscal IBM

Post by elmoiquique »

Hola

Alguien tiene alguna rutina o ejemplo para poder imprimir en laimpresora.... agradeceria su ayuda
Fivewin 11.07
User avatar
Adolfo
Posts: 815
Joined: Tue Oct 11, 2005 11:57 am
Location: Chile
Contact:

Re: Impresora Fiscal IBM

Post by Adolfo »

Te envie manual


Saludos
;-) Ji,ji,ji... buena la cosa... "all you need is code"

http://www.xdata.cl - Desarrollo Inteligente
----------
Lenovo Legion Y520, 16GB Ram, 1 TB NVME M.2, 1 TB SSD, GTX 1050
elmoiquique
Posts: 257
Joined: Wed May 16, 2007 9:40 pm
Location: Iquique Chile

Re: Impresora Fiscal IBM

Post by elmoiquique »

Adolfo wrote:Te envie manual


Saludos
Gracias por el manual,,,, esta completisimo, he hecho algunas prueba ,,puedo sacar el informe pero no he podido extraer datos de la impresora, ya que necesito extraer el ultimo numero de boleta, no se si podrias ayudarme...esto es lo que tengo en el programa

Comando:='481'
cString:= Chr(135) + Comando + Chr(136)
WRITECOMM( nCom, @cString )

//debiera delvolver una cadena de informacion y yo buscar el numero dentro de esa cadena
?str2hex(cstring) //devuelve 8734383188
?hex2str(cstring) // nada
Fivewin 11.07
elmoiquique
Posts: 257
Joined: Wed May 16, 2007 9:40 pm
Location: Iquique Chile

Re: Impresora Fiscal IBM

Post by elmoiquique »

elmoiquique wrote:
Adolfo wrote:Te envie manual


Saludos
Gracias por el manual,,,, esta completisimo, he hecho algunas prueba ,,puedo sacar el informe pero no he podido extraer datos de la impresora, ya que necesito extraer el ultimo numero de boleta, no se si podrias ayudarme...esto es lo que tengo en el programa

Comando:='481'
cString:= Chr(135) + Comando + Chr(136)
WRITECOMM( nCom, @cString )

//debiera delvolver una cadena de informacion y yo buscar el numero dentro de esa cadena
?str2hex(cstring) //devuelve 8734383188
?hex2str(cstring) // nada

lo solucione asi
Comando:='482'
cString:= Chr(135) + Comando + Chr(136)
WRITECOMM( nCom, @cString )
//?str2hex(cString)
msginfo('hhh','vv')
//hex2str(cString)

cBytes:=space(100)
ReadComm( nCom,@cBytes)
?cBytes
Fivewin 11.07
User avatar
Patricio Avalos Aguirre
Posts: 1028
Joined: Fri Oct 07, 2005 1:56 pm
Location: La Serena, Chile
Contact:

Re: Impresora Fiscal IBM

Post by Patricio Avalos Aguirre »

Hola

podrian enviarme el manual

desde ya gracias

patricio_avalos_aguirre@hotmail.com
Saludos
Patricio

__________________________________________________________________
Version: Harbour 3.2.0dev (r1307082134),Compiler: Borland C++ 5.8.2 (32-bit)
PCode version: 0.3, FWH 13.2
http://www.sialm.cl
elmoiquique
Posts: 257
Joined: Wed May 16, 2007 9:40 pm
Location: Iquique Chile

Re: Impresora Fiscal IBM

Post by elmoiquique »

Patricio Avalos Aguirre wrote:Hola

podrian enviarme el manual

desde ya gracias

patricio_avalos_aguirre@hotmail.com

Yo ya estoy trabajando en un programa, pero estoy en los problemas previos, cualquier ayuda es bienvenida

ENVIADO
Fivewin 11.07
Post Reply