Produto: | TOTVS Varejo Gestão Fiscal |
---|---|
Linha de Produto: | Linha Fiscal Manager |
Segmento: | Varejo |
Módulo: | Fiscal Manager |
Função: | Inutilizar |
País: | Brasil |
Ticket: | 16568975 |
Requisito/Story/Issue (informe o requisito relacionado) : | DVARLVN-8249 |
Ao ocorrer "Falha de comunicação com a SEFAZ" durante a emissão de uma venda, o Fiscal Manager entra em modo de contingência, conforme configurado no properties. Nesse cenário, é gerada uma venda em contingência espelhada a venda original.
Quando a comunicação com a SEFAZ é restabelecida e as vendas em contingência são autorizadas, o Fiscal Manager consulta a venda original que havia falhado na comunicação com a SEFAZ, se a venda original apresentar autorizada, o documento é cancelado. Caso contrário, se apresentar rejeitada, o número do documento é inutilizado.
No entanto, ao consultar a situação do documento na SEFAZ, está ocorrendo um erro: 404, e o processo de inutilização da numeração entra em um loop, repetindo-se indefinidamente.
Efetuado o ajuste na classe InutilizationManager.java para incluir o tratamento da exceção 404 originada do SEFAZ. Agora, quando essa exceção ocorrer, o processo será encerrado com um erro, evitando assim a continuidade do loop e a duplicação das informações.
switch (inutTransaction.getStatus()) { Add comment79 case ReturnCodes.RETURN_PREFIXO_NAO_PERMITIDO: Add comment80 inutTransaction.setExecutado(true); Add comment81Minus TransactionDAO dao404 = TransactionDAO.getInstance(); Add comment82Minus Transaction transaction404 = dao404.getFromModeloSerieENumeroNF(inutTransaction.getModelo(), Add comment81Plus Transaction transaction404 = dao.getFromModeloSerieENumeroNF(inutTransaction.getModelo(), Add comment83 82 inutTransaction.getNfeSerie(), Add comment84 83 inutTransaction.getNNFIni()); Add comment85 84 transaction404.setStatus(ReturnCodes.RETURN_PREFIXO_NAO_PERMITIDO); Add comment86 85 transaction404.setMotivo("Falha ao inutilizar nota rejeitada. Prefixo de namespace nao permitido"); Add comment87Minus dao404.update(transaction404); Add comment86Plus dao.update(transaction404); Add comment88 87 break; Add comment89 88 case ReturnCodes.INUTILIZATION_IN_QUEUE: Add comment90 89 inutTransaction.setExecutado(false);
Não se aplica
Não se aplica