Linha de Produto: | Bematech Loja |
---|---|
Segmento: | Varejo |
Módulo: | Bematech PDV |
Função: | Integração de XML NFCe |
Ticket: | |
Requisito/Story/Issue (informe o requisito relacionado) : | DVARMAN1-3441 |
Problema: Ao efetuar uma venda no qual há falha de comunicação com o SEFAZ a venda entra na "virada de contingencia" onde é inutilizada e primeira nota e efetivada a segunda.
Após o retorno online do SEFAZ a nota inutilizada não está sendo enviada corretamente para o PL devido ao retorno do FM para o PDV.
Análises e evidencias:
Efetuado um teste em base de homologação e conseguido simular a falha que ocorre em produção.
No dia 24/01/2020 as 15:25 foi efetuada uma venda 37078 no qual no momento da finalização foi simulado uma falha de comunicação com o SEFAZ, a partir daí houve o comportamento normal onde há a virada de contingência onde a primeira nota é cancelada e feito uma cópia da mesma para ser efetivada passando a ser a 37079.
A partir daí todas as notas foram emitidas em contingência.
Passando mais ou menos 5 minutos foi voltado o fiscalmanager para online novamente, nesse momento todas as notas que forma emitidas em contingência foram enviadas para o SEFAZ onde a nota 37078 retornou com o status de inutilizada.
Passando-se alguns instantes o PDV efetuou a consulta no FM solicitando o status das notas emitidas em contingência para que seja enviada ao Practico Live, nesse meio tempo o FM ainda está aguardando o retorno das notas pelo SEFAZ e possivelmente por algum atraso a nota ainda está aguardando validação do SEFAZ e o FM retornou um status para o PDV sem o devido retorno completo do SEFAZ e por isso foi passado para o PDV uma retorno "em branco" fazendo com que a XML não suba corretamente para o PL.
Isso pode ser consultado no log nfceoneapi.log nas linhas 284056 a 284112 onde o mesmo retorna no final um código 99992 porém a falha foi o erro 99994. E nos trechos
"StatusAtual": {
"Codigo": "",
"Descricao": "",
"Mensagem": "",
"Contigencia": true,
"Cancelada": false,
"Inutilizada": true,
"Impressa": false,
"Email": false
Há retornos "em branco".
Anteriormente foi passado uma nota no mesmo cenário e houve o retorno correto entre as linhas 269153 a 269182 segue log anexo.
"statusAtual" : {
"codigo" : "102",
"descricao" : "Inutilizacao de numero homologado",
"inutilizada" : true
Ou seja durante os testes foi possível simular apenas duas vezes durante o dia que foi esse utilizada como exemplo e outra nota 37039.
Qualquer dúvida procurar Amarildo Nalin ou Anderson Fernandes
Pacote com a correção: 2019.8.66.0 / HF: 2019.8.93.25
Efetuado tratamento para quando não houver nada no statusAtual.Codigo utilizar o Código da raiz.
Além disso caso não exista nenhum dos códigos será desconsiderado para que faça a consulta novamente na próxima rodada do timer.