IMPRESORA BIXOLON SRP-350 VENEZUELA

Post Reply
User avatar
joseluisysturiz
Posts: 2024
Joined: Fri Jan 06, 2006 9:28 pm
Location: Guatire - Caracas - Venezuela
Contact:

IMPRESORA BIXOLON SRP-350 VENEZUELA

Post by joseluisysturiz »

Saludos, necesito instalar la impresora fiscal BIXOLON SRP-350 en un sistema de facturacion, no se si con cualquier modelo serviria, estoy bajando el emulador desde la pagina http://www.impresoras-fiscales.com.ar/emulador.htm, alguien tiene las librerias (dll, ocx), manual de comando con los samples o algun codigo que me de alguna idea de como usar esa imresora.? Habia instalado uns Bematech y funciona al pelo, pero con esta no tengo ni idea, de antemano gracias por las sugerencias, ejemplos y ayudas que puedan darme, saludos, gracias... :shock:
Dios no está muerto...

Gracias a mi Dios ante todo!
User avatar
mag071
Posts: 139
Joined: Thu Feb 02, 2006 12:09 pm
Location: Venezuela
Contact:

Re: IMPRESORA BIXOLON SRP-350 VENEZUELA

Post by mag071 »

Saludos Vecino :-)

Yo lo hago con impresoras fiscales de apuestas aquí en Venezuela

http://thefactoryhka.com/ve/
Esta es la pagina web de las personas autorizadas que dan soporte tecnico.
alli tienes una opcion de utilitario donde bajas manuales y demas.


Static Function AbroDllPrinter()
LOCAL lRet:=.F.
LOCAL cDllName:="TFHKADIR.DLL"

hFiscalDll:=LoadLib32(cDllName)
if Abs( hFiscalDLL ) <= 32
MsgAlert( "Error code: " + LTrim( Str( hFiscalDLL ) ) + " loading " + cDllName )
lRet:=.F.
ELSE
lRet:=.T.
endif

Return lRet



DLL32 FUNCTION CheckFprinter() AS LONG PASCAL FROM "CheckFprinter" LIB hFiscalDll

DLL32 FUNCTION OpenFpctrl( lpPortName AS LPSTR ) AS LONG PASCAL FROM "OpenFpctrl" LIB hFiscalDll

DLL32 FUNCTION SendCmd( @status AS LONG, @error AS LONG, cmd AS LPSTR ) AS LONG PASCAL FROM "SendCmd" LIB hFiscalDll

DLL32 FUNCTION ReadFpStatus( @status AS LONG, @error AS LONG ) AS LONG PASCAL FROM "ReadFpStatus" LIB hFiscalDll

DLL32 FUNCTION CloseFpctrl() AS LONG PASCAL FROM "CloseFpctrl" LIB hFiscalDll

DLL32 FUNCTION UploadStatusCmd( @status AS LONG, @error AS LONG, cmd AS LPSTR, cfile AS LPSTR ) AS LONG PASCAL FROM "UploadStatusCmd" LIB hFiscalDll

DLL32 FUNCTION UploadStatusCmdDin( @status AS LONG, @error AS LONG, cmd AS LPSTR, Cadena AS LPSTR ) AS LONG PASCAL FROM "UploadStatusCmdDin" LIB hFiscalDll




//Ejemplo de como sacar un reporte x

MSGSTOP("IMPRESION DE REPORTE X IMPRESORA FISCAL","PULSE UNA TECLA PARA IMPRIMIR")
cmd="I0X"
IF SendCmd(@status, @error, cmd) = 0
MSGSTOP("PROBLEMA CON IMPRESORA FISCAL","REVISE IMPRESORA FISCAL")
ENDIF



//Esto es un ejemplo de una factura lo unico es que es para apuesta de loterias y es distintos los comandos cmd.
//pero para que tengas una idea.

IF lTituloLot
lTituloLot:=.F.
lYaPase:=.T.

IF nI > 1
cmd="3"
if SendCmd(@status, @error, cmd) = 0
MSGSTOP("PROBLEMA CON IMPRESORA FISCAL","REVISE IMPRESORA FISCAL")
Logfile("c:\Vendelot\auditor.log",{"Problema IFA "+cmd})
endif
ENDIF

