Ir para conteúdo
  • Cadastre-se

dev botao

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


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

Recommended Posts

Postado

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

 

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

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.

Postado

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

  • Solution
Postado

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!

  • 3 anos depois...
Postado
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 ?

Postado
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
  • Este tópico foi criado há 1340 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.