Impresora Fiscal IBM

Impresora Fiscal IBM

Postby Adolfo » Tue Dec 06, 2011 1:44 pm

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
----------
Asus TUF F15, 32GB Ram, 1 TB NVME M.2, 1 TB SSD, GTX 1650
User avatar
Adolfo
 
Posts: 846
Joined: Tue Oct 11, 2005 11:57 am
Location: Chile

Re: Impresora Fiscal IBM

Postby Patricio Avalos Aguirre » Thu Jun 13, 2013 10:13 pm

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
Patricio Avalos Aguirre
 
Posts: 1059
Joined: Fri Oct 07, 2005 1:56 pm
Location: La Serena, Chile

Re: Impresora Fiscal IBM

Postby Adolfo » Fri Jun 14, 2013 12:07 am

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

http://www.xdata.cl - Desarrollo Inteligente
----------
Asus TUF F15, 32GB Ram, 1 TB NVME M.2, 1 TB SSD, GTX 1650
User avatar
Adolfo
 
Posts: 846
Joined: Tue Oct 11, 2005 11:57 am
Location: Chile

Re: Impresora Fiscal IBM

Postby Pablo » Sat Jun 15, 2013 2:08 pm

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)
Pablo
 
Posts: 16
Joined: Thu Jan 25, 2007 6:18 pm
Location: Chile

Re: Impresora Fiscal IBM

Postby Leo » Wed Jun 19, 2013 2:04 pm

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.
Leo
 
Posts: 66
Joined: Thu Jan 03, 2013 6:13 pm

Re: Impresora Fiscal IBM

Postby Adolfo » Wed Jun 19, 2013 3:09 pm

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
----------
Asus TUF F15, 32GB Ram, 1 TB NVME M.2, 1 TB SSD, GTX 1650
User avatar
Adolfo
 
Posts: 846
Joined: Tue Oct 11, 2005 11:57 am
Location: Chile

Re: Impresora Fiscal IBM

Postby elmoiquique » Thu May 29, 2014 7:10 pm

Hola

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

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

Re: Impresora Fiscal IBM

Postby elmoiquique » Mon Aug 03, 2015 6:03 pm

Hola

Alguien tiene alguna rutina o ejemplo para poder imprimir en laimpresora.... agradeceria su ayuda
Fivewin 11.07
elmoiquique
 
Posts: 297
Joined: Wed May 16, 2007 9:40 pm
Location: Iquique Chile

Re: Impresora Fiscal IBM

Postby Adolfo » Wed Aug 05, 2015 11:45 am

Te envie manual


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

http://www.xdata.cl - Desarrollo Inteligente
----------
Asus TUF F15, 32GB Ram, 1 TB NVME M.2, 1 TB SSD, GTX 1650
User avatar
Adolfo
 
Posts: 846
Joined: Tue Oct 11, 2005 11:57 am
Location: Chile

Re: Impresora Fiscal IBM

Postby elmoiquique » Wed Aug 05, 2015 9:43 pm

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: 297
Joined: Wed May 16, 2007 9:40 pm
Location: Iquique Chile

Re: Impresora Fiscal IBM

Postby elmoiquique » Wed Aug 05, 2015 10:30 pm

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
elmoiquique
 
Posts: 297
Joined: Wed May 16, 2007 9:40 pm
Location: Iquique Chile

Re: Impresora Fiscal IBM

Postby Patricio Avalos Aguirre » Thu Aug 06, 2015 9:33 pm

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
User avatar
Patricio Avalos Aguirre
 
Posts: 1059
Joined: Fri Oct 07, 2005 1:56 pm
Location: La Serena, Chile

Re: Impresora Fiscal IBM

Postby elmoiquique » Thu Aug 06, 2015 10:32 pm

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
elmoiquique
 
Posts: 297
Joined: Wed May 16, 2007 9:40 pm
Location: Iquique Chile


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 10 guests