Ir para conteúdo
  • Cadastre-se

dev botao

MDFe evento Pagamento - carregando XML gerado em outro lugar


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

Recommended Posts

Postado

Boa noite.

Seguinte, tenho um sistema que gera todo o XML em um lugar; esse XML é enviado para o cliente, onde é assinado via certificado A3. Toda essa parte funciona ok para envios/eventos de CTe/NFe/MDFe porém, no caso do evento pagamento (tardio) de MDFe, apresenta o seguinte erro:

Falha na validação dos dados do Evento: 1871 - Element '{http://www.portalfiscal.inf.br/mdfe}vContrato': This element is not expected. Expected is ( {http://www.portalfiscal.inf.br/mdfe}Comp ).

 

Eu inclui nos anexos, o XML de envio para ser processado, e o XML que capturei dando debug no Delphi, e percebi que o ACBr não conseguiu reprocessar o XML como estava no original.

Eu carrego o XML assim (igual para todos os casos que utilizo):

    FObjMDFe.Manifestos.Clear;
    FObjMDFe.EventoMDFe.Evento.Clear;
    FObjMDFe.WebServices.retorno.Clear;

    FObjMDFe.EventoMDFe.LerXMLFromString(_item.xml);
    FObjMDFe.Configuracoes.WebServices.UF := retornaUF(FObjMDFe.EventoMDFe.Evento.Items[0].InfEvento.cOrgao);
    FObjMDFe.Configuracoes.WebServices.Ambiente := FObjMDFe.EventoMDFe.Evento.Items[0].InfEvento.tpAmb;
    FObjMDFe.Configuracoes.Geral.VersaoDF  := pmdfeConversaoMDFe.StrToVersaoMDFe(_ok, FObjMDFe.EventoMDFe.Evento.Items[0].InfEvento.versaoEvento);

    FObjMDFe.EnviarEvento(_item.lote);

 

A chave de acesso do MDFe: 33-2003-30301105000141-58-001-000000012-100034926-6

Eu coloquei "*" em algumas informações sensíveis nos arquivos.

xml_processamento_acbr.xml xml_envio.xml

Postado

Bom dia.

Atualizei, porém o erro permanece o mesmo.

Realizando debug, pude ver que estes elementos estavam "zerados" no arquivo "ACBrMDFeWebServices" (Comp.Count = 0  e infPrazo.Count = 0):

O problema estava no arquivo (coloquei em anexo para avaliação):
pmdfeEnvEventoMDFe.pas -> TEventoMDFe.LerXMLFromString

Com estas mudanças, funcionou perfeitamente.

 

Obrigado.

pmdfeEnvEventoMDFe.pas

  • Curtir 1
  • Este tópico foi criado há 1710 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • 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.