Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado

Boa tarde pessoal, preciso de uma outra ajuda estou precisando pegar o retorno (cstat) de um XML de cancelamento, ele vem sempre com código 217, mas a minha aplicação não está conseguindo pegar o retorno, segue o trecho de código se alguém puder me ajudar, agradeço.

O XML segue em anexo.

 if length(arquivo_xml) > 0 then
            NFeletronica.NotasFiscais.LoadFromFile(form_configl.Etrilha_xmls.Text + arquivo_xml);
         //
         NFeletronica.EventoNFe.Evento.Clear;
         //
         NFeletronica.EventoNFe.idLote := funcs_var.F_cartoint(cupom); // lote é sempre numero da nota.
         with NFeletronica.EventoNFe.Evento.Add do
         begin
            infEvento.chNFe := chave_cupom;
            infEvento.CNPJ := dados_nfce.EmitCNPJ;
            // 2.0.33.1.3 // isto funciona, mas o computador tem que estar um minuto menor que o servidor, e o cancelamento deve ser um minuto após a venda
            infEvento.dhEvento := now;
            // infEvento.dhEvento := NFeletronica.WebServices.StatusServico.dhRetorno;
            if length(VG_arqlog) > 0 then
               funcs_txt.P_Log(VG_arqlog, '     Chave:' + infEvento.chNFe + '; ' +
                  ' CNPJ:' + infEvento.CNPJ + '; ' +
                  ' Data:' + DateTimeToStr(infEvento.dhEvento), false, '', true);
            infEvento.tpEvento := teCancelamento;
            infEvento.detEvento.xJust := 'Desistencia do Cliente';
            // não tem protocolo porque é sincrono
            // infEvento.detEvento.nProt := local_SDS.FieldByName('PROTOCOLO_NFE').AsString;
         end;
         NFeletronica.EnviarEvento(funcs_var.F_cartoint(cupom));

51160417835784000170650010001384439001384437-sit.xml

Postado

Se você já carregou com LoadFromFile, não precisa digitar esse tanto de código, veja que a função ACBrNFe.Cancelamento(justificativa) já faz isso por você.
Ai basta consultar a propriedade ACBrNFe.WebServices.EnvEvento.cStat

Se está dando rejeição, você está fazendo algo errado (como informar um ambiente diferente). Veja: 
http://www.oobj.com.br/bc/article/rejei%C3%A7%C3%A3o-217-nf-e-n%C3%A3o-consta-na-base-de-dados-da-sefaz-como-resolver-113.html

 

 

 

 

Postado (editado)

Se você quiser pegar o cstat do resultado do processamento do lote de cancelamento, pode fazer assim...

DM.ACBrNFe1.WebServices.EnvEvento.EventoRetorno.retEvento[0].RetInfEvento.cstat

Espero ter ajudado, abraço.

Editado por Carlinhos Nepomuceno
  • Este tópico foi criado há 3152 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.