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:
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