Ir para conteúdo
  • Cadastre-se

dev botao

Erro Ao Cancelar


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

Recommended Posts

Postado

Boa Tarde

Atualizei o cte para a versão 2.0, consigo emitir normal, mais da erro para cancelar.

O erro é : versão do arquivo XML não suportada.

 

estou cancelando desta maneira

 

vFile:=Menu1.ACBrCTe1.Configuracoes.Geral.PathSalvar + Cte.qryPesqChave.AsString + '-cte.xml';
    Menu1.ACBrCTe1.Conhecimentos.Clear;
    Menu1.ACBrCTe1.Conhecimentos.LoadFromFile(vFile);
    Menu1.ACBrCTe1.Cancelamento(C_Justifica.Text);                      
    Menu1.ACBrCTe1.Consultar;                                       
    MessageDlg(Menu1.ACBrCTe1.WebServices.Consulta.XMotivo, mtInformation, [mbOk], 0);
 
 
Alguem por favor pode me ajudar ?
  • Solution
Postado

Boa tarde,

 

Na versão 2.00 do CT-e, apenas o cancelamento por evento é suportado.

 

Dê uma olhada nos fontes disponibilizados na pasta exemplo.

 

Segue um trecho do código que utilizo:

      ACBrCTe1.EventoCTe.Evento.Clear;

      with ACBrCTe1.EventoCTe.Evento.Add do
      begin
        infevento.chCTe           := Chave;
        infEvento.CNPJ            := EmpCNPJ;
        infEvento.dhEvento        := now;
        infEvento.tpEvento        := teCancelamento;
        infEvento.detEvento.xJust := justificativaCancelamento;
        infEvento.detEvento.nProt := Protocolo;
      end;

      ACBrCTe1.EnviarEventoCTe(10);

Atenciosamente.

Saudações,

Wislei de Brito Fernandes

Postado

Aproveitando este topico...

eu estou com problemas no cancelamento tbm.

eu não tenho este campo salvo infEvento.detEvento.nProt,

como posso pegar ele agora?

 

Vi que tem essa informação nas ultimas flag do xml... Tem como eu pegar o valor disso pelo ACBR?

algo como ACBrCte.EventoCTe.Evento.[0].RetInfEvento.nProt por exemplo?

 

Obrigado.

Postado

Bom dia osocran,

 

Carregue o XML do CT-e através do LoadFromFile, depois pegue o numero do protocolo da seguinte forma:

 

sProtocolo := ACBrCTe.Conhecimentos.Items[0].CTe.procCTe.nProt;

Obrigado Italo.

Esse deu certo. Mas vi que no meu cliente o erro foi um pouco diferente...

la o xml não tem o protocolo. mas na consulta no SEFAZ tem.

 

O que recomenda fazer nesse caso?

Obrigado.

  • Consultores
Postado

Boa tarde,

 

Não entendi, o que não tem o protocolo é o XML do CT-e?

 

Se o XML do CT-e esta assinado e foi enviado para a SEFAZ e o mesmo foi autorizado, mas por algum motivo o XML do CT-e não possui o protocolo de autorização, isso é fácil de ser resolvido.

 

Carregue o XML com o LoadFromFile, depois realize a Consulta, o componente se encarrega de acrescentar ao XML 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

Postado

Boa tarde,

 

Não entendi, o que não tem o protocolo é o XML do CT-e?

 

Se o XML do CT-e esta assinado e foi enviado para a SEFAZ e o mesmo foi autorizado, mas por algum motivo o XML do CT-e não possui o protocolo de autorização, isso é fácil de ser resolvido.

 

Carregue o XML com o LoadFromFile, depois realize a Consulta, o componente se encarrega de acrescentar ao XML o protocolo de autorização.

Exatamente isso que acontece... o SEFAZ esta offline.. ou ficou offline qdo o usuario foi mandar.

dae o meu sistema gerou o xml p mandar.. mas não veio com o protocolo.

Não sei exatamente o que aconteceu.. pq se qdo o usuario mandar e o SEFAZ estiver offline. Depois eu fui consulta no SEFAZ qdo voltou a ficar online e este CTe estava autorizado.

 

Bom.. vou tentar fazer isso que vc flw.

Obrigado.

  • Consultores
Postado

Osocram,

 

Uma coisa é a sua aplicação conseguir enviar e não conseguir obter o retorno, consequentemente o XML do CT-e ficou apenas assinado.

 

Outra coisa é a sua aplicação não conseguir enviar pelo simples fato da SEFAZ ou o seu cliente estiver off-line.

 

No primeiro caso resolvemos o problema realizando uma consulta.

 

No segundo caso como o CT-e nem sequer foi enviado, basta então fazer o seu envio.

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

Postado

Osocram,

 

Uma coisa é a sua aplicação conseguir enviar e não conseguir obter o retorno, consequentemente o XML do CT-e ficou apenas assinado.

 

Outra coisa é a sua aplicação não conseguir enviar pelo simples fato da SEFAZ ou o seu cliente estiver off-line.

 

No primeiro caso resolvemos o problema realizando uma consulta.

 

No segundo caso como o CT-e nem sequer foi enviado, basta então fazer o seu envio.

Testei aqui Italo...

Deu certo o que vc flw.. fiz a consulta com o xml sem protocolo, depois mandei salvar novamente o xml p ver.

E realmente veio atualizado...

Isso ajuda mto aqui.

Valeu mesmo.

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