cFecha:=SubStr(StrZero(Year(DATE()),4),3,2)+;
StrZero(Month(DATE()),2)+;
StrZero(Day(DATE()),2)

cHoraSorteo:=::NombreLoterias(aDat9[nI,1],4)
cNumeroSorteo:=::NumeroSorteo(aDat9[nI,1])

cmd:="!"+::NombreLoterias(aDat9[nI,1],1)+cFecha+cHoraSorteo+cNumeroSorteo+::NombreLoterias(aDat9[nI,1],3)
IF SendCmd(@status, @error, cmd) = 0
MSGSTOP("PROBLEMA CON IMPRESORA FISCAL","REVISE IMPRESORA FISCAL")
Logfile("c:\Vendelot\auditor.log",{"Problema IFA "+cmd})
ENDIF


EndIf


if Len(Alltrim(aDat9[nI,3])) <> nAuxLen
nAuxLen:= Len(Alltrim(aDat9[nI,3]))
lYaPase:=.T.
EndIf

IF lYaPase
lYaPase:=.F.
IF Len(Alltrim(aDat9[nI,3])) = 2 .and. aDat9[nI,8]=1
cmd:="# COLA-->(1:100) "+AllTrim(UPPER(aDat9[nI,2]))
ELSEIF Len(Alltrim(aDat9[nI,3])) = 3 .and. aDat9[nI,8]=1
cmd:="# TRIPLE FIJO(1:1000) "+AllTrim(UPPER(aDat9[nI,2]))
ENDIF
IF Len(Alltrim(aDat9[nI,3])) = 2 .and. aDat9[nI,8]=2
cmd:="# COLA+SIGNO (1:1200) "+AllTrim(UPPER(aDat9[nI,2]))
ELSEIF Len(Alltrim(aDat9[nI,3])) = 3 .and. aDat9[nI,8]=2
cmd:="# TRIP.FIJO+SIGNO(1:12000) "+AllTrim(UPPER(aDat9[nI,2]))
ENDIF
IF Len(Alltrim(aDat9[nI,3])) = 2 .and. aDat9[nI,8]=3
cmd:="# ANIMALITOS (1:32) "+AllTrim(UPPER(aDat9[nI,2]))
ENDIF

IF SendCmd(@status, @error, cmd) = 0
MSGSTOP("PROBLEMA CON IMPRESORA FISCAL","REVISE IMPRESORA FISCAL")
Logfile("c:\Vendelot\auditor.log",{"Problema IFA "+cmd})
ENDIF

ENDIF
//1234567890


cPrecio:=Alltrim(str(aDat9[nI,4]))
if At(".", cPrecio) > 0
nPunto := At(".", cPrecio)
else
cPrecio:=cPrecio+".00"
nPunto := At(".", cPrecio)
endif

cCentimos:=SUBSTR(cPrecio,nPunto+1,2)
IF len(cCentimos) = 0
cCentimos:="00"
ENDIF
IF len(cCentimos) = 1
cCentimos:=cCentimos+"0"
ENDIF

cEntero:=SUBSTR(cPrecio,1,nPunto-1)

nCantidad:= Round(aDat9[nI,4], 2)
nEntero := Int(nCantidad)
nCents := nCantidad - nEntero


IF aDat9[nI,8]=1
cmd:=["]+STRZERO(VAL(cEntero),8)+STRZERO(VAL(cCentimos),2)+"J"+Alltrim(Str(nI))+")"+aDat9[nI,3]
ELSEIF aDat9[nI,8]=2
cmd:=["]+STRZERO(VAL(cEntero),8)+STRZERO(VAL(cCentimos),2)+"J"+Alltrim(Str(nI))+")"+padr(aDat9[nI,5],12)+" "+aDat9[nI,3]
ELSEIF aDat9[nI,8]=3 //NOMBREANIMAL
cmd:=["]+STRZERO(VAL(cEntero),8)+STRZERO(VAL(cCentimos),2)+"J"+Alltrim(Str(nI))+")"+padr(::NombreAnimal(aDat9[nI,3]),12)+" "+aDat9[nI,3]
ENDIF

