Ir para conteúdo
  • Cadastre-se

dev botao

não grava o protocolo no cte


josemarmt
Ver Solução Respondido por Italo Giurizzato Junior,
  • Este tópico foi criado há 1819 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Boa tarde senhores e senhoras.

De um tempo para ca, em alguns caso não é registrado os dados no final do XML e antes ao consultar o protocolo o XML era completado com estes dados, agora não mais. Tenho que fazer algum outro procedimento para que eu consiga fazer este registro?

Desde já agradeço a colaboração.

Abs

Link para o comentário
Compartilhar em outros sites

  • Consultores

Boa tarde Jose,

O componente não acrescenta o protocolo no final do XML caso o CT-e seja rejeitado.

Verifique se esses cujo XML não foi atualizado com o protocolo se eles se encontram na SEFAZ.

Consultor SAC ACBr

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

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

15 horas atrás, Italo Jurisato Junior disse:

Boa tarde Jose,

O componente não acrescenta o protocolo no final do XML caso o CT-e seja rejeitado.

Verifique se esses cujo XML não foi atualizado com o protocolo se eles se encontram na SEFAZ.

Bom dia Italo, 

Sim o CTe esta presente no portal da Receita, ele até me mostra o número do protocolo em um showmessage que coloquei, porém não atualiza o XML.

Grato pelo retorno.

Link para o comentário
Compartilhar em outros sites

  • Consultores

Bom dia Jose,

Quando isso ocorre, ou seja, o XML é enviado e é autorizado mas fica sem o protocolo de autorização, a solução é simples:

1. Carregar o XML assinado através do método LoadFromFile;

2. Executar o método Consultar.

Consultor SAC ACBr

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

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

Bom dia a todos eu estou com o mesmo problema...

E alguns minutos atrás recebi mais um e-mail de cliente falando que o contador reclamou de xml sem o número de protocolo...

Eu segui a dica do Italo para fazer manualmente, funcionou perfeitamente aqui

 AbrirCte.Title      := 'Selecione o CTe';
 AbrirCte.DefaultExt := '*-cte.xml';
 AbrirCte.Filter     := 'Arquivos CTe (*-cte.xml)|*-cte.xml|Arquivos XML (*.xml)|*.xml|Todos os Arquivos (*.*)|*.*';
 AbrirCte.InitialDir := PathMensal;

 if AbrirCte.Execute then begin
   ACBrCTe1.Conhecimentos.Clear;
   ACBrCTe1.Conhecimentos.LoadFromFile(AbrirCte.FileName);
   ACBrCTe1.Consultar;
 end;
 

Só que se eu quiser que o meu sistema detecta que está com o status 204 duplicidade e peço para o sistema arrumar sozinho ele dá um erro DigestValue do documento número do cte não confere.

Alguém pode me dar uma dica como eu arrumo isso?

Grato,

Wagner

Link para o comentário
Compartilhar em outros sites

10 minutos atrás, wagner_fix disse:

Bom dia a todos eu estou com o mesmo problema...

E alguns minutos atrás recebi mais um e-mail de cliente falando que o contador reclamou de xml sem o número de protocolo...

Eu segui a dica do Italo para fazer manualmente, funcionou perfeitamente aqui

 AbrirCte.Title      := 'Selecione o CTe';
 AbrirCte.DefaultExt := '*-cte.xml';
 AbrirCte.Filter     := 'Arquivos CTe (*-cte.xml)|*-cte.xml|Arquivos XML (*.xml)|*.xml|Todos os Arquivos (*.*)|*.*';
 AbrirCte.InitialDir := PathMensal;

 if AbrirCte.Execute then begin
   ACBrCTe1.Conhecimentos.Clear;
   ACBrCTe1.Conhecimentos.LoadFromFile(AbrirCte.FileName);
   ACBrCTe1.Consultar;
 end;
 

Só que se eu quiser que o meu sistema detecta que está com o status 204 duplicidade e peço para o sistema arrumar sozinho ele dá um erro DigestValue do documento número do cte não confere.

