Ir para conteúdo
  • Cadastre-se

dev botao

Evento Duplicado Cc-E


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

Recommended Posts

Boa tarde

Pessoal antes de escrever este post eu consultei sobre duplicidade, mas acho que deve ser algum parametro do componente que estou passando errado..

 

o meu código de envio é o seguinte

 

(parametros do componente) (obs aqui não estou colocando certificado, etc porque são as mesmas configurações para envio)

...
   ACBR.Configuracoes.Arquivos.Salvar             := True;
   ACBR.Configuracoes.Geral.Salvar                := True;
   ACBR.Configuracoes.Geral.AtualizarXMLCancelado := True;
...
   ...
   ACBR.NotasFiscais.Clear;
   
   ACBR.Configuracoes.Geral.PathSalvar := 'caminho da nota fiscal';

   ACBR.NotasFiscais.LoadFromFile('arquivo da nota fiscal autorizada');

   lsChave := Trim(OnlyNumber(ACBR.NotasFiscais.Items[0].NFe.infNFe.ID));
   ACBR.Configuracoes.Arquivos.PathCCe    := ExtractFileDir(lsArquivo)+'\CCE\';

   ACBR.Configuracoes.Arquivos.PathEvento := ExtractFileDir(lsArquivo)+'\CCE\'; aqui esta a minha duvida, posso colocar o mesmo caminho, ou a duplicidade é isso?

   If not DirectoryExists(lsDiretorio) Then ForceDirectories(lsDiretorio);

   liNumeroLote := StrToInt(FormatDateTime('yymmddhhmm', NOW));
   ACBR.EventoNFe.Evento.Clear;
   
   ACBR.EventoNFe.idLote := liNumeroLote;
   with ACBR.EventoNFe.Evento.Add do
      begin
      infEvento.chNFe      := lsChave;
      infEvento.CNPJ       := copy(lsChave,7,14);
      infEvento.dhEvento   := now;
      infEvento.tpEvento   := teCCe;
      infEvento.nSeqEvento := liSequencia;
      infEvento.detEvento.xCorrecao := 'correção da carta';
      end;

   // Enviar o evento
   if ACBR.EnviarEventoNFe(liNumeroLote) then
      begin
      with ACBR.WebServices.EnvEvento do
         begin
         if EventoRetorno.retEvento.Items[0].RetInfEvento.cStat <> 135 then
            begin
            showmessage('Ocorreram erros para enviar CC-e.'+#13+FormatFloat('0',           EventoRetorno.retEvento.Items[0].RetInfEvento.cStat)+#13+
                                                                                 EventoRetorno.retEvento.Items[0].RetInfEvento.xMotivo);
            Exit;
            end;


         showmessage('Carta de Correção enviada com sucesso'+#13+
                     'Protocolo: '+EventoRetorno.retEvento.Items[0].RetInfEvento.nProt);

         ACBR.Consultar;
         ACBR.ImprimirEvento;

         end;
      end
   else
      begin
      with ACBR.WebServices.EnvEvento do
         begin
         showmessage('Ocorreram erros para enviar CC-e.'+#13+FormatFloat('0', EventoRetorno.cStat)+#13+
                                                                              EventoRetorno.xMotivo)


         exit;
         end;
      end;


Except
   on e : Exception do
      begin
      showmessage('Erro ao enviar carta de correção.'+#13+e.message)
      exit;
      end;
End;
 

Eu ainda não consegui identificar onde esta o erro, e os arquivos pelo que percebi esta gerando 2 x antes de gerar o -proceventonfe.

esqueci de mencionar que esta rotina tomei como base a do Regys. em http://www.regys.com.br/como-enviar-uma-carta-de-correcao-utilizando-o-acbrnfe/

 

 

Obrigado a todos.

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

  • Moderadores

esqueceu de mencionar o erro como aparece para você, a mensagem exata.

Já te adianto que a sequencia do evento pode estar errada, você precisa a cada envio incrementá-la.

 

Lembre-se, a ultima carta de correção deve englobar sempre todas as correções anteriores mais as novas e o numero de sequencia deve ser incrementado.

Equipe ACBr

Régys Borges da Silveira

http://www.regys.com.br

certificacao delphicertificacao delphi
Link para o comentário
Compartilhar em outros sites

Obrigado regys, mas na verdade estou fazendo o primeriro envio.

e desculpa de não mostrar o erro. (573 - Rejeicao: Duplicidade de Evento (tpEvento + chNFe + nSeqEvento))

Quando tem outro envio a sequencia é acrescentada em uma rotina mais acima no sistema. 

Obrigado.

Link para o comentário
Compartilhar em outros sites

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