IF SendCmd(@status, @error, cmd) = 0
MSGSTOP("PROBLEMA CON IMPRESORA FISCAL","REVISE IMPRESORA FISCAL")
Logfile("c:\Vendelot\auditor.log",{"Problema IFA "+cmd})
ENDIF

NEXT
IF nI > 1
cmd:="3"
IF SendCmd(@status, @error, cmd) = 0
MSGSTOP("PROBLEMA CON IMPRESORA FISCAL","REVISE IMPRESORA FISCAL")
Logfile("c:\Vendelot\auditor.log",{"Problema IFA "+cmd})
ENDIF
ENDIF

cmd:="$"
IF SendCmd(@status, @error, cmd) = 0
MSGSTOP("PROBLEMA CON LA IMPRESORA FISCAL","REVISE IMPRESORA FISCAL")
Logfile("c:\Vendelot\auditor.log",{"Problema IFA "+cmd})
ENDIF

nI:=0
For nI:=1 to len(::aSeriales)
cSerial01:=Alltrim(::aSeriales[nI,1])
cmd:=[(]+cSerial01

IF SendCmd(@status, @error, cmd) = 0
MSGSTOP("CODIGO DE VALIDACION CON PROBLEMA","INFORME A SU COMERCIALIZADOR")
Logfile("c:\Vendelot\auditor.log",{"Problema IFA "+cmd})
ENDIF
NEXT

cCop:=StrZero(VAL(::cString),5)+StrZero(Val(oLoterwin:xTaq),2)
cmd:=[)B0]+Alltrim(cCop)
IF SendCmd(@status, @error, cmd) = 0
MSGSTOP("PROBLEMA CON LA IMPRESORA FISCAL","REVISE IMPRESORA FISCAL")
Logfile("c:\Vendelot\auditor.log",{"Problema IFA "+cmd})
ENDIF

cmd:="# Fecha de Juego "+DiaSemana(oLoterwin:dFechaUnica)+" "+Dtoc(oLoterwin:dFechaUnica)
IF SendCmd(@status, @error, cmd) = 0
MSGSTOP("PROBLEMA CON IMPRESORA FISCAL","REVISE IMPRESORA FISCAL")
Logfile("c:\Vendelot\auditor.log",{"Problema IFA "+cmd})
ENDIF


cmd:="*"
IF SendCmd(@status, @error, cmd) = 0
MSGSTOP("PROBLEMA CON LA IMPRESORA FISCAL","REVISE IMPRESORA FISCAL")
Logfile("c:\Vendelot\auditor.log",{"Problema IFA "+cmd})
ENDIF
Mario Antonio González Osal
Venezuela
m a g 0 7 1 @ g m a i l. c o m
User avatar
joseluisysturiz
Posts: 2024
Joined: Fri Jan 06, 2006 9:28 pm
Location: Guatire - Caracas - Venezuela
Contact:

Re: IMPRESORA BIXOLON SRP-350 VENEZUELA

Post by joseluisysturiz »

mag071 wrote:Saludos Vecino :-)

Yo lo hago con impresoras fiscales de apuestas aquí en Venezuela

http://thefactoryhka.com/ve/
Esta es la pagina web de las personas autorizadas que dan soporte tecnico.
alli tienes una opcion de utilitario donde bajas manuales y demas.


Static Function AbroDllPrinter()
LOCAL lRet:=.F.
LOCAL cDllName:="TFHKADIR.DLL"

hFiscalDll:=LoadLib32(cDllName)
if Abs( hFiscalDLL ) <= 32
MsgAlert( "Error code: " + LTrim( Str( hFiscalDLL ) ) + " loading " + cDllName )
lRet:=.F.
ELSE
lRet:=.T.
endif

Return lRet



DLL32 FUNCTION CheckFprinter() AS LONG PASCAL FROM "CheckFprinter" LIB hFiscalDll

DLL32 FUNCTION OpenFpctrl( lpPortName AS LPSTR ) AS LONG PASCAL FROM "OpenFpctrl" LIB hFiscalDll

DLL32 FUNCTION SendCmd( @status AS LONG, @error AS LONG, cmd AS LPSTR ) AS LONG PASCAL FROM "SendCmd" LIB hFiscalDll

