Ir para conteúdo
  • Cadastre-se

dev botao

Testes CC-e - problemas e solucoes encontradas


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

Recommended Posts

Boa tarde, hoje estou implementando a CC-e no meu sistema e efetuando testes, encontrei alguns problemas, como não encontrei soluções no forum, estou postando as modificações que efetuei para corrigi-las e se adequarem ao que eu preciso, segue:

--O xml de retorno, mesmo com erro, o componente, devolvia a mensagem "Lote de Evento Processado";

Como solucionei:

A Função abaixo

function TNFeCartaCorrecao.Executar: Boolean;
linha 2945 +/- como estava

    FcStat   := CCeRetorno.cStat;

    FxMotivo := CCeRetorno.xMotivo;

    FMsg     := CCeRetorno.xMotivo; 

    FTpAmb   := CCeRetorno.tpAmb;

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

Como solucionei:

    FcStat   := CCeRetorno.cStat;

    FxMotivo := CCeRetorno.xMotivo;


   /// Alterado linha abaixo para retornar a mensagem da informação do Evento e não o xMotivo pois o mesmo já

   /// se encontra na classe acima "FxMotivo"

   FMsg     := CCeRetorno.retEvento.Items[0].RetInfEvento.xMotivo;


    FTpAmb   := CCeRetorno.tpAmb;


    /// Alterado a linha Abaixo para Result=True apenas se o lote foi processado e o evento retornou sucesso e não rejeição.

    Result   := (CCeRetorno.cStat = 128) and ((CCeRetorno.retEvento.Items[0].RetInfEvento.cStat = 135) or (CCeRetorno.retEvento.Items[0].RetInfEvento.cStat = 136));


--Quando o envio era normal processo "EnviarCartaCorrecao()" estava sempre retornando Falso e a mensagem de "Lote de Evento Processado"; Como solucionei: A função abaixo não estava retornando valor
function TACBrNFe.EnviarCartaCorrecao(idLote: Integer): Boolean;
linha 317 +/- Como estava
  if not WebServices.CartaCorrecao.Executar then

Solução
  Result:=WebServices.CartaCorrecao.Executar;

  if not Result then

--Com essas mudanças o componente começou a retornar a mensagem de rejeito ou sucesso no envio corretamente e o resultado do componente tambem.

[]s

Wilson

Link para o comentário
Compartilhar em outros sites

Wilson, muito boa suas observações e correções no CC-e, tambem estou fazendo testes com este componente,

no entanto me deparei com um outro problema e talves possamos resolver juntos, que e o seguinte quando incluo mais de um evento para correção o xml gerado para o envio do xml esta registrando apenas 1 evento sendo que pela norma tecnica posso ter no maximo 20, voce ja passou por caso semelhante?

Desde ja agradeço.

Link para o comentário
Compartilhar em outros sites

bom dia, não há modulo de impressão e nem preve impressão no material sobre cc-e, o que fiz para manter algo impresso é usar o antigo modelo de carta de correção em papel, e efetuando alguns ajustes como codigo de barras da chave de acesso do danfe, numero do lote e evento e pretendo colocar o numero do protocolo de retorno do arquivo enviado ao sefaz.

[]s

Wilson

Link para o comentário
Compartilhar em outros sites

Boa Wilson,

Também fiz testes e encontrei um problema. Registrei em outro tópico acerca de um mês, porém ainda não foi alterado.

De qualquer forma gostaria de deixar registrado aqui o problema que resolvi alterando o pcnRetCCeNFe.pas trocando a linha:

(*HR25 *)FretEvento.Items.FRetInfEvento.FdhRegEvento := Leitor.rCampo(tcStr, 'dhRegEvento');

para

(*HR25 *)FretEvento.Items.FRetInfEvento.FdhRegEvento := Leitor.rCampo(tcDatHor, 'dhRegEvento');

Abraços.

Danny

Link para o comentário
Compartilhar em outros sites

  • 2 semanas depois ...
  • Este tópico foi criado há 4773 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.