Prezados,
Em algumas vendas o retorno do método "EnviarDadosVenda" retorna vazio gerando assim uma inconformidade na nossa aplicação. Conforme log da nossa aplicação há uma tentativa de consulta do status e logo em seguida uma tentativa de envio da venda corrente ao aparelho:
2023-09-13 11:53:36:767 [TID 4504][DEBUG ] autorizar -> ConsultarSAT -> 850768|08000|SAT em operacao|| [emissor]
2023-09-13 11:53:46:809 [TID 4504][DEBUG ] autorizar -> EnviarDadosVenda -> [emissor]
*a última linha do log acima é gerada pelo seguinte código:
retorno := FDM.ACBrSAT1.EnviarDadosVenda;
Logger.Debug('autorizar -> EnviarDadosVenda -> ' + retorno, ACBR_EMISSOR_LOGGER);
Comparando com o log da DLL, vemos que na verdade a venda foi autorizada, segue:
13/09/23 11:53:36:083 - NumeroSessao: 850768 - Comando: ConsultarSAT
13/09/23 11:53:36:767 - NumeroSessao: 850768 - Resposta:850768|08000|SAT em operacao||
13/09/23 11:53:36:772 - NumeroSessao: 997417 - Comando: EnviarDadosVenda( <?xml version="1.0" encoding="UTF-8"?><CFe>
<infCFe versaoDadosEnt="0.07">
<ide>
...continua
13/09/23 11:53:36:773 - Gravando XML Venda enviado: \events\event\2023\09\13\AD20230913115336-997417-env.xml
13/09/23 11:53:36:773 - Inicio do Envio
13/09/23 11:53:46:808 - Tempo de Processamento: 10,035 segundos
13/09/23 11:53:46:808 - NumeroSessao: 997417
Dessa forma, quando esse incidente acontece, no nosso sistema o cupom é considerado cancelado, porém para o aparelho o mesmo foi processado. Gostaria de saber qual tipo de tratamento deve ser feito neste tipo de situação? Lembrando que isso ocorre esporadicamente em ambiente de produção.
Saudações,
Rafael Glauber