DLL32 FUNCTION ReadFpStatus( @status AS LONG, @error AS LONG ) AS LONG PASCAL FROM "ReadFpStatus" LIB hFiscalDll

DLL32 FUNCTION CloseFpctrl() AS LONG PASCAL FROM "CloseFpctrl" LIB hFiscalDll

DLL32 FUNCTION UploadStatusCmd( @status AS LONG, @error AS LONG, cmd AS LPSTR, cfile AS LPSTR ) AS LONG PASCAL FROM "UploadStatusCmd" LIB hFiscalDll

DLL32 FUNCTION UploadStatusCmdDin( @status AS LONG, @error AS LONG, cmd AS LPSTR, Cadena AS LPSTR ) AS LONG PASCAL FROM "UploadStatusCmdDin" LIB hFiscalDll




//Ejemplo de como sacar un reporte x

MSGSTOP("IMPRESION DE REPORTE X IMPRESORA FISCAL","PULSE UNA TECLA PARA IMPRIMIR")
cmd="I0X"
IF SendCmd(@status, @error, cmd) = 0
MSGSTOP("PROBLEMA CON IMPRESORA FISCAL","REVISE IMPRESORA FISCAL")
ENDIF



//Esto es un ejemplo de una factura lo unico es que es para apuesta de loterias y es distintos los comandos cmd.
//pero para que tengas una idea.

IF lTituloLot
lTituloLot:=.F.
lYaPase:=.T.

IF nI > 1
cmd="3"
if SendCmd(@status, @error, cmd) = 0
MSGSTOP("PROBLEMA CON IMPRESORA FISCAL","REVISE IMPRESORA FISCAL")
Logfile("c:\Vendelot\auditor.log",{"Problema IFA "+cmd})
endif
ENDIF

cFecha:=SubStr(StrZero(Year(DATE()),4),3,2)+;
StrZero(Month(DATE()),2)+;
StrZero(Day(DATE()),2)

cHoraSorteo:=::NombreLoterias(aDat9[nI,1],4)
cNumeroSorteo:=::NumeroSorteo(aDat9[nI,1])

cmd:="!"+::NombreLoterias(aDat9[nI,1],1)+cFecha+cHoraSorteo+cNumeroSorteo+::NombreLoterias(aDat9[nI,1],3)
IF SendCmd(@status, @error, cmd) = 0
MSGSTOP("PROBLEMA CON IMPRESORA FISCAL","REVISE IMPRESORA FISCAL")
Logfile("c:\Vendelot\auditor.log",{"Problema IFA "+cmd})
ENDIF


EndIf


if Len(Alltrim(aDat9[nI,3])) <> nAuxLen
nAuxLen:= Len(Alltrim(aDat9[nI,3]))
lYaPase:=.T.
EndIf

IF lYaPase
lYaPase:=.F.
IF Len(Alltrim(aDat9[nI,3])) = 2 .and. aDat9[nI,8]=1
cmd:="# COLA-->(1:100) "+AllTrim(UPPER(aDat9[nI,2]))
ELSEIF Len(Alltrim(aDat9[nI,3])) = 3 .and. aDat9[nI,8]=1
cmd:="# TRIPLE FIJO(1:1000) "+AllTrim(UPPER(aDat9[nI,2]))
ENDIF
IF Len(Alltrim(aDat9[nI,3])) = 2 .and. aDat9[nI,8]=2
cmd:="# COLA+SIGNO (1:1200) "+AllTrim(UPPER(aDat9[nI,2]))
ELSEIF Len(Alltrim(aDat9[nI,3])) = 3 .and. aDat9[nI,8]=2
cmd:="# TRIP.FIJO+SIGNO(1:12000) "+AllTrim(UPPER(aDat9[nI,2]))
ENDIF
IF Len(Alltrim(aDat9[nI,3])) = 2 .and. aDat9[nI,8]=3
cmd:="# ANIMALITOS (1:32) "+AllTrim(UPPER(aDat9[nI,2]))
ENDIF

IF SendCmd(@status, @error, cmd) = 0
MSGSTOP("PROBLEMA CON IMPRESORA FISCAL","REVISE IMPRESORA FISCAL")
Logfile("c:\Vendelot\auditor.log",{"Problema IFA "+cmd})
ENDIF

