by mterraz » Tue Jul 11, 2017 10:46 pm
Estimados,
Por ahora voy a utilizar la DLL que provee HASAR que funciona, por si alguien necesita salir del apuro, es un poco mas artesanal ya que trabaja directamente con tramas en modo empaquetado. El OCX es mas practico pero por el momento hay varias cosas que no funcionaron.
un ejemplo usando la DLL
*-------------------------------------------------------------*
Function AbrirPuerto(nPort)
*-------------------------------------------------------------*
local lResp:=.T.
nHandler := CallDll32( "OpenComFiscal" , "WINFIS32.DLL" , nPort , 1 )
If nHandler >= 0
msgalert("Puerto de impresora OK ")
nError := CallDll32( "InitFiscal" , "WINFIS32.DLL" , nHandler )
If nError = 0
lResp := .T.
Else
msginfo(" La impresora no se puede Inicializar" + cValtoChar(nError))
lResp := .F.
Endif
Else
Msinfo( nHandler )
lResp := .F.
Endif
RETU ( lResp )
*-------------------------------------------------------------*
FUNCTION CierreFiscal(cTpo)
*-------------------------------------------------------------*
Local s ,lResp:=.T.
local cFecha := DtoC( Date() )
s:=if( cTpo='Z',"9" + SE + "Z","9" + SE + "X")
If MsgYesno( '¿ Realizar Cierre '+cTpo+' ? ' + ChR(10)+ ;
' Fecha : ' + cFecha , " Mensaje de atención ")
nError := CallDll32 ( "MandaPaqueteFiscal" , "WINFIS32.DLL" , nHandler , s )
If nError == 0
msginfo( "Se Realizo el cierre "+cTpo, "Informacion" )
Else
lResp:=.F.
msgalert( "Error al efectuar el cierre "+cTpo , " ERROR" )
endif
Endif
RETU lResp
Gracias por la colaboración, y espero pueda sacarlos del paso.
Atte Mariano