Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado

Estou com problema para gerar o evento de cancelamento de um CTe em especial.

O programa é bem simples, o usuario seleciona qual o XML ele deseja cancelar e digita uma justificativa. O XML foi gerado pelo componente e isso já funciona a algum tempo, não consigo entender porque nesse CTe em especial ele não está funcionando.

 

Desde já agradeço a quem puder me dar uma luz;

 

Estou anexando o XML;

 

O erro que foi apresentado:

vadEULH.png

 

 

Segue trecho do código que foi citado:

  if OpenDialog1.Execute then
  begin
    ACBrCTe1.Conhecimentos.Clear;
    ACBrCTe1.Conhecimentos.LoadFromFile(OpenDialog1.FileName);
    if not(InputQuery('Cancelamento do CTe:', 'Justificativa', vAux))then
    begin                                  -
      exit;
    end;
 
    ACBrCTe1.EventoCTe.Evento.Clear;
 
    qryEmpresa.Close;
    qryEmpresa.Open;
 
    with ACBrCTe1.EventoCTe.Evento.Add do
    begin
      infEvento.nSeqEvento      := 1; // Para o Evento de Cancelamento: nSeqEvento sempre = 1
      infEvento.chCTe           := Copy(ACBrCTe1.Conhecimentos.Items[0].CTe.infCTe.Id, 4, 44);
      infEvento.CNPJ            := qryEmpresacnpj.AsString;
      infEvento.dhEvento        := now;
      infEvento.tpEvento        := teCancelamento;
      infEvento.detEvento.xJust := trim(vAux);
      infEvento.detEvento.nProt := ACBrCTe1.Conhecimentos.Items[0].CTe.procCTe.nProt;
    end;
 
    iLote := 1; // Numero do Lote do Evento
    ACBrCTe1.EnviarEventoCTe(iLote);
 
    Memo1.Lines.Text :=  UTF8Encode(ACBrCTe1.WebServices.EnvEvento.RetWS);
    memo1.Lines.Text :=  UTF8Encode(ACBrCTe1.WebServices.EnvEvento.RetWS);
    LoadXML(Memo1, WBResposta);
    ShowMessage(IntToStr(ACBrCTe1.WebServices.EnvEvento.EventoRetorno.retEvento.Items[0].RetInfEvento.cStat));
    ShowMessage(ACBrCTe1.WebServices.EnvEvento.EventoRetorno.retEvento.Items[0].RetInfEvento.nProt);
  end;

35140809602853000178570000000039661220776052-cte.xml

  • Consultores
Postado

Boa noite Diego,

 

Primeiro a mensagem de erro de validação diz que a TAG nProt esta com valor vazio e isso não é permitido.

 

Segundo se você abrir com um navegador o XML que você postou, vai notar que o mesmo não possui o protocolo de autorização.

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / Araraquara-SP

Araraquara - A era dos Trólebus

  • Consultores
Postado

Boa tarde Diego,

 

Ou você esta pegando o XML errado ou por algum motivo, normalmente erro no retorno da SEFAZ o XML não foi atualizado com o protocolo.

 

Neste caso é simples, basta carregar o XML com o LoadFromFile e depois executar o Consultar.

 

Verifique também se a propriedade AtualizarXMLCancelado esta com o valor True.

 

Após realizar a consulta o XML vai ser atualizado fincando assinado e protocolado.

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / Araraquara-SP

Araraquara - A era dos Trólebus

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