ENDIF
//1234567890


cPrecio:=Alltrim(str(aDat9[nI,4]))
if At(".", cPrecio) > 0
nPunto := At(".", cPrecio)
else
cPrecio:=cPrecio+".00"
nPunto := At(".", cPrecio)
endif

cCentimos:=SUBSTR(cPrecio,nPunto+1,2)
IF len(cCentimos) = 0
cCentimos:="00"
ENDIF
IF len(cCentimos) = 1
cCentimos:=cCentimos+"0"
ENDIF

cEntero:=SUBSTR(cPrecio,1,nPunto-1)

nCantidad:= Round(aDat9[nI,4], 2)
nEntero := Int(nCantidad)
nCents := nCantidad - nEntero


IF aDat9[nI,8]=1
cmd:=["]+STRZERO(VAL(cEntero),8)+STRZERO(VAL(cCentimos),2)+"J"+Alltrim(Str(nI))+")"+aDat9[nI,3]
ELSEIF aDat9[nI,8]=2
cmd:=["]+STRZERO(VAL(cEntero),8)+STRZERO(VAL(cCentimos),2)+"J"+Alltrim(Str(nI))+")"+padr(aDat9[nI,5],12)+" "+aDat9[nI,3]
ELSEIF aDat9[nI,8]=3 //NOMBREANIMAL
cmd:=["]+STRZERO(VAL(cEntero),8)+STRZERO(VAL(cCentimos),2)+"J"+Alltrim(Str(nI))+")"+padr(::NombreAnimal(aDat9[nI,3]),12)+" "+aDat9[nI,3]
ENDIF

IF SendCmd(@status, @error, cmd) = 0
MSGSTOP("PROBLEMA CON IMPRESORA FISCAL","REVISE IMPRESORA FISCAL")
Logfile("c:\Vendelot\auditor.log",{"Problema IFA "+cmd})
ENDIF

NEXT
IF nI > 1
cmd:="3"
IF SendCmd(@status, @error, cmd) = 0
MSGSTOP("PROBLEMA CON IMPRESORA FISCAL","REVISE IMPRESORA FISCAL")
Logfile("c:\Vendelot\auditor.log",{"Problema IFA "+cmd})
ENDIF
ENDIF

cmd:="$"
IF SendCmd(@status, @error, cmd) = 0
MSGSTOP("PROBLEMA CON LA IMPRESORA FISCAL","REVISE IMPRESORA FISCAL")
Logfile("c:\Vendelot\auditor.log",{"Problema IFA "+cmd})
ENDIF

nI:=0
For nI:=1 to len(::aSeriales)
cSerial01:=Alltrim(::aSeriales[nI,1])
cmd:=[(]+cSerial01

IF SendCmd(@status, @error, cmd) = 0
MSGSTOP("CODIGO DE VALIDACION CON PROBLEMA","INFORME A SU COMERCIALIZADOR")
Logfile("c:\Vendelot\auditor.log",{"Problema IFA "+cmd})
ENDIF
NEXT

cCop:=StrZero(VAL(::cString),5)+StrZero(Val(oLoterwin:xTaq),2)
cmd:=[)B0]+Alltrim(cCop)
IF SendCmd(@status, @error, cmd) = 0
MSGSTOP("PROBLEMA CON LA IMPRESORA FISCAL","REVISE IMPRESORA FISCAL")
Logfile("c:\Vendelot\auditor.log",{"Problema IFA "+cmd})
ENDIF

cmd:="# Fecha de Juego "+DiaSemana(oLoterwin:dFechaUnica)+" "+Dtoc(oLoterwin:dFechaUnica)
IF SendCmd(@status, @error, cmd) = 0
MSGSTOP("PROBLEMA CON IMPRESORA FISCAL","REVISE IMPRESORA FISCAL")
Logfile("c:\Vendelot\auditor.log",{"Problema IFA "+cmd})
ENDIF


cmd:="*"
IF SendCmd(@status, @error, cmd) = 0
MSGSTOP("PROBLEMA CON LA IMPRESORA FISCAL","REVISE IMPRESORA FISCAL")
Logfile("c:\Vendelot\auditor.log",{"Problema IFA "+cmd})
ENDIF

