Ir para conteúdo
  • Cadastre-se

dev botao

Duplicidade No Evento De Cancelamento !


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

Recommended Posts

Olá pessoal, gostaria se possivel da ajuda dos colegas.

Consegui fazer cancelar a NFe por evento tudo normal, mas estou cometendo um erro que to ficando sem os cabelos por entender pouco ainda ou quase nada da programação (Delphi 7+Firebird).

O erro é esse !post-92-0-58003600-1366221744.jpg

 

Meu codigo esta assim:

 

  // Cancelamento da NF-e Após Ter Sido Validada.
    iLote := StrToInt(FormatDateTime('yymmddhhmm', NOW));
    FNFSEletronica.AcbrNFe.NotasFiscais.Clear;
    FNFSEletronica.AcbrNFe.NotasFiscais.LoadFromFile(ECaminho.Text);
    With FNFSEletronica.AcbrNFe.EventoNFe.Evento.Add Do Begin

            infEvento.chNFe                := sChave;
            infEvento.cOrgao               := UFparaCodigo(vUFEmp);
            infEvento.CNPJ                 := vCNPJEmp;
            infEvento.dhEvento             := now();
            infEvento.tpEvento             := TeCancelamento;
            infEvento.nSeqEvento           := iSeqEvento;
            infEvento.versaoEvento         := '1.00';
            infEvento.detEvento.descEvento := 'Cancelamento';
            infEvento.detEvento.xJust := (MJustificativa.Text);
            infEvento.detEvento.xCondUso   := ''; //Texto fixo conforme NT 2011.003 -  http://www.nfe.fazenda.gov.br/portal/exibirArquivo.aspx?conteudo=tsiloeZ6vBw=
          End;
    FNFSEletronica.AcbrNFe.EnviarEventoNFe(iLote);

          // Enviar o evento de cancelamento
    if FNFSEletronica.AcbrNFe.EnviarEventoNFe(iLote) then  begin
    with FNFSEletronica.AcbrNFe.WebServices.EnvEvento do
    begin
    if EventoRetorno.retEvento.Items[0].RetInfEvento.cStat <> 135 then
    begin
    raise Exception.CreateFmt(           'Ocorreu o seguinte erro ao cancelar a nota fiscal eletrônica:'  + sLineBreak +
    'Código:%d' + sLineBreak +           'Motivo: %s', [
    EventoRetorno.retEvento.Items[0].RetInfEvento.cStat,
    EventoRetorno.retEvento.Items[0].RetInfEvento.xMotivo         ]);
    end;

    sProtocolo := EventoRetorno.retEvento.Items[0].RetInfEvento.nProt;
    iStat      := EventoRetorno.retEvento.Items[0].RetInfEvento.cStat;
    sMotivo    := EventoRetorno.retEvento.Items[0].RetInfEvento.xMotivo;
    end;
    end
    else  begin
    with FNFSEletronica.AcbrNFe.WebServices.EnvEvento do
    begin
    raise Exception.Create(
    'Ocorreram erros ao tentar efetuar o cancelamento:' + sLineBreak +
    'Lote: '     + IntToStr(EventoRetorno.idLote) + sLineBreak +
    'Ambiente: ' + TpAmbToStr(EventoRetorno.tpAmb) + sLineBreak +
    'Orgao: '    + IntToStr(EventoRetorno.cOrgao) + sLineBreak +         sLineBreak +
    'Status: '   + IntToStr(EventoRetorno.cStat) + sLineBreak +
    'Motivo: '   + EventoRetorno.xMotivo       );

    FNFSEletronica.AcbrNFe.Cancelamento(MJustificativa.Text);
    end;
    end;

    Status := FNFSEletronica.AcbrNFe.WebServices.Cancelamento.cStat;

 

Por favor onde esta a Duplicidade ?

Link para o comentário
Compartilhar em outros sites

  • Solution

Nao to usando mais o delphi

 

mas isso aqui não estaria gerando a duplicidade?

 FNFSEletronica.AcbrNFe.EnviarEventoNFe(iLote);

          // Enviar o evento de cancelamento
    if FNFSEletronica.AcbrNFe.EnviarEventoNFe(iLote) then  begin

 

Link para o comentário
Compartilhar em outros sites

Muito obrigado Igor !!!!Batata!!! certinho. Como falei estou iniciando e agradeço muito a sua ajuda !

Para quem esta iniciando é dificil ver todo o coteudo, mas para quem esta no podium e lembra de suas dificuldades de inciantes. Tem iniciativas nobres como a sua. Valeu Campeão !!! 

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

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