Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado

Boa tarde pessoal, o componente acbr está me retornando seguinte erro ao manifestar uma nota de uma empresa:

Rejeicao: Falha no Esquema XML do lote de NF-e

O problema acredito ser o mesmo que esse tópico aqui no fórum: o nome da empresa do cliente com problemas possui um caractere especial "&" (A parte do nome da empresa que possui esse caractere é "D&W"), porém o erro acontece na hora em que eu vou manifestar a nota e não quando vou emitir (como no tópico citado).

Eu debuguei o que acontece no acbr e encontrei no xml gerado, nele não está presente o nome da empresa... Então como esse erro acontece?

E eu sei que o problema é o nome da empresa porquê olhei no site da receita algumas notas que foram manifestadas com sucesso, e no destinatário de todas essas notas estava escrito ("DeW" ao Invés de "D&W"), ou seja, as notas com o caractere especial não estavam sendo de fato, manifestadas. Mas como não se utiliza o nome da empresa na hora do manifesto, isso tá me deixando doido kkk.

 

Segue abaixo o meu código de manifesto via acbr

 

	acbr.EventoNFe.Evento.Clear;
      for i := 0 to eventos.ChildNodes.Count - 1 do
      begin
        evento := eventos.ChildNodes[i];
        chaveNFe := evento.ChildNodes.Nodes['chaveNFe'].Text;
        dhEvento := evento.ChildNodes.Nodes['dhEvento'].Text;
        tpEvento := evento.ChildNodes.Nodes['tpEvento'].Text;
        //manifesta o resumo
        with acbr.EventoNFe.Evento.Add do
        begin
          InfEvento.cOrgao := 91;
          infEvento.chNFe := chaveNFe;
          infEvento.CNPJ := cnpjCert;
          dhEvento := formatarData(dhEvento);
          infEvento.dhEvento := StrToDateTime(dhEvento);
          InfEvento.tpAmb := taProducao;

          if tpEvento='210210' then //ciencia da operacao
          Begin
            infEvento.tpEvento := teManifDestCiencia;
          End
          else if tpEvento='210200' then //confirmacao da operacao
          Begin
             InfEvento.tpEvento := teManifDestConfirmacao;
          End
          else if tpEvento='210220' then //Desconhecimento da operacao
          Begin
             InfEvento.tpEvento := teManifDestDesconhecimento;
          End
          else if tpEvento='210240' then //operacao nao realizada
          Begin
             InfEvento.tpEvento := teManifDestOperNaoRealizada;
          end
          else
          begin
           raise Exception.Create('Tipo de Evento desconhecido');
          end;
        end;
      end;

      try
        acbr.EnviarEvento(1);
      except on e : exception do
        begin
          gravarLog('ERRO AO MANIFESTAR A NOTA CHAVE ' + chaveNFe + ': ' + e.Message ,dirLog);
          Result := e.Message;
          end;
      end;

  

 

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