Alguém pode me dar uma dica como eu arrumo isso?

Grato,

Wagner

Obrigado a todos pelo retorno, estava utilizando o comando

//  ACBrCTe1.WebServices.Consulta.CTeChave := copy(dmlote.cdsconhece.fieldbyname('CHAVE').AsString,21,44);
//  ACBrCTe1.WebServices.Consulta.Executar;

ao invés do loadfromfile.

Forte abraço a todos, não não sei como finalizar o tópico.

Link para o comentário
Compartilhar em outros sites

  • Consultores
  • Solution

Bom dia Wagner,

Se esta ocorrendo o erro de DigestValue não confere isso significa que você o XML foi gerado novamente e provavelmente com data/hora de emissão diferente do primeiro que foi enviado ou outra informação.

  • Curtir 1
Consultor SAC ACBr

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

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

  • Consultores

Boa tarde Wagner,

Se o XML foi gerado, assinado, validado e enviado, me responda qual é a necessidade de gerar novamente o XML caso ocorre algum erro de conexão?

Só devemos gerar novamente caso o conhecimento seja rejeitado pela SEFAZ, ai sim, você gera o XML novamente com as devidas correções, caso contrario não.

O conhecimento foi enviado, ocorreu erro de timeout por exemplo, qual é o procedimento?

1. Carregar o XML através do LoadFromFile;

2. Executar o método Consultar;

Se o conhecimento realmente foi enviado para a SEFAZ e esta processou com sucesso, ao consultar será retornado o protocolo de autorização e o mesmo será incluído no XML, deixando-o completo, ou seja, assinado e protocolado.

Agora se ocorreu algum problema, será retornado a rejeição, neste caso conforme já descrito acima, devemos corrigir a informação errada, gerar novamente o XML e enviar.

E temos o caso de ao consultar retornar que o conhecimento não existe na base de dados, neste caso, devemos simplesmente enviar novamente.

  • Curtir 1
Consultor SAC ACBr

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

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

Italo bom dia...

Explico: As vezes (não é todos meus clientes), ele vai enviar o CT-e para o sefaz ele envia, mas não retorna o XML com o protocolo e da Timeout.

O que acontece no meu sistema? Quando ele envia e me da o retorno de sucesso... Eu atualizo o meu banco de dados falando que foi enviado com protocolo, chave e etc...

Mas quando da timeout (sem me retornar o xml atualizado do sefaz), o meu banco de dados não atualiza e ele fica pronto para enviar novamente, ai quando o usuário vai tentar enviar novamente (nesse momento ele gera um novo XML) e quando retorna o status de cte duplicado e eu tento corrigir pelo o consultar ele fala que o DigestValue está diferente.

Consegui explicar?

Grato,

Wagner

Link para o comentário
Compartilhar em outros sites

  • Consultores

Bom dia Wagner,

Da forma que você implementou esta errada.

Se após o envio ocorre o erro de timeout, você não pode deixar o usuário enviar novamente e sim consultar.

Porque tem que ser dessa forma, pelo simples fato de você não saber que o erro ocorreu no envio ou no retorno.

Ao consultar se retornar o protocolo, fica claro que o erro ocorreu no retorno.

Se retornar que o CT-e não consta na base de dados, fica claro que o erro ocorreu no envio, ai sim, você libera para que o usuário possa enviar novamente.

Se retornar rejeições, fica claro que o erro ocorreu no retorno, mas o CT-e não foi autorizado, ai sim, você libera para que o usuário possa fazer as devidas correções e enviar novamente.

  • Curtir 1
Consultor SAC ACBr

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

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

  • Consultores

Obrigado por reportar.

Fechando. Para novas dúvidas, criar um novo tópico.

  • Curtir 1
  • Obrigado 1
Consultor SAC ACBr

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

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 1819 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
Visitante
Este tópico está agora fechado para novas respostas
×
×
  • 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.