Ir para conteúdo
  • Cadastre-se

dev botao

Xml De Ct-E Cancelado Sem A Tag "digval"


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

Recommended Posts

Bom Dia Srs., tudo bem?

 

Ao cancelar um ct-e pelo componente TACBrCTe, a tag raiz do Protocolo de recebimento do CT-e "protCTe", deixa em branco a tag "digVal". Isto dá problema em alguns sistemas contábeis em sua importação. Eles exigem que este campo esteja preenchido.

 

Lembrando que utilizo a opção de "AtualizarXMLCancelado". Espero ter ajudado. Muito Obrigado!

 

Link para o comentário
Compartilhar em outros sites

  • 2 meses depois ...
  • 1 mês depois ...
  • Moderadores

Bom dia

Gostaria de convidar ambos a ler as

Sobre o assunto tem alguma sugestão de alteração no componente?

se sim favor anexar e se possível mostrar em algum lugar

que diga no manual que não deva gerar essa tag se não existir

 

Obrigado

 

Up!

 

 

subindo...

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Black-02.png
 

 

Link para o comentário
Compartilhar em outros sites

  • 1 mês depois ...
Boa Tarde Srs., tudo bem?
 
A tag <digVal> (Digest Value do CT-e processado Utilizado para conferir a integridade do CT-e original.) fica no corpo do leiute do "Protocolo de Resposta" das consultas feitas nas emissões. 
Ele não é um campo obrigatório de ser preenchido, mas alguns sistemas contábeis ao fazer a importação do xml, validam esta informação. Neste caso o meu cliente faz o download do arquivo xml no site da sefaz, para que este campo seja preenchido. 
 
Analisando o código peguei o trecho que ele atualiza as informações do cancelamento no XML aprovado. Repare que o primeiro bloco de código é referente ao cancelamento. O segundo
é a parte que ele faz o um procedimento parecido quando se consulta um ct-e. Talvez seja este o problema. Espero ter ajudado. Obrigado! 
 

 

//Código do Cancelamento

if (FConfiguracoes.Geral.AtualizarXMLCancelado) then
           begin
              TACBrCTe( FACBrCTe ).Conhecimentos.Items.Msg                  := CTeRetorno.xMotivo;
              TACBrCTe( FACBrCTe ).Conhecimentos.Items.CTe.procCTe.tpAmb    := CTeRetorno.tpAmb;
              TACBrCTe( FACBrCTe ).Conhecimentos.Items.CTe.procCTe.verAplic := CTeRetorno.verAplic;
              TACBrCTe( FACBrCTe ).Conhecimentos.Items.CTe.procCTe.chCTe    := CTeRetorno.chCTe;
              TACBrCTe( FACBrCTe ).Conhecimentos.Items.CTe.procCTe.dhRecbto := CTeRetorno.dhRecbto;
              TACBrCTe( FACBrCTe ).Conhecimentos.Items.CTe.procCTe.nProt    := CTeRetorno.nProt;
              TACBrCTe( FACBrCTe ).Conhecimentos.Items.CTe.procCTe.digVal   := CTeRetorno.protCTe.digVal; // Creio que seja esta linha que esteja faltando
              TACBrCTe( FACBrCTe ).Conhecimentos.Items.CTe.procCTe.cStat    := CTeRetorno.cStat;
              TACBrCTe( FACBrCTe ).Conhecimentos.Items.CTe.procCTe.xMotivo  := CTeRetorno.xMotivo;
           end;
  
//Código da Consulta
if wAtualiza then
            begin
              TACBrCTe( FACBrCTe ).Conhecimentos.Items.Msg                  := CTeRetorno.xMotivo;
              TACBrCTe( FACBrCTe ).Conhecimentos.Items.CTe.procCTe.tpAmb    := CTeRetorno.tpAmb;
              TACBrCTe( FACBrCTe ).Conhecimentos.Items.CTe.procCTe.verAplic := CTeRetorno.verAplic;
              TACBrCTe( FACBrCTe ).Conhecimentos.Items.CTe.procCTe.chCTe    := FCTeChave;
              TACBrCTe( FACBrCTe ).Conhecimentos.Items.CTe.procCTe.dhRecbto := FDhRecbto;
              TACBrCTe( FACBrCTe ).Conhecimentos.Items.CTe.procCTe.nProt    := FProtocolo;
              TACBrCTe( FACBrCTe ).Conhecimentos.Items.CTe.procCTe.digVal   := CTeRetorno.protCTe.digVal; // Tag <digVal>
              TACBrCTe( FACBrCTe ).Conhecimentos.Items.CTe.procCTe.cStat    := CTeRetorno.cStat;
              TACBrCTe( FACBrCTe ).Conhecimentos.Items.CTe.procCTe.xMotivo  := CTeRetorno.xMotivo;
            end;

 

Link para o comentário
Compartilhar em outros sites

  • Consultores

Boa tarde Fernando,

 

Vamos ao Manual do CT-e versão 1.04c

 

Página 43 e 44 onde temos a estrutura de retorno do XML referente ao Consultar Recibo.

 

Note que na estrutura temos o campo #PR10 que se refere ao digVal.

 

Bom essa informação é obtida quando enviamos e obtemos o protocolo de autorização.

 

Na página 49 temos o retorno do cancelamento, note que não é retornado o digVal, o componente se utiliza do valor retornado ao ter sido autorizado.

 

Na página 60 temos o retorno da consulta da situação atual de um CTe, se ele esta autorizado temos como retorno a informação do digVal, mas se ele esta cancelado não temos essa informação.

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

Boa Tarde Ítalo, tudo bem?

 

Realmente não tinha me atentado ao retorno do cancelado, fiquei prestando atenção apenas no de processamento do ct-e. Mesmo assim o digval não deveria permanecer, mesmo depois de cancelado? Seria um erro do sistema da contabilidade tratar esta informação como obrigatório? Ou é melhor não atualizar o xml depois de cancelado? Obrigado pelo retorno.

Link para o comentário
Compartilhar em outros sites

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