Ir para conteúdo
  • Cadastre-se

dev botao

Salvando o XML de retorno do evento de cancelamento com caracteres estranhos


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

Recommended Posts

boa tarde! Estou tentando salvar um retorno do cancelamento de NF-e e está ficando desta forma abaixo:

Capturar2.JPG.97ca8fb37687c2671c3c99321591ca54.JPG

 

Estou fazendo da seguinte forma o cancelamento da NF-e:

 

         // Criar o cancelamento
          fConfigACBR_NFe.ACBrNFe.EventoNFe.Evento.Clear;
          //fConfigACBR_NFe.ACBrNFe.EventoNFe.idLote := iNumLotFat;

          with fConfigACBR_NFe.ACBrNFe.EventoNFe.Evento.Add do
          begin
            infEvento.chNFe           := chaveNFe;
            infEvento.CNPJ            := gEmpCgc;
            infEvento.dhEvento        := NOW;
            infEvento.tpEvento        := teCancelamento;
            infEvento.detEvento.nProt := nProtocolo;
            infEvento.detEvento.xJust := sJustifica;
          end;

          try
          // Enviar o evento de cancelamento

          if fConfigACBR_NFe.ACBrNFe.EnviarEvento(iNumLotFat) then
          begin
            with fConfigACBR_NFe.ACBrNFe.WebServices.EnvEvento do
            begin
              if (EventoRetorno.retEvento.Items[0].RetInfEvento.cStat <> 101) and // 101 - cancelamento homologado
                 (EventoRetorno.retEvento.Items[0].RetInfEvento.cStat <> 135) and // 135 - Evento registrado e vinculado a NF-e (cancelamento de NF-e homologado)
                 (EventoRetorno.retEvento.Items[0].RetInfEvento.cStat <> 151) and // 151- cancelamento homologado fora do prazo
                 (EventoRetorno.retEvento.Items[0].RetInfEvento.cStat <> 155) then // 155 - Evento registrado e vinculado a NF-e fora de prazo;
              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;

              // retornos
              sData1  := FormatDateTime('DD/MM/YYYY',EventoRetorno.retEvento.Items[0].RetInfEvento.dhRegEvento);
              sHOra1  := FormatDateTime('HH:MM:SS',EventoRetorno.retEvento.Items[0].RetInfEvento.dhRegEvento);
              nProtocoloCanc  := EventoRetorno.retEvento.Items[0].RetInfEvento.nProt;

              wXML            := ConverteXMLtoUTF8(EventoRetorno.retEvento.Items[0].RetInfEvento.XML); // aqui eu pego o retorno
              sStat           := IntToStr(EventoRetorno.retEvento.Items[0].RetInfEvento.cStat);
              sMotivo         := EventoRetorno.retEvento.Items[0].RetInfEvento.xMotivo;
              ffcDB_NFe.rtfProcCancNFe.Text := wXML;
              //SALVA ARQUIVO XML ASSINADO E PROTOCOLADO
              ffcDB_NFe.rtfProcCancNFe.Lines.SaveToFile(gLocalAplicativo+'ARQS\XML\NF-e\_CANCELADO\'+s_Arquivo);  aqui estou salvando o mesmo
              sPath      := gLocalAplicativo+'ARQS\XML\NF-e\_CANCELADO\'+s_Arquivo;

              Mensagem('Arquivo XML do cancelamento salvo na pasta: '+gLocalAplicativo+'ARQS\XML\NF-e\_CANCELADO\'+s_Arquivo);

 

O que estou fazendo de errado?

 

Atenciosamente,

Tatiane Peixoto.

 

 

NF000023978_CAN.XML

Link para o comentário
Compartilhar em outros sites

  • Fundadores
29 minutos atrás, Tatiane Peixoto disse:

              wXML            := ConverteXMLtoUTF8(EventoRetorno.retEvento.Items[0].RetInfEvento.XML); // aqui eu pego o retorno

Porque você está convertendo para UTF8, um XML que provavelmente já foi retornado em UTF8 ?

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Link para o comentário
Compartilhar em outros sites

  • Solution

Bom dia pessoal!

Só retornando pra dizer que foi resolvido, o problema era do componente memo o qual jogava o retorno do xml do cancelamento nele e depois mandava salvar. Tirei o componente memo e coloquei novamente dai salvou certinho, talvez tenha sido alguma configuração do memo..

Agradeço a atenção!

Atenciosamente,

Tatiane Peixoto.

 

Link para o comentário
Compartilhar em outros sites

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