Ir para conteúdo
  • Cadastre-se

dev botao

Problemas no encerramento do MDFe


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

Recommended Posts

Estou implementado o MDFe versão 3.00 e durante o encerramento me deparo como a mensagem "Falha na validação dos dados do Evento: The node is neither valid nor invalid because no DTD/Schema declaration was found.". Isso acontece até mesmo como no Demo do Acbr. As funções de Validar, Emitir e Consultar estão ok. Observação, na versão 1.00 deu tudo certo, mas como na nota técnica consta que a vigência dela é só até outubro, estou tentando implementar mesmo a 3.00. Alguém pode me ajudar?

manifesto10.xml

Link para o comentário
Compartilhar em outros sites

Boa tarde Cleiver

Sim, mina pasta Schemas está atualizada sim. atualizei hoje pela manha.

Talvez a alimentação do componente para o evento de cancelamento tenha sofrido alguma alteração e eu não esteja sabendo fazer. Mas até o demo está na mesma situação

 

Editado por emisael
Link para o comentário
Compartilhar em outros sites

  Try
    Try
      ACBrMDFe1.Manifestos.Clear;
      ACBrMDFe1.Manifestos.LoadFromString( Dm.cdsPesquisa.FieldByName('XML').AsString );
    except
      begin
        MsgErro('Erro ao carregar o XML!');
        FreeAndNil( RetornoSefaz );
        Exit;
      end;
    End;
    ACBrMDFe1.EventoMDFe.Evento.Clear;
    with ACBrMDFe1.EventoMDFe.Evento.Add do
    begin
      infEvento.chMDFe     := Copy(ACBrMDFe1.Manifestos.Items[0].MDFe.infMDFe.ID, 5, 44);
      infEvento.CNPJ     := TiraString('.', '-', '/', '', '', Empresa.CNPJ);
      infEvento.dhEvento   := now;
      infEvento.tpEvento   := teEncerramento;
      infEvento.nSeqEvento := 1;

      infEvento.detEvento.nProt := ACBrMDFe1.Manifestos.Items[0].MDFe.procMDFe.nProt;
      infEvento.detEvento.dtEnc := Date;
      infEvento.detEvento.cUF   := StrToInt(Copy(IntToStr(ACBrMDFe1.Manifestos.Items[0].MDFe.infDoc.infMunDescarga.Items[0].cMunDescarga),1,2));
      infEvento.detEvento.cMun  := ACBrMDFe1.Manifestos.Items[0].MDFe.infDoc.infMunDescarga.Items[0].cMunDescarga;
    end;
    Try
      if ACBrMDFe1.EnviarEvento( Dm.cdsPesquisa.FieldByName('NUMERO').AsInteger ) then // 1 = Numero do Lote
      begin
        if ACBrMDFe1.WebServices.EnvEvento.cStat > 0 then
        begin
          if ACBrMDFe1.WebServices.EnvEvento.cStat = 135 then
            ACBrMDFe1.Manifestos.Imprimir;
        end;
      end;

    except
      on E: Exception do
      begin
        if ACBrMDFe1.WebServices.EnvEvento.cStat > 0 then
        begin
          if ACBrMDFe1.WebServices.EnvEvento.cStat = 631 then
          begin
            ACBrMDFe1.Consultar;
            RetornoSefaz.Situacao  := 'N';
            RetornoSefaz.Codigo    := ACBrMDFe1.WebServices.Consulta.cStat;
            RetornoSefaz.Protocolo := ACBrMDFe1.WebServices.Consulta.Protocolo;
            RetornoSefaz.Mensagem  := ACBrMDFe1.WebServices.Consulta.XMotivo;
          end
          else
          begin
            RetornoSefaz.Codigo   := ACBrMDFe1.WebServices.EnvEvento.cStat;
            RetornoSefaz.Mensagem := ACBrMDFe1.WebServices.EnvEvento.xMotivo;
          end;
        end
        else
        begin
          RetornoSefaz.Codigo   := 999;
          RetornoSefaz.Mensagem := TratarErroMDFe(E.Message);
        end;
      end;
    end;
    if (RetornoSefaz.Codigo = 132) or (RetornoSefaz.Codigo = 135) then
      GravaRetorno( RetornoSefaz );
    mmoMeRetornoSefaz.Lines.Add( IntToStr(RetornoSefaz.Codigo) + sLineBreak + RetornoSefaz.Mensagem);
  Finally
    FreeAndNil( RetornoSefaz );
  End;
 

meu código de encerramento.

Link para o comentário
Compartilhar em outros sites

  • Consultores

Bom dia Emisael,

Você tem certeza que todos os fontes de todas as pastas estão atualizados?

Você reinstalou o ACBr (ACBrInstall_Trunk2) após atualizar os fontes?

Você compilou a sua aplicação com a opção Build?

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

Bom dia Italo...

Sim, tudo isso foi feito, e tanto na minha aplicação quando no exemplo do acbr, acontece isso: Falha na validação dos dados do Evento: The node is neither valid nor invalid because no DTD/Schema declaration was found.

Acontece apenas no encerramento e no cancelamento, emissão e consulta estão ok

 

 

Link para o comentário
Compartilhar em outros sites

  • Consultores

Boa noite Emisael,

É impossível aparecer essa mensagem uma vez que comentei as linhas que geram essa mensagem, veja:

    (* Comentado por não estar realizando a validação corretamente
    if not EventoEhValido then
    begin
      FErroValidacao := ACBrStr('Falha na validação dos dados do Evento: ') +
        FPMsg;

      raise EACBrMDFeException.CreateDef(FErroValidacao);
    end;
    *)

Logo, ou os seus fontes não estão atualizados, ou a sua aplicação esta usando um DCU anterior, neste caso você deve marcar que a opção que apagar os arquivos antigos.

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

Bom dia Italo

Nos fontes que eu tinha, esse trecho de código que você mencionou não estava comentado, eu desinstalei o ACBr (limpeza geral) baixei tudo novamente e deu tudo certo agora... O processo de atualização que eu fiz na segunda certamente não deu certo

Muito obrigado pela atenção....

Abraço 

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 2438 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.