Árvore de páginas


01. DADOS GERAIS

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


02. SITUAÇÃO/REQUISITO

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.

03. SOLUÇÃO

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);




04. DEMAIS INFORMAÇÕES

Não se aplica

05. ASSUNTOS RELACIONADOS

Não se aplica