Jump to content

dev botao

Duvida: AcbrMonitor faz consulta ultima sessão Cfe?


lucimauro
Go to solution Solved by Daniel Simoes,
  • Este tópico foi criado há 1544 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

  • Membros Pro

Boa tarde,

Quem usa o Mfe do Ceará conhece os constantes problemas de QUEBRA DE SEQUENCIA dos cupons eletrônicos, por diversos motivos. Uma das possíveis soluções e que ameniza (mas não resolve) essa questão, é fazer uma CONSULTA ULTIMA SESSÃO logo após receber um TIMEOUT do módulo.

Estou com um problema num cliente e percebi pelo log que o ACBrMonitor não faz essa consulta (da ultima) sessão automaticamente.

A dúvida é essa: O Acbr faz ou não automaticamente a consulta da última sessão automaticamente logo após receber um timeout do Mfe? Ou essa questão fica a cargo da aplicação?

02/03/2020 17:10:26 - NumeroSessao: 145982 - Comando: EnviarDadosVenda( <?xml version="1.0" ... )
02/03/2020 17:10:26 - Gravando XML Venda enviado: c:\SAT\Enviados\AD20200302171026-145982-env.xml
02/03/2020 17:10:36 - NumeroSessao: 145982
02/03/2020 17:10:36 - ERRO: Nenhuma Resposta de Retorno! 
CodigoDeRetorno: 0 / Resultado: 

Após 10 segundos sem resposta do mfe, o acbr respondeu com "ERRO: Nenuma resposta de Retorno", mas não fez a consulta da sessão de forma automática

 

Link to comment
Share on other sites

  • Fundadores
  • Solution
2 minutos atrás, lucimauro disse:

A dúvida é essa: O Acbr faz ou não automaticamente a consulta da última sessão automaticamente logo após receber um timeout do Mfe? Ou essa questão fica a cargo da aplicação?

Não faz o tratamento... ele apenas dispara o Exception... veja:

procedure TMetodoEnviarCFe.Executar;
var
  cArqXML, ArqCFe, Resultado: String;
begin
  cArqXML := fpCmd.Params(0);

  with TACBrObjetoSAT(fpObjetoDono) do
  begin
    if NaoEstaVazio(cArqXML) then
    begin
      ArqCFe := ParamAsXML(cArqXML);
      if StringIsXML( ArqCFe ) then
        Resultado := ACBrSAT.EnviarDadosVenda( ArqCFe )
      else
        raise Exception.Create('XML em: '+cArqXML+' é inválido! ');

    end
    else if (ACBrSAT.CFe.ide.signAC <> '') then
      Resultado := ACBrSAT.EnviarDadosVenda
    else
      raise Exception.Create('Nenhum XML encontrado para envio! ');

    if EstaVazio(Resultado) or (ACBrSat.Resposta.codigoDeRetorno = 0) then    // <--- AQUI 
      raise Exception.Create('Nenhuma Resposta de Retorno! ' + sLineBreak
      + 'CodigoDeRetorno: ' + IntToStr(ACBrSat.Resposta.codigoDeRetorno) + ' / Resultado: ' + Resultado);

    RespostaEnviarDadosVenda( Resultado );

  end;

end;  

 

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Link to comment
Share on other sites

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.