Ariston Santos Posted December 24, 2012 Report Share Posted December 24, 2012 Olá, Pessoal. Como faço para obter o status do ECF bematech usando a BEMAFI32.DLL? Preciso emitir um aviso ao usuário caso ele tente usar o ECF com pendência de RZ ou bloqueado por já ter sido emitida a RZ do dia. Como obter esse retorno? Qual função da DLL devo declarar? Grato. Ariston Santos. Conheça Pacote Fivewin em http://www.arsoft-ap.com.br Quote Link to comment Share on other sites More sharing options...
Ariston Santos Posted December 24, 2012 Author Report Share Posted December 24, 2012 Olá, Pessoal. Como faço para obter o status do ECF bematech usando a BEMAFI32.DLL? Preciso emitir um aviso ao usuário caso ele tente usar o ECF com pendência de RZ ou bloqueado por já ter sido emitida a RZ do dia. Como obter esse retorno? Qual função da DLL devo declarar? Grato. Ariston Santos. Conheça Pacote Fivewin em http://www.arsoft-ap.com.br Quote Link to comment Share on other sites More sharing options...
sistem Posted December 24, 2012 Report Share Posted December 24, 2012 http://partners.bematech.com.br/2011/09/edicao-85-verificando-se-ha-reducao-z-pendente/ Quote Link to comment Share on other sites More sharing options...
Ariston Santos Posted December 27, 2012 Author Report Share Posted December 27, 2012 Obrigado. Como ainda não encontrei nada igual neste forum, vou postar a solução com base no link fornecido acima. Pode ser que alguém mais necessite. dMov := Space(6) nRet := BmDtMovto(@dMov) dMov := Ctod(Trans(dMov,"@R 99/99/99")) dUrz := Space(6) nRet := BmDtMovto(@dUrz) dUrz := Ctod(Trans(dUrz,"@R 99/99/99")) MsgInfo("Data última RZ: "+DTOC(dUrz), "Data") dDrz := Space(6) cHrz := Space(4) nRet := BmDtHoUltRZ(@dDrz, @cHrz) dDrz := Ctod(Trans(dUrz,"@R 99/99/99")) cHrz := Trans(cHrz,"@R 99:99") MsgInfo("Data e hora da última RZ: "+DTOC(dDrz)+", "+cHrz, "Data e Hora") IF dMov == dUrz .AND. dUrz < DATE() // RZ pendente MsgAlert("A RZ do dia "+DTOC(dUrz)+" ainda não foi emitida. ECF bloqueado para emitir cupons fiscais","Aviso") ENDIF IF EMPTY(DTOS(dMov)) .AND. dUrz = DATE() MsgAlert("A RZ de hoje já foi emitida. ECF bloqueado para emitir cupons fiscais","Aviso") ENDIF IF EMPTY(DTOS(dMov)) .AND. EMPTY(DTOS(dUrz)) IF !EMPTY(DTOS(dDrz)) MsgInfo( "ECF sem movimento e sem Redução Z pendente."+CRLF+CRLF+; "Última redução Z em "+DTOC(dDrz)+", "+cHrz,"Aviso") ENDIF IF dDrz == DATE() MsgInfo( "Redução Z de hoja já emitida sem movimentação. ECF bloqueado até 00:00h;","Aviso") ENDIF ENDIF id=code>id=code>Declaração das funções: //Ler data do movimento atual DLL32 FUNCTION BmDtMovto ( DtMovto AS LPSTR ) AS LONG PASCAL ; FROM "Bematech_FI_DataMovimento" LIB xBmDll32 //Ler data do ultima RZ DLL32 FUNCTION BmDtUltRZ (DtUltRZ AS LPSTR ) AS LONG PASCAL ; FROM "Bematech_FI_DataMovimentoUltimaReducaoMFD " LIB xBmDll32 //Ler data e hora da ultima RZ DLL32 FUNCTION BmDtHoUltRZ(DtUltRZ AS LPSTR, HoUltRZ AS LPSTR) AS LONG PASCAL ; FROM "Bematech_FI_DataHoraReducao" LIB xBmDll32 id=code>id=code> Conheça Pacote Fivewin em http://www.arsoft-ap.com.br Quote Link to comment Share on other sites More sharing options...
lecojales Posted December 27, 2012 Report Share Posted December 27, 2012 Ariston, bom dia. Ative o retorno estendido: iRetorno = Bematech_FI_HabilitaDesabilitaRetornoEstendidoMFD("1") Ao tentar abrir o cupom ele deverá retornar o erro abaixo: 63-BLOQUEIO POR RZ Este aqui é util, quando o interventor não habilitou o a redução z automática. 66-AGUARDANDO RZ 89-AGUARDANDO RZ PARA ENTRADA EM INTERVENÇÃO TÉCNICA Se não deu certo. Leco Five PPC Harbour 1.0.1 - 1999-2008 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.