en Global external functions
/* Fiscal 715 */
//FUNCTION INTEGER UltimaRespuesta(integer nhandle, ref string Mybuffer) library "WinFis32.dll"
//function INTEGER OpenComFiscal(integer nCom,integer nmodo) library "WinFis32.dll"
//function integer InitFiscal(integer nHandler) library "WinFis32.dll"
//function integer CloseComFiscal(integer nHandler) library "WinFis32.dll"
//function integer MandaPaqueteFiscal(integer nHandler, ref string cBuffer) library "WinFis32.dll"
//function integer UltimoStatus(integer nHandler,ref integer nFiscalStatus,ref integer nPrintStatus) library "WinFis32.dll"
//function integer VersionDLLFiscal() library "WinFis32.dll"
//function integer BusyWaitingMode(integer nMode) library "WinFis32.dll"
/* Fiscal 715 */
/* Fiscar 2g */
FUNCTION INTEGER UltimaRespuesta(integer nhandle, ref string Mybuffer) library "WinFis32_2g.dll"
function INTEGER OpenComFiscal(integer nCom,integer nmodo) library "WinFis32_2g.dll"
function INTEGER ReOpenComFiscal(integer nCom) library "WinFis32_2g.dll"
function integer InitFiscal(integer nHandler) library "WinFis32_2g.dll"
function integer CloseComFiscal(integer nHandler) library "WinFis32_2g.dll"
function integer MandaPaqueteFiscal(integer nHandler, ref string cBuffer) library "WinFis32_2g.dll"
function integer UltimoStatus(integer nHandler,ref integer nFiscalStatus,ref integer nPrintStatus) library "WinFis32_2g.dll"
function integer VersionDLLFiscal() library "WinFis32_2g.dll"
function integer BusyWaitingMode(integer nMode) library "WinFis32_2g.dll"
function integer OpenTcpFiscal(string hostname, integer socket, long mseg,integer nmodo) library "WinFis32_2g.dll"
Function integer SetModeEpson (boolean modo) library "WinFis32_2g.dll"
/* Fiscar 2g */
enviar_comando functio(comando)
integer li_resp,li_fiscalstatus,li_printerStatus
string ls_Mybuffer,ls_tot,ls_iva,ls_cantItem
integer ll_ini,ll_fin
li_FiscalStatus = 0
li_PrinterStatus = 0
ls_mybuffer=space(520)
li_resp=0
li_Resp =MandaPaqueteFiscal (Comando) // Envia el comando al impresor
IF li_Resp < 0 then
RETURN li_Resp
END IF
li_Resp = UltimaRespuesta(nHandler , ref ls_MyBuffer ) //* Recupera la respuesta completa del comando
ls_MyBuffer = trim(ls_MyBuffer)
gs_Buffer = ls_MyBuffer
if comando = 'E' then
// messagebox('buffer 19',ls_MyBuffer)
gs_NumCte = mid(ls_MyBuffer,11,8)
end if
if mid(comando,1,1) = 'C' then
// messagebox('subtotal ',ls_MyBuffer)
ll_ini = pos(ls_mybuffer,"",6)
ll_fin = pos(ls_mybuffer,"",ll_ini+1)
ls_cantItem = mid(ls_mybuffer,ll_ini + 1,ll_fin - (ll_ini + 1))
gd_cantItems = real(ls_cantItem)
// messagebox('ls_cantItem ',ls_cantItem)
ll_ini = pos(ls_mybuffer,"",11)
ll_fin = pos(ls_mybuffer,"",ll_ini+1)
ls_tot=mid(ls_mybuffer,ll_ini + 1,ll_fin - (ll_ini + 1))
ll_ini=ll_fin
ll_fin = pos(ls_mybuffer,"",ll_ini+1)
ls_iva=mid(ls_mybuffer,ll_ini + 1,ll_fin - (ll_ini + 1))
ls_tot=mid(ls_tot,1,pos(ls_tot,".")- 1)+','+mid(ls_tot,pos(ls_tot,".") + 1)
ls_iva=mid(ls_iva,1,pos(ls_iva,".")- 1)+','+mid(ls_iva,pos(ls_iva,".") + 1)
gd_total=real(ls_tot)
gd_iva=real(ls_iva)
end if
RETURN CheckLastError()
CheckLastError function
integer li_resp,li_fiscalstatus,li_printerStatus
string ls_Mybuffer,comando,ls_Ident_Error,ls_errortext,ls_contexto
integer ll_ini,ll_fin
li_FiscalStatus = 0
li_PrinterStatus = 0
ls_mybuffer=space(520)
li_resp=0
comando = char(44)
li_Resp =MandaPaqueteFiscal (Comando) // Envia el comando al impresor
IF li_Resp < 0 then
RETURN li_Resp
END IF
li_Resp = UltimaRespuesta(nHandler , ref ls_MyBuffer ) //* Recupera la respuesta completa del comando
ls_MyBuffer = trim(ls_MyBuffer)
ll_ini = pos(ls_mybuffer,"",10)
ll_fin = pos(ls_mybuffer,"",ll_ini+1)
ls_Ident_Error=mid(ls_mybuffer,ll_ini + 1,ll_fin - (ll_ini + 1))
//messagebox('Check error',ls_Ident_Error)
if ls_Ident_Error <> 'NO_CURRENT_ERROR' then
ll_ini = ll_fin+2
ll_fin = pos(ls_mybuffer,"",ll_ini+1)
ls_errortext = mid(ls_mybuffer,ll_ini + 1,ll_fin - (ll_ini + 1))
gs_errorFiscal = ls_errortext
ll_ini = ll_fin
ll_fin = pos(ls_mybuffer,"",ll_ini+1)
ls_contexto = mid(ls_mybuffer,ll_ini + 1,ll_fin - (ll_ini + 1))
gs_errorPrint = ls_contexto
// messagebox('Check error ls_errortext',ls_errortext)
// messagebox('Check error ls_contexto ',ls_contexto)
li_Resp = -1
if ls_Ident_Error <> 'POS_DOCUMENT_BEYOND_FISCAL_DAY' then li_Resp = -2
end if
RETURN li_Resp