Páginas filhas
  • DSERTSS3-43 - [B.E] NFe Recebidas - Reenfileirar "ciência automática" com rejeição 999 "Falha no banco de dados"

01. DADOS GERAIS

Produto:

TOTVS Transmite

Linha de Produto:

Linha Protheus

Segmento:

Backoffice

Módulo:TOTVS Transmite
Função:Não Há
País:Brasil
Ticket:Não Há
Requisito/Story/Issue (informe o requisito relacionado) :DSERTSS3-43

02. SITUAÇÃO/REQUISITO

Criação de mecanismo que realize a tratativa de rejeições inesperadas da SEFAZ, seguindo os seguintes preceitos:

  • Criação de collection para cadastrar as rejeições da SEFAZ;
  • Realizar cadastro de novas rejeições e notificar a equipe sobre elas (Possibilitando que quando ocorrerem posteriormente, tenham uma tratativa definida);
  • Mecanismo para novas tentativas de processamento das rejeições, baseando-se em regras definidas na nova collection;
  • Publicar na fila de notificações, mensagem a ser enviada a equipe, caso nova collection tenha definido assim (customer provisioning)
    • Conteúdo da mensagem (stacktrace, pod, tenantId, grupo de email, dateTime).

03. SOLUÇÃO

Foi criada a collection seguindo o modelo abaixo:

Collection tratativa
{
	"Falha": {
		"Tipo": 1,
		"Informacoes": {
			"Codigo": "999",
			"Motivo": "2999 - Falha nao tratada",
			"ModeloDocumento": 55,
			"Regras": {
				"Repetir": true,
				"QuantidadeDeTentativas": 5,
				"Intervalo": 1000
			}
		}
	},
	"TipoNotificacao": {
        "Ativa": true,
        "Grupo": [
			"[email protected]"
		],
        "Formato": 1
	}
}

* O exemplo abaixo é uma exceção do tipo SEFAZ.
** O campo "Informacoes" dentro da exceção é dinâmico para cada tipo de exceção.

Mecanismo de preenchimento dinâmico de collection no código foi criado, quando uma rejeição não tem tratativa, um novo registro é gerado e uma notificação disparada para a equipe para avaliá-la;

Mecanismo de utilização da collection para tratativa de rejeições implementado, quando rejeição possui uma tratativa na collection, as regras definidas nesta norteiam as repetições e notificações a equipe;

Mecanismo de publicação de notificações criado, uma notificação como a descrita abaixo é publicada para serviço que gerará alertas para a equipe.

Notificação de alertas
{
	"task": "NotifyTask",
	"data": {
		"group": [
			"[email protected]"
		],
		"tenantId": "abfc647a-8fb1-467f-adf8-a2698e935366",
		"podName": "<pod name>",
		"corpoNotificacao": "<stacktrace>"
	},
	"solicitadoEm": "2021-10-06T11:25:44-03:00",
	"tentativas": 0,
	"receipt": ""
}

04. DEMAIS INFORMAÇÕES

Não Há.

05. ASSUNTOS RELACIONADOS

  • Não Há.