Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado

provavelmente por problema na internet estou com alguns ctes sem a chave, protocolo e recibo, quando tento enviar novamente retorna erro de duplicidade, claro a sefaz ja recebeu, porem estou fazendo o seguinte:

    ACBrCTe.Conhecimentos.Clear;
    ACBrCTe.Conhecimentos.LoadFromFile(DiretorioXML+Trim(DM1Fretes.CdsFretesCTECHA.Value)+'-cte.xml');
    ACBrCTe.Consultar;

    if (ACBrCTe.WebServices.Consulta.cStat = 100) then
      showmessage('Conhecimento Autorizado !');
  end;

mas esta retornando o seguinte erro

Digest do documento (chave) nao confere, e nestes casos estou tendo que baixar o xml do sefaz, como faço pra resolver pelo sistema, existe alguma maneira diferente de autorizar o xml ?

 

abs e obrigado

 

  • Consultores
Postado

Boa tarde Felipe,

Tente dessa outra forma:

 ACBrCTe.Conhecimentos.Clear;
 ACBrCTe.Conhecimentos.LoadFromFile(DiretorioXML+Trim(DM1Fretes.CdsFretesCTECHA.Value)+'-cte.xml', False);
 ACBrCTe.Consultar;

Simplesmente acrescentei o valor False como sendo o segundo parâmetro do LoadFromFile, isso faz com que o XML seja apenas carregado e não gerado novamente.

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

Felipe

Provavelmente o xml que consta na sefaz esta diferente com o seu que você tem neste momento

faz um download do xml direto do site da sefaz, acredito que seja uma solução

 

  • Curtir 1
Postado

bom dia doni obrigado

é isso que estamos fazendo porem queria uma maneira de resolver pelo proprio sistema, o que acontece é que a chave nao retorna pro sistema por alguma problema na internet, antes o simples fato de consultar o cte resolvia o problema mas agora fica retornando esse erro.

 

abs

 

 

  • Consultores
Postado

Bom dia Felipe,

O erro de divergência de DigestValue só ocorre quando o XML é gerado e assinado novamente com algum dado alterado.

Vamos a um exemplo:

O XML foi gerado, assinado e enviado para a SEFAZ, esta por sua vez recebeu processou, gerou o protocolo de autorização, mas por algum motivo na conexão o protocolo não foi retornado.

Quando usamos o LoadFromFile sem o segundo parâmetro, ocorre a leitura dos dados que estão no XML, mas um novo é gerado e assinado.

Ao realizar a leitura e uma nova geração, pode ocorrer a alteração de alguma informação, por exemplo conversão de algum carácter especial, isso já é o suficiente para que um novo DigestValue seja gerado ao ser realizada a assinatura.

Ao executar o Método Consultar, o componente compara o DigestValue do XML com o que vem com o protocolo, se for diferente o erro é apresentado.

Se isso esta ocorrendo é interessante baixar o XML do site e passar um pente fino por todas as TAGs em busca da informação diferente.

Desta forma podemos descobrir se existe algum Bug no componente.

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 (editado)

Pessoal, Boa noite

Estou tentando consulta ou ate mesmo cancelar o ct-e utilizando o xml que baixei direto da sefaz

e esta dando o seguinte erro

url não definida para TCTe consulta

Obrigado

 

 

Editado por Doni Delphi
  • Consultores
Postado

Boa noite Doni,

Para efetuar o cancelamento de um CT-e não há necessidade do XML do mesmo, uma vez que o cancelamento é um evento.

No que diz respeito a consulta o XML é interessante para que o componente seja capaz de atualizar o mesmo caso este não tenha o protocolo de autorização.

Caso o XML não seja carregado ao efetuar a consulta, a atualização não será realizada, apenas o retorno com o status atual do CT-e será salvo em disco.

A mensagem de URL não definida para o TCTeConsulta esta muito estranho.

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

perfeito Italo a hora esta diferente e sempre sera pq ela faz o cte e depois de alguns minutos provavelmente vai tentar fazer a CONSULTA, e eu estava usando o NOW na propriedade, alterei para pegar a data e hora do banco de dados do momento de geração do cte.

vou testar e retorno, mt obrigado Italo

 

  • Consultores
Postado

Felipe,

Quando enviamos o CT-e e por algum motivo não temos o retorno da SEFAZ acusando que o mesmo foi autorizado, o XML do CT-e esta apenas assinado mas sem o protocolo, correto?

Pois bem, o que temos que fazer?

Carregar o XML e executar o método Consultar.

Para carregar devemos usar o LoadFromFile da seguinte forma:

LoadFromFile( sNomeCompletoXML, False );

Note que estou informando um segundo parâmetro (valor False), isso faz com que os dados que estão no XML sejam preservados.

Consequentemente o DigestValue da assinatura não será alterado.

Espero ter ajudado.

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á 3038 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.