ERP – eDocs Recebimento/Manifestação Destinatário NF-e - Não é permitido incluir nova manifestação enquanto houver alguma manifestação pendente de envio para a Sefaz. Verifique a situação da manifestação
Incidente
No eDocs em Nf-e/ Manifestação do Destinatário o XML da Manifestação do Destinatário não está integrando e ao verificar a aba Críticas de Integração é localizado a seguinte mensagem: Não é permitido incluir nova manifestação enquanto houver alguma manifestação pendente de envio para a Sefaz. Verifique a situação da manifestação.
Causa
Essa situação ocorre quando o parâmetro 'Gerar Manifestação' da tela F070PRE - Cadastros / Filiais / Parâmetros por Gestão / Contas a Receber, estiver parametrizado com a opção “A - Automático” e na tela F000INE - Suprimentos / Gestão de Recebimento / Notas Fiscais de Entrada / Via Recebimento de Documento Eletrônico, estiver selecionada a opção Fechar a nota após processar, a manifestação será gerada automaticamente ao processar a nota fiscal na tela F000INE.
Importante
Serão gerados os eventos de “Ciência da Operação” e “Confirmação da Operação”:
- Ciência da operação: é gerado automaticamente quando uma NF-e de entrada é processada no ERP (clicado no botão Processar da tela que trata NF-e de entrada).
- Confirmação de operação: é gerado automaticamente quando a NF-e de entrada é fechada no ERP (clicado no botão Fechar da tela que trata NF-e de entrada).
O sistema eDocs não possui atualmente o conceito de "Enfileirar as requisições de Manifestação de Destinatário".
A mensagem de crítica de integração existe para evitar duplicidade de envio de eventos de Manifestação, o que poderia acarretar diversas situações inesperadas.
De fato, a mudança do conceito do eDocs para melhorar o processo de integração entre ERP e eDocs é uma Implementação que poderia ser avaliada.
Já temos um tópico no Fórum sobre assunto: https://forumdeprodutos.senior.com.br/hc/pt-br/community/posts/6261490326043-eDocs-não-envia-evento-de-confirmação-da-operação-
De qualquer maneira, validamos uma alternativa para que você possa utilizar, enquanto que a implementação no eDocs não seja realizada.
A tela F000INE permite gerar a Ciência e a Confirmação da operação em um mesmo momento.
Dentre esses dois eventos, apenas a Confirmação da operação é um evento obrigatório em casos específicos (Ciência é um evento opcional, e não pode ser gerado depois que uma Confirmação foi autorizada).
Como depende de algumas variáveis para que a situação da Crítica de integração da Confirmação da Operação ocorra (integração dos XMLs no eDocs, envio e retorno para a SEFAZ, quantidade de eventos gerados ao mesmo tempo), nem sempre ocorrerá essa crítica.
Solução
Para que a critica de integração não ocorra validamos um automatismo para tratar os casos onde a Confirmação da Operação não seja integrada ao eDocs, de forma que o ERP reemita esse evento.
Abaixo seguem informações técnicas de como isso poderá ser operacionalizado:
1. Criar um processo agendado do tipo "Regra";
2. Indicar agendamento do processo de 15 em 15 minutos (pode até ser um outro período, conforme a necessidade da empresa);
3. Definir uma regra que chame o WebService com.senior.g5.co.mcm.cpr.manifestacaodestinatario, porta Gravar para re-gerar os XMLs do eventos de Manifestação de Confirmação que estiverem como 10-Erro de Geração no ERP (equivalentes à crítica de integração no eDocs).
Abaixo segue um exemplo de regra que utilizamos aqui no Suporte para validar esse processo.
Você poderá utilizar essa regra como base para utilizar esse automatismo no seu ambiente.
Definir numero VsIntCodEmp;
Definir numero VsIntCodFil;
Definir alfa VsIntCodSnf;
Definir numero VsIntNumNfv;
Definir Cursor Cur_E440MDE;
Definir alfa aChvNel;
Definir numero nTipEve;
Definir numero nCodEmp;
Definir numero nCodFil;
Definir numero nSeqEve;
Definir interno.com.senior.g5.co.mcm.cpr.manifestacaodestinatario.Gravar wsManDes;
Definir alfa aMsgRet;
Definir alfa aErroExec;
Definir numero nTipRet;
Definir numero nQtdMan;
Definir data dDatEve;
VsIntCodEmp = CodEmp;
VsIntCodFil = CodFil;
dDatEve = 01/06/2022; @Servirá como filtro para pegar apenas eventos a partir dessa data@
@SeqEve = 210200 é para pegar apenas Confirmações de Operação@
Cur_E440MDE.SQL"SELECT codemp,codfil,chvnel,tipeve,seqeve \
FROM E440MDE \
WHERE CODEMP = :VsIntCodEmp AND \
codfil = :VsIntCodFil AND \
siteve = 10 AND \
tipeve = 210200 AND \
DatEve > :dDatEve";
Cur_E440MDE.AbrirCursor();
Enquanto (Cur_E440MDE.Achou)
Inicio
nCodEmp = Cur_E440MDE.CodEmp;
nCodFil = Cur_E440MDE.CodFil;
nTipEve = Cur_E440MDE.TipEve;
nSeqEve = Cur_E440MDE.SeqEve;
aChvNel = Cur_E440MDE.ChvNel;
wsManDes.DadosMDe.CriarLinha();
wsManDes.DadosMDe.CodEmp = nCodEmp;
wsManDes.DadosMDe.CodFil = nCodFil;
wsManDes.DadosMDe.TipEve = nTipEve;
wsManDes.DadosMDe.ChvNel = aChvNel;
Cur_E440MDE.Proximo();
nQtdMan = nQtdMan + 1;
Fim;
Se (nQtdMan > 0)
inicio
wsManDes.tipoComunicacao = 2; @Via Arquivo XML@
wsManDes.ModoExecucao = 2;
wsManDes.Executar();
nTipRet = wsManDes.TipoRetorno;
aErroExec = wsManDes.ErroExecucao;
aMsgRet = wsManDes.mensagemRetorno;
fim;
x=y;