Ir para conteúdo
  • Cadastre-se

dev botao

Problema ao manifestar Ciência de operação NF-e


TheBolads
Ver Solução Respondido por Renato Rubinho,
  • Este tópico foi criado há 667 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

  Pessoal, bom dia. Tenho uma rotina que manifesta a ciência de operação das notas que me foram retornadas pelo método distribuiçãoDFe. 
Utilizo a propriedade schema para verificar se veio o XML completo ou se veio o resumo. 

function TNotaDestinadaController.Manifestar(ANfe: TACBrNfe; pIndex: Integer; pCNPJCPF: string): Boolean;
var
  lEvento: TInfEventoCollectionItem;
begin
  Result := False;
  
  if ANfe.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Items[pIndex].schema = TSchemaDfe.schprocNFe then
    Exit;

  ANfe.NotasFiscais.Clear();
  ANfe.EventoNFe.Evento.Clear();
  lEvento := ANfe.EventoNFe.Evento.New();
  lEvento.InfEvento.cOrgao := 91;
  lEvento.InfEvento.chNFe := ANfe.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Items[pIndex].resDFe.chDFe;
  lEvento.InfEvento.CNPJ := pCNPJCPF;
  lEvento.InfEvento.dhEvento := Now;
  lEvento.InfEvento.tpEvento := TpcnTpEvento.teManifDestCiencia;

  Result := ANfe.EnviarEvento(1);
end;

Mas no momento dessa comparação:

  if TACBrNfe1.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Items[pIndex].schema = TSchemaDfe.schprocNFe then
    Exit;   

Dá o seguinte problema:

  Falha na validação da Mensagem do Evento: 'ID21021001' violates pattern constraint of 'ID[0-9]{52}'.
  The attribute 'Id' with value 'ID21021001' failed to parse.'    

Imaginei que fosse algum schema que eu não tenha colocado na pasta, 
mas não é o caso, já verifiquei e estão todos os schemas certinhos.
E às vezes dá esse problema, às vezes não.

Alguém tem ideia do que pode ser?

Link para o comentário
Compartilhar em outros sites

  • Consultores
  • Solution
20 horas atrás, TheBolads disse:

Falha na validação da Mensagem do Evento: 'ID21021001' violates pattern constraint of 'ID[0-9]{52}'.
  The attribute 'Id' with value 'ID21021001' failed to parse.'

Bom dia,

Deveriam ter 52 dígitos numéricos no id.

20 horas atrás, TheBolads disse:

lEvento.InfEvento.chNFe := ANfe.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Items[pIndex].resDFe.chDFe;

Você está passando a chave em branco, essa propriedade vem preenchida no resumo, quando for o completo você pega da procEvento.chDFe.

Obs:

Você não deveria manisfestar automaticamente todas as NFes, pois isso é responsabilidade do destinatário.

Link para o comentário
Compartilhar em outros sites

Em 31/05/2022 at 11:18, rsmuller9 disse:

ou a propriedade esta com o sequencial

Boa tarde! Fiz uma pequena alteração para que sejam manifestadas somente as notas resumidas, então a chave não fica em branco.

Mas o problema é na comparação dos schemas:

if TACBrNfe1.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Items[pIndex].schema in SCHEMAS then
    Exit;  

O erro dá aí, não na hora de manifestar.

OBS: Esse 'SCHEMAS' é um array de TSchemaDfe, que contém: [schprocNFe, schprocEventoNFe], garantindo que sempre dê Exit caso não seja resumo, mas novamente, o erro estoura na comparação de schemas, e não na manifestação... não sei se consegui explicar de maneira clara...  

Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 667 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
Visitante
Este tópico está agora fechado para novas respostas
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.