Parroquia de guarenas..? tenia tiempo sin saber de usted, ya me suscribi en la pagina, pero no me ha llegado algun correo de TheFactory para acceder y no me deja bajar los utilitarios, por casualidad tendras algun sample prg y la lib/ocx a usar.? este es mi correo, joseluisysturiz@yahoo.com,agradecido por si o por no, saludos,gracias... :shock:
Dios no está muerto...

Gracias a mi Dios ante todo!
User avatar
mag071
Posts: 139
Joined: Thu Feb 02, 2006 12:09 pm
Location: Venezuela
Contact:

Re: IMPRESORA BIXOLON SRP-350 VENEZUELA

Post by mag071 »

Saludos Vecino :-)

No, solo la use para implementar un software de apuesta de loterías legal aquí en Venezuela hace 8 años. usaba imagínate el FWH 8.06 :-)

La DLL en ese tiempo se llamaba TFHKADIR.DLL
y se usaba para casi todas las operaciones la funcion sendcmd()
cambiando solo los parámetros.

En ese tiempo uno iba a esos sitios como thefactory o bematech y ellos te prestaban hasta una impresora con un modulo solo para desarrollador, pero dudo que ahora con la situación país hagan lo mismo. los costos tanto de las impresoras fiscales como de las memorias fiscales son de terror en estos momentos.

Saludos por aquí estamos a la orden.
Mario Antonio González Osal
Venezuela
m a g 0 7 1 @ g m a i l. c o m
luisduque
Posts: 133
Joined: Mon May 12, 2008 4:13 pm
Location: Venezuela
Contact:

Re: IMPRESORA BIXOLON SRP-350 VENEZUELA

Post by luisduque »

Jose Luis Saludos

Te dejo un link con los dll y ejemplos

https://www.dropbox.com/sh/r3dz251ykn1y ... JYKSa?dl=0

Cell: 0414 7036220
correo: accasoft@hotmail.com

Cualquier duda a la orden
Fivewin 16.11
Harbour 3.2.0
Visual Studio 2015 community
MariaDb/MySql

Ing. MSc. Luis Duque
http://www.accasoft.net
User avatar
joseluisysturiz
Posts: 2024
Joined: Fri Jan 06, 2006 9:28 pm
Location: Guatire - Caracas - Venezuela
Contact:

Re: IMPRESORA BIXOLON SRP-350 VENEZUELA

Post by joseluisysturiz »

luisduque wrote:Jose Luis Saludos

Te dejo un link con los dll y ejemplos

https://www.dropbox.com/sh/r3dz251ykn1y ... JYKSa?dl=0

Cell: 0414 7036220
correo: accasoft@hotmail.com

Cualquier duda a la orden
Saludos colega, parroquia, si no es mucho pedir, tendrias un pequeño sample .prg por lo menos para tener idea de como iniciar.? no he manejado impresoras fiscales...estoy descangando lo que me enviastes, saludos, gracias... :shock:
Dios no está muerto...

Gracias a mi Dios ante todo!
luisduque
Posts: 133
Joined: Mon May 12, 2008 4:13 pm
Location: Venezuela
Contact:

Re: IMPRESORA BIXOLON SRP-350 VENEZUELA

Post by luisduque »

Jose Luis

Disculpa que no te había respondido, pero si necesitas un ejemplo en la tarde coloco. Es que estaba viajando.
Fivewin 16.11
Harbour 3.2.0
Visual Studio 2015 community
MariaDb/MySql

Ing. MSc. Luis Duque
http://www.accasoft.net
User avatar
joseluisysturiz
Posts: 2024
Joined: Fri Jan 06, 2006 9:28 pm
Location: Guatire - Caracas - Venezuela
Contact:

Re: IMPRESORA BIXOLON SRP-350 VENEZUELA

Post by joseluisysturiz »

luisduque wrote:Jose Luis

Disculpa que no te había respondido, pero si necesitas un ejemplo en la tarde coloco. Es que estaba viajando.
Saludos colega, esta bien, si quieres lo mandas a mi privado o lo dejas aca en el foro para compartirlo, gracias... :shock:
Dios no está muerto...

Gracias a mi Dios ante todo!
Post Reply