Ir para conteúdo
  • Cadastre-se

dev botao

Não retorna tag ProtCTe no Cancelamento CTe 3.00


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

Recommended Posts

  • Membros Pro

Boa tarde,

No Cancelamento do CTe 3.0 a tag  ProtCTe não está retornando como na versão 2.0, Ver XMLs Anexo. Pesquisando na sefaz consta que o CTe esta cancelado.

Rotina:

    vACBRCTE.Conhecimentos.GerarCTe;

    with vACBRCTE.EventoCTe.Evento.Add do
    begin
      infEvento.nSeqEvento      := 1; // Para o Evento de Cancelamento: nSeqEvento sempre = 1
      InfEvento.chCTe           := vChave;
      InfEvento.CNPJ            := vCNPJEmit;
      InfEvento.dhEvento        := vDataHoraServ;
      InfEvento.tpEvento        := teCancelamento;
      InfEvento.detEvento.xJust := vJustificativa;
      InfEvento.detEvento.nProt := vProtocolo;
    end;

    Retorno := vACBRCTE.EnviarEvento(1);


 

CTECANC_31171023338155000138570010001004791001004794-cte.xml

CTECANC_51170703915923000161570010002156961002156960-cte.xml

Link para o comentário
Compartilhar em outros sites

  • Moderadores

Bom dia, conforme descrição do Manual a tag protCTe: 

"Conjunto de resultado do processamento de cada CT-e (vide leiaute abaixo).Estas informações são retornadas apenas para o código do status do lote = 104 (Lote processado)"

Consultor SAC ACBr

José Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Link para o comentário
Compartilhar em outros sites

  • Consultores

Bom dia Luiz,

Os XMLs alem da versão ser diferente a SEFAZ-Autorizadora também é, dessa forma não da para fazer comparações.

Outra coisa importante, em nenhum Manual ou Nota Técnica ou na Legislação consta que ao cancelar um CT-e o protocolo de autorização deve ser substituído pelo de cancelamento.

Infelizmente a SEFAZ-MT no Web Services da versão 2.00 do CT-e (espero que consertem na versão 3.00) ao realizar uma consulta se o CT-e estiver cancelado é retornado o protocolo de cancelamento, sendo que o correto seria retornar o protocolo de autorização e o evento de cancelamento vinculado ao CT-e em questão.

O componente por sua vez acaba pegando o protocolo de cancelamento uma vez que o de autorização não é retornado. 

Na unit ACBrCTeWebServices temos o seguinte fragmento de código que comprova o que foi dito acima.

            Atualiza := (NaoEstaVazio(CTeRetorno.XMLprotCTe));

            if Atualiza and
               TACBrCTe(FPDFeOwner).cStatCancelado(CTeRetorno.CStat) then
              Atualiza := False;

            if (CTeRetorno.cUF = 51) and (CTeRetorno.CStat = 101) then
              Atualiza := True;

Inicialmente a variável Atualizar recebe o valor True caso temos um retorno que contenha o grupo <protCTe>.

Depois essa variável poderá se tornar False caso o status do CT-e seja cancelado.

Em seguida poderá receber o valor True caso a UF seja 51 (MT) e o status seja 101 (cancelado).

A variável Atualiza sendo True faz com que o XML caso esteja com o protocolo de autorizado, faz com que seja atualizado, ou seja, o protocolo de autorização seja substituído pelo de cancelamento.

Como dito anteriormente isso esta errado, mas infelizmente a SEFAZ-MT ao consultar um CT-e cancelado não retorna o protocolo de autorizado mais o evento de cancelamento.

Se removermos o IF em negrito (acima) um XML que esteja somente assinado, ao realizar essa consulta, corre o risco de ficar sem o protocolo, principalmente se este foi cancelado.

Não sei se ficou claro.

Mas procure fazer testes na SEFAZ-MT e na de MG com a versão 3.00 para ver o comportamento de de ambas.

Faça o seguinte teste.

Emita um CT-e na versão 3.00 na SEFAZ-MT, o XML é para ficar com o protocolo de autorizado.

Depois remova o protocolo de autorização, carregue o XML e realize uma consulta, é para repor o protocolo de autorizado.

O próximo passo é realizar o cancelamento desse CT-e.

Remova novamente o protocolo de autorizado, carregue o XML e realize a consulta, verifique se o XML recebeu o protocolo de autorizado (correto) ou o de cancelamento.

Depois fação o teste acima com a SEFAZ-MG e compare o resultado de ambas.

  • 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

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