Ir para conteúdo
  • Cadastre-se

dev botao

Duvida sobre SAT.ConsultarNumeroSessao


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

Recommended Posts

  • Membros Pro

Prezados,

 

Estou com uma dúvida aqui sobre o comando SAT.ConsultarNumeroSessao,  estou implementando uma compatibilidade com meu appcomercial usando TCP/IP e C# e gostaria de entender em quais circunstâncias eu deveria usar o referido comando?

O manual diz :

"Comando para efetuar a consulta pelo numero da sessão.".  `Testando o comando percebo que recupero dados do cupom emitido por último somente.  

 

 

Abraços

Leandro 

 

 

Link para o comentário
Compartilhar em outros sites

  • Fundadores
  • Solution

Você deve usar esse comando, quando SAT retorna com uma Sessão diferente da que você enviou no comando de Entrada (número randômico), ou caso ele não tenha respondido... esse comando deve ser enviado imediatamente após o último comando com a resposta inválida...

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

 

Acho que peguei, vou dar um exemplo:

 

  •  Usei o comando CriarEnviarCFe: ele retornou:

[ENVIO]
Arquivo=C:\OFFMON\sat\Vendas\08723218000186\201912\AD35191208723218000186599000092610073614188846.xml
CodigoDeRetorno=6000
NumeroSessao=858175
Resultado=858175|06000|0000|Emitido com sucesso...

  1.  Comparo os valores em destaque vermelho, se eles forem iguais, sinal que o SAT processou corretamente e me devolveu o retorno correto (não preciso usar  SAT.ConsultarNumeroSessao) .
  2. Se o resultado for diferente, uso o comando SAT.ConsultarNumeroSessao(858175) e aguardo o retorno.  Se o comando não identificar a seção, eu descarto a operação e tento enviar o CFSAT novamente.

 

Isso mesmo?

 

Link para o comentário
Compartilhar em outros sites

  • Fundadores

Sim, isso mesmo...

lembrando que o ACBrSAT ou a ACBrLibSAT, já automatiza essa verificação, quando a propriedade "ValidarNumeroSessaoResposta := True"

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

 

OK, 

mais uma questão quanto a isso, é possível acontecer um travamento no PC que obrigue o usuário resetar o computador no ato de tratar o número da seção de retorno, perdendo assim o seu controle podendo gerando duplicidade de cupom?  Se sim, é estatisticamente desnecessário se preocupar com isso? Ou daria pra tratar também?

 

Abraço

Link para o comentário
Compartilhar em outros sites

  • Fundadores

Você poderia salvar o último número de Sessão enviado em seu BD... e assim que o sistema for restabelecido, usar esse número para uma consulta 

  • 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

 

OK,  mas isso me deixa com mais uma dúvida,

 

Estou usando a conexão via TCP/IP, estou passando o conteudo .ini do cupom diretamente através do comando CriarEnviarCFe para não ter necessidade de criar arquivos de envio e retorno.  O número da sessão (que me parece gerado pelo ACBR neste caso) geralmente vem após o envio do comando pelo próprio canal de comunicação Stream.Read/Flush. Se ocorrer um crash na aplicação ou o PC apagar justamente ao retornar as informações de sessão e dados do cupom xml, como eu não gerei o número de sessão e sim o ACBR,  como eu poderei obter qual foi o número de sessão ultimo que o ACBR usou?  Ou teria como eu informar ao ACBR o número de sessão desejada antes dele enviar os dados do CFSAT via comando CriarEnviarCFe (usando TCP/IP)?

 

Não sei se fui claro o suficiente, qquer coisa dá um toque.

Abraço

 

Link para o comentário
Compartilhar em outros sites

  • Fundadores

Ligue a propriedade "ValidarNumeroSessaoResposta", nas configurações da aba SAT

https://acbr.sourceforge.io/ACBrMonitor/DadosdoSATCFe.html

para ter o seu próprio controle de Sessão tem um comando onde você pode informar qual será a próxima sessão 

https://acbr.sourceforge.io/ACBrMonitor/SATSetNumeroSessao.html

 

  • 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

  • Este tópico foi criado há 1582 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
Visitante
Este tópico está agora fechado para novas respostas
×
×
  • 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.