Ir para conteúdo
  • Cadastre-se

dev botao

CodigoDeRetorno do ACBrSAT ainda retorna 8000 mesmo com SAT desconectado da USB


RenatoRicci
Ver Solução Respondido por RenatoRicci,
  • Este tópico foi criado há 1107 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

  • Membros Pro

Olá amigos, estou fazendo alguns testes para verificar se o SAT está ou não conectado no PC e mesmo o sat estando desconectado do PC, ele ainda me retorna código 8000. Alguém já passou por isso?

Veja um exemplo:

ACBrSat.ConsultarSAT;
v_codretorno := ACBrSat.Resposta.codigoDeRetorno;

if v_codretorno = 8000 then
begin /*comentado*/ end;

O que acontece é que, se eu desplugar o SAT da USB após eu ter emitido algum cupom sat com sucesso, o código de retorno ainda vem como 8000, ou seja, ainda está voltando como que se o aparelho estivesse plugado no PC, mas na verdade não está.. Veja os logs:

>>>> LOG Com aparelho SAT plugado na USB

[13:09 08/06/2017] - Log: NumeroSessao: 101146 - Comando: ConsultarSAT
[13:09 08/06/2017] - Log: NumeroSessao: 101146 - Resposta:101146|08000|SAT em operação||

/* Neste ponto(intervalo) eu gerei um cupom sat com sucesso.. e depois despluguei o aparelho. Logo em seguida consultei o status*/

>>>> LOG Com aparelho SAT desplugado na USB
[13:10 08/06/2017] - Log: NumeroSessao: 805389 - Comando: ConsultarSAT
[13:10 08/06/2017] - Log: NumeroSessao: 805389 - Resposta:101146|08000|SAT em operação||

 

Será que é algum bug, ou estou deixando de executar alguma rotina para atualizar o código de retorno?

Obrigado!

Renato Ricci

 

Link para o comentário
Compartilhar em outros sites

  • RenatoRicci changed the title to CodigoDeRetorno do ACBrSAT ainda retorna 8000 mesmo com SAT desconectado da USB
  • Fundadores

Parece ser um bug da DLL... mas repare que o número de sessão que ele retornou quando desconectado, não é o número de sessão que você enviou... então você poder adicionar essa verificação...

Teste ainda, o mesmo teste  com o comando ConsultarStatusOperacional 

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 para o comentário
Compartilhar em outros sites

  • Membros Pro

Olá Daniel. Obrigado pela resposta..

Tentei utilizando o comando ConsultarStatusOperacional e verificando se código de retorno = 10000(sucesso). Porém acontece exatamente da mesma maneira de como se tivesse usado o comando ConsultarSAT. O número da sessão do retorno realmente ele mantem o número da última sessão com sucesso.

Estou usando Elgin Linker I com a DLL mais recente, ou seja, a DLL que dá suporte ao layout 0,07.

Fiz um teste com o layout 0,06 (e usando a DLL antiga consequentemente). O problema realmente está na DLL do layout 0,07, pois com a DLL antiga funcionou perfeitamente.

Quanto ao seu comentário de verificar o número da sessão de retorno estar condizente com a sessão de envio, poderia dar uma dica de como realizar esta checagem?

Obrigado!

Renato

Link para o comentário
Compartilhar em outros sites

  • Fundadores

Programe o evento OnGetNumSessao  ( algo assim )... dessa maneira você pode enviar a sua própria sequência e verificá-la na resposta...

  • Curtir 1
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 para o comentário
Compartilhar em outros sites

  • Membros Pro
  • Solution

Perfeito Daniel! Como sugerido, estou gerando minha própria sequencia no evento OnGetNumeroSessao, e ao consultar o status do sat, eu verifico também se ACBrSAT.Resposta.numeroSessao é o mesmo número que foi gerado.. Se for diferente eu considero que o SAT não está respondendo...

Obrigado!

Link para o comentário
Compartilhar em outros sites

  • 3 anos depois...
Em 08/06/2017 at 16:33, rrricci disse:

Perfeito Daniel! Como sugerido, estou gerando minha própria sequencia no evento OnGetNumeroSessao, e ao consultar o status do sat, eu verifico também se ACBrSAT.Resposta.numeroSessao é o mesmo número que foi gerado.. Se for diferente eu considero que o SAT não está respondendo...

Obrigado!

rrricci tudo bem? Estou tendo o mesmo problema. Poderia me mandar um exemplo de como implementou o menoto OnGetCodigoDeAtivacao ?

Link para o comentário
Compartilhar em outros sites

  • Membros Pro
28 minutos atrás, Lucas Lira disse:

rrricci tudo bem? Estou tendo o mesmo problema. Poderia me mandar um exemplo de como implementou o menoto OnGetCodigoDeAtivacao ?

Olá.. o método que eu estava tendo problema na época é o OnGetNumeroSessao.. e não no OnGetCodigoAtivacao...

meu método  OnGetCodigoAtivacao está assim:

begin
    f_executa_query('select sat_codigo_ativacao from tab_sat where sat_id = ' + IntToStr(getIdSATEstacao));
    if v_ro_query.IsEmpty then
    begin
        ShowMessage('Nenhum Sat Cadastrado/Definido para esta estação de trabalho');
        abort;
    end;

    Chave := ansistring(v_ro_query.FieldByName('sat_codigo_ativacao').AsString);
end; 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 1107 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.