Page 1 of 1

Impresora Fiscal IBM

Posted: Tue Dec 06, 2011 1:44 pm
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

Re: Impresora Fiscal IBM

Posted: Thu Jun 13, 2013 10:13 pm
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

Re: Impresora Fiscal IBM

Posted: Fri Jun 14, 2013 12:07 am
by Adolfo
Mándame un mail

Re: Impresora Fiscal IBM

Posted: Sat Jun 15, 2013 2:08 pm
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)

Re: Impresora Fiscal IBM

Posted: Wed Jun 19, 2013 2:04 pm
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.

Re: Impresora Fiscal IBM

Posted: Wed Jun 19, 2013 3:09 pm
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

Re: Impresora Fiscal IBM

Posted: Thu May 29, 2014 7:10 pm
by elmoiquique
Hola

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

saludos

Re: Impresora Fiscal IBM

Posted: Mon Aug 03, 2015 6:03 pm
by elmoiquique
Hola

Alguien tiene alguna rutina o ejemplo para poder imprimir en laimpresora.... agradeceria su ayuda

Re: Impresora Fiscal IBM

Posted: Wed Aug 05, 2015 11:45 am
by Adolfo
Te envie manual


Saludos

Re: Impresora Fiscal IBM

Posted: Wed Aug 05, 2015 9:43 pm
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

Re: Impresora Fiscal IBM

Posted: Wed Aug 05, 2015 10:30 pm
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

Re: Impresora Fiscal IBM

Posted: Thu Aug 06, 2015 9:33 pm
by Patricio Avalos Aguirre
Hola

podrian enviarme el manual

desde ya gracias

patricio_avalos_aguirre@hotmail.com

Re: Impresora Fiscal IBM

Posted: Thu Aug 06, 2015 10:32 pm
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