BASES DE DADOS:https://drive.google.com/drive/folders/1ISMdYW40wTYASebrZ7FvWDN_pzQ8m19d
Porque dessa análise :
- Hoje é gerado muitos atendimentos devido ao cancelamento da NF e existir evento em duplididade.
Justificativa da mudança :
- Hoje já existe no DFe monitor uma tratativa para o LOTE?
- Que pode ser verificada a seguir.
- Configurar Bases do Eco
- Criar um Banco do NFe Novo
- Ajustar a Sequencia da NFe Série 100 Numero 8
- Iniciar o DFe Monitor.
- Acessar o Caminho onde está salvos os XML's.
- Copiar os arquivos do NFe.rar anexado na Solicitação
- Verificar que na Pasta LotesDadosEnvio e Lotes já existe arquivos.
- Verificar que no Banco do NFe os GEN estão no sequencial 0
- Acessar o ECO
- VEN601RA
- Duplicar o Pedido 584
- Registrar e Emitir a NFe
- VEN601RA
- Verificar no DFe Monitor o LOG
- Ele verificou na pasta que já existia o lote do 1 ao 5 e não transmitiu com duplicidade.
- E Verificar que a NFe foi aprovada Corretamente, independente das informações estarem erradas na pasta vs banco de dados.
- IMPLEMENTAR A MESMA TRATATIVA PARA:
- ?EventosDadosEnvio
- EventosDadosRetorno
- InutilizacaoDadosEnvio
- InutilizacaoDadosRetorno
- Estarei simulando a seguir o Evento.
- Lote está OK.
História da situação / ocorrido :
- Sempre haverá problemas na ponta na configuração do DFe Monitor.
- Por isso é necessário tampar as lacunas que geram problemas para o cliente final.
- Nesse Caso a NF no retaguarda fica como cancelada.
- O Cliente Final acha que está tudo certo
- E por culpa de uma falha de configuração da representação o cliente final perde a confiabilidade nas informações fiscais.
PASSOS PARA REPRODUZIR:
- Anteriormente havia efetivado o canelamento da NFe Série 100 Numero = 1
- Que pode ser verificado no Eventos Dados Retorno.
- Fazer todos os passos da Justificativa de Mudança
- Verificar no banco que a Sequência do Evento é 0 ( Igual a do Lote Anteriormente )
- Acessar o ECO
- Efetuar o Cancelamento da NFe que emitiu recentemente.
- Verificar que já ocorreu Duplicidade.
- Isso ocorreu porque ele leu o EventoDadosEnvio, verificou o Retorno que já havia cancealdo e retornou Cancelmaneto Homolagado.
- O Correto é fazer igual o Lote. Verificar Evento a Evento para evitar Duplicidade.
Isabella Bressan Bremm - Liberado p/ Implantação
- Liberado.
Isabella Bressan Bremm - Aguardando Liberação de Versão
- O teste seguindo o passo a passo descrito pelo Oswaldo na tarefa;
- O teste emitindo NF-e e NFC-e e realizando o cancelamento das mesmas;
- O teste criando um banco DFe novo, com pasta nova, emitindo a NF-e e NFC-e e fazendo seus cancelamentos.
Sistema SOL - Certificando
Sistema SOL - Certificando
Sistema SOL - Certificando
Sistema SOL - Certificando
Isabella Bressan Bremm - Certificando
Sistema SOL - Encaminhado p/ Certificação
Olimpio Gonzatto Junior - Encaminhado p/ Certificação
DFeMonitor.exe (versão: 5.2.2.340, branch: develop, feature: FIS-922)
[Descrição]
Implementado controle para IdEvento (NFe/NFCe)
Ao emitir um evento de CANCELAMENTO de NFe o sistema verifica o nr. do último sequencial na base de dados (NFE_GRIDEVENTO), depois verifica se este nr. já foi utilizado, essa verificação é feita comparando se existe algum arquivo na pasta: .\\arquivos\\NFe\\EventosDadosEnvio\\ utilizando esse nr. caso encontre o sistema gera um novo sequencia e repete a comparação até achar um nr. disponível. Depois continua com o processamento de cancelamento do documento fiscal.
[Certificação]
Observação:
O ponto alterado no sistema impacta os eventos de cancelamento dos documentos fiscais NFe e NFCe. É de extrema importância executar testes de cancelamento destes tipos de documentos. Testes em situações normais de emissão seguido de cancelamento e também testes que envolvam a criação de nova base de dados do DFe porém utilizando pasta de arquivos que já contenham arquivos de processamentos anteriores e também a criação de nova base de dados do DFe com nova pasta de arquivos. É muito importante verificar se os registros gravados na base de dados condizem com o registro de origem que esta sendo cancelado. Também sugiro consultar na sefaz para garantir que o evento de cancelamento esta sendo vinculado corretamente no respectivo documento fiscal.
*_O ponto alterado no sistema impacta a gravação dos registros nas tabelas:_*
- NFE_TBCANCELAMENTONFE
- NFE_TBEVENTO
- NFE_TBEVENTOCANC
- NFE_GRIDEVENTO
- NFE_GRIDLOTEEVENTO
Sistema SOL - Programando
Sistema SOL - Programando
Sistema SOL - Programando
Sistema SOL - Programando
Sistema SOL - Programando
Sistema SOL - Programando
Sistema SOL - Programando
Sistema SOL - Programando
Sistema SOL - Programando
Sistema SOL - Programando
Sistema SOL - Programando
Sistema SOL - Programando
Sistema SOL - Programando
Sistema SOL - Programando
Olimpio Gonzatto Junior - Programando
Anderson Luiz Barbosa da Silva - Encaminhado p/ Programação
Base de dados Utilizada:
https://drive.google.com/drive/folders/1ISMdYW40wTYASebrZ7FvWDN_pzQ8m19d
Melhorias Sugeridas:
Trava para não duplicar evento e nem inutilização, com usuários não conseguem mandar o mesmo número de evento.
Implementação:
Hoje no DFeMonitor já existe a trava para número de lote, será necessário aplicar a mesma para o Evento e também para Inutilização.
Quando enviado o mesmo número de lote o DFeMonitor envia o próximo número de lote conforme imagem abaixo:
Essa mesma ideologia deverá ser aplicada para o Evento e também para Inutilização
Observação
- A validação do número do lote é feito através da pasta, se houver um mesmo número de dentro da pasta, o DFeMonitor tenta o próximo número, com isso ele já vai incrementando o generators dentro do banco de dados.
Validação:
- Configurar a base de dados
- Criar uma nova base de dados
- Não ajustar os generators
- Copiar os arquivos que estão dentro da pasta "NFe.rar", jogar todos os XML na pasta de XML do DFeMonitor
- Para simular o processo poderá emitir um cancelamento de uma nota fiscal que está aprovada (nfe_tbnfes.numeroprotocolo is not null)
O processo de cancelamento poderá ser feito pelo banco de dados
Para isso inserir um registro dentro da tabela 'NFE_TBCANCELAMENTONFE' com o GID da nota fiscal que deseja fazer o cancelamento.
Jornada Usuário:
Em vários atendimentos executados pelo suporte, foi identificado que o usuário criou um novo banco de dados, e com isso ele não fez a configuração dos generators, logo depois de um tempo o cliente precisou fazer o cancelamento de alguma nota fiscal, só que esse cancelamento foi concluído com sucesso, só que não foi para o SEFAZ o cancelamento.
Isso acontece porque ele vai gerar o evento número 1 só que esse evento número 1 já está autorizado dentro da pasta.
Anderson Luiz Barbosa da Silva - Analisando
Analisando.
Oswaldo Junior - Encaminhado p/ Análise