Ir para conteúdo
  • Cadastre-se

dev botao

Erro Ao Cancelar Cte


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

Recommended Posts

Postado

Ola, bom dia a todos, talves seja algo que estou fazendo errado, mas aconteceu depois de ter atualizado ontem todos os componentes do Acbr. 

 

A função "CTeUtil.IdentificaTipoSchema(const AXML: AnsiString; var I: Integer): Integer;"   esta sempre retornando 4 ou seja erro, ao debugar verifiquei que

 

A variavel :

 

AXML esta chegando com valor '</envEvento>'

 

E a comparação é para  ser: 

 

"lTipoEvento := Trim(RetornarConteudoEntre(AXML, '<tpEvento>', '</tpEvento>'));" 

 

 

 

Estou alimentando o componente com o seguinte código:

 

   CTe.EventoCTe.Evento.Clear;
    with CTe.EventoCTe.Evento.Add do
    begin
      infEvento.nSeqEvento      := 1; // Para o Evento de Cancelamento: nSeqEvento sempre = 1
      infEvento.chCTe           := Copy(CTe.Conhecimentos.Items[0].CTe.infCTe.Id, 4, 44);
      infEvento.CNPJ            := edtEmitCNPJ.Text;
      infEvento.dhEvento        := now;
      infEvento.tpEvento        := teCancelamento;
      infEvento.detEvento.xJust := trim(vAux);
    end;
 
 
 
o que sempre retorna "Arquivo de Schema não encontrado" 
 

Captura de tela 2024-07-23 103314.png

Postado (editado)

Boa tarde, Italo.

 

Após atualizar o evento é enviado, mas retorna um erro Desconhecido. Caindo neste trecho :

 

  if not Result then
  begin
    if Assigned(Self.OnGerarLog) then
      Self.OnGerarLog(WebServices.EnvEvento.Msg);
    if WebServices.EnvEvento.Msg <> ''
     then raise EACBrCTeException.Create(WebServices.EnvEvento.Msg)
     else raise EACBrCTeException.Create('Erro Desconhecido ao Enviar Evento de CT-e!')
  end;
 
Parece que a função :    Result := WebServices.EnvEvento.Executar; 
 
esta sempre retornando false, mesmo que debugando não entrou em nenhum exception.
 
 
Depois disso se consultar o CTe ele esta com o evento vinculado. 
Editado por fabiofranzini

Captura de tela 2024-07-23 103314.png

  • Consultores
Postado

Fabio,

 

O componente ACBrCTe possui a propriedade: Configuracoes.WebServices.Salvar atribua o valor True e faça novos testes.

 

Isso não vai resolver o problema, mas serão gravados arquivos de envio e de retorno com a palavra soap no final do nome.

 

Post como anexo o arquivo de envio e de retorno para que possamos analisar.

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)

Italo, segue anexo, executei da seguinte forma: 

 

1-CTe enviado ao SEFAZ com retorno OK.

2-Cancelamento por evento - Retornou erro desconhecido. 

3-Consultei o CTe, e o mesmo ja se encontra Cancelado.

 

Não sei bem , mas parece que ao efetuar o evento de cancelamento ele não criou nenhum arquivo SOAP, mesmo assim estou te envianto todos os arquivos criados na pasta resposta. (Limpei ela antes de efetuar este teste).

 

 

351000007077771-ped-rec.zip

Editado por fabiofranzini

Captura de tela 2024-07-23 103314.png

Postado (editado)

Ítalo, só para complemento do assunto, vi que você adicionou a função cancelamento, ela também retorna este erro desconhecido, no final o cancelamento é feito, mas da esta exception ao executar.

Editado por fabiofranzini

Captura de tela 2024-07-23 103314.png

Postado (editado)

Boa tarde Italo, atualizei os fontes da acbr, e no envio do evento do cte, verifiquei que ocorre a validação na function

TCTeEnvEvento.TratarResposta:

FcStat   := FEventoRetorno.cStat;
  FxMotivo := FEventoRetorno.xMotivo;
  FMsg     := FEventoRetorno.xMotivo;
  FTpAmb   := FEventoRetorno.tpAmb;

  Result := (FEventoRetorno.cStat = 128) or
            (FEventoRetorno.cStat = 135) or
            (FEventoRetorno.cStat = 136) or
            (FEventoRetorno.cStat = 155);

mas os campos acima foram comentados

na TRetEventoCTe.LerXml

{

      FidLote   := Leitor.rCampo(tcInt, 'idLote');
      FtpAmb    := StrToTpAmb(ok, Leitor.rCampo(tcStr, 'tpAmb'));
      FverAplic := Leitor.rCampo(tcStr, 'verAplic');
      FcOrgao   := Leitor.rCampo(tcInt, 'cOrgao');
      FcStat    := Leitor.rCampo(tcInt, 'cStat');
      FxMotivo  := Leitor.rCampo(tcStr, 'xMotivo');
}

 

Ocorrendo o erro desconhecido.

Editado por rafikrafael

Rafael Marcelo dos Santos

Desenvolvedor de Sistemas

Ápice Sistemas - Paranavaí - PR

email: [email protected]

fone: 44 3045 6878

Postado

Italo, pelo demo do Acbr - ele retorba no log :

 

Versão Layout : 2.00
Ambiente : 1
Versão Aplicativo : 
Status Código : 0
Status Descrição : 
Recebimento : 
 
E depois "Erro desconhecido"
 
 
Pela minha aplicação, vou fazer o teste daqui a pouco. Não tenho ainda uma versão nova para isto.

Captura de tela 2024-07-23 103314.png

Postado

Italo, não sei se ajuda, mas quando existe algum outro problema, como por exemplo a justificativa muito pequena, ou tentar cancelar um cte ja cancelado, ele não retorna mais a mensagem com o erro, aparece uma mensagem em branco.

Captura de tela 2024-07-23 103314.png

Postado

Boa Tarde,

na function TCTeEnvEvento.TratarResposta, foi alterada ao gerar o proc de evento a tag

"eventoCte" para somente "evento", e ao utilizar o LerXMLFromString o qual utiliza a lerxml, ela tenta ler a tag "eventoCte".

Validei no manual e o schema solicita a usar a eventoCte.

 

códigos

 

TCTeEnvEvento.TratarResposta

              wProc.Add('<eventoCte versao="' + GetVersaoCTe(FConfiguracoes.Geral.VersaoDF, linha 2637

 

function TRetEventoCTe.LerXml: boolean;

 if (Leitor.rExtrai(1, 'eventoCTe') <> '') then linha 180.

 

Muito obrigado.
 

Rafael Marcelo dos Santos

Desenvolvedor de Sistemas

Ápice Sistemas - Paranavaí - PR

email: [email protected]

fone: 44 3045 6878

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