Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

  • Consultores
Postado

Bom dia Vicente,

A mensagem de erro de validação é clara, você não esta informando o elemento infCorrecao.

No programa exemplo do componente não existe um botão referente a CC-e do CT-e.

Favor anexar em um arquivo TXT a rotina que você alimenta o componente com as informações para a CC-e.

  • Curtir 1
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
1 hora atrás, Italo Jurisato Junior disse:

Bom dia Vicente,

A mensagem de erro de validação é clara, você não esta informando o elemento infCorrecao.

No programa exemplo do componente não existe um botão referente a CC-e do CT-e.

Favor anexar em um arquivo TXT a rotina que você alimenta o componente com as informações para a CC-e.

 

Segue abaixo o código:


   CTE.EventoCTe.Evento.Clear;
   CTE.EventoCTe.idLote := StrToInt(idLote);
   with CTE.EventoCTe.Evento.Add do
      begin
      infEvento.tpEvento := teCCe;
      infEvento.chCTe := Chave;
      infEvento.cOrgao := StrToInt(codOrgao);
      infEvento.CNPJ   := CNPJ;
      infEvento.dhEvento := now;
      infEvento.nSeqEvento := StrToInt(nSeqEvento);
      infEvento.detEvento.xOBS:= Correcao;
      end;
   CTE.EnviarEvento(StrToInt(idLote));
   MemoResp.Lines.Text := UTF8Encode(CTE.WebServices.EnvEvento.RetWS);
//   LoadXML(WBResposta.lines, WebBrowser1);

   CTE.EventoCTe.GerarXML;
   arquivo:=CTE.EventoCTe.ObterNomeArquivo(teCCe);
   CTE.ImprimirEvento;

 

  • Consultores
Postado

Boa tarde Vicente,

A sua rotina esta incompleta, veja este exemplo:

 ACBrCTe.EventoCTe.Evento.Clear;

 with ACBrCTe.EventoCTe.Evento.New do
 begin
   infevento.chCTe              := Chave;
   infEvento.CNPJ               := CNPJ;
   infEvento.dhEvento           := now;
   infEvento.tpEvento           := teCCe;
   infEvento.nSeqEvento         := Sequencia;
   infEvento.detEvento.xCondUso := '';

   ACBrCTe.EventoCTe.Evento.Items[0].InfEvento.detEvento.infCorrecao.Clear;

   with ACBrCTe.EventoCTe.Evento.Items[0].InfEvento.detEvento.infCorrecao.New do
   begin
     grupoAlterado   := Grupo;
     campoAlterado   := Campo;
     valorAlterado   := Conteudo;
     nroItemAlterado := NumItem;
   end;
 end;

 ACBrCTe.EnviarEvento(idLote);

 // Imprime o Evento
 PathArquivo := ACBrCTe.Configuracoes.Arquivos.GetPathCTe(DataEmissao);
 ACBrCTe.Configuracoes.Arquivos.PathEvento := PathArquivo;
 dhEvento := ACBrCTe.WebServices.EnvEvento.EventoRetorno.retEvento.Items[0].RetInfEvento.dhRegEvento;

 PathEvento := ACBrCTe.Configuracoes.Arquivos.GetPathEvento(teCCe, '', dhEvento);
 NomeEvento := PathEvento + '\' + '110110' + Chave + '01' + '-procEventoCTe.xml';

 ACBrCTe.EventoCTe.Evento.Clear;
 ACBrCTe.EventoCTe.LerXML(NomeEvento);
 ACBrCTe.ImprimirEvento;

Para mais informações sobre o grupo infCorrecao: página 107 do Manual do CT-e versão 3.00a Visão Geral que esta disponível em nossa biblioteca de documentos.

 

  • Curtir 1
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
Em 04/10/2019 at 13:23, Italo Jurisato Junior disse:

Boa tarde Vicente,

A sua rotina esta incompleta, veja este exemplo:


 ACBrCTe.EventoCTe.Evento.Clear;

 with ACBrCTe.EventoCTe.Evento.New do
 begin
   infevento.chCTe              := Chave;
   infEvento.CNPJ               := CNPJ;
   infEvento.dhEvento           := now;
   infEvento.tpEvento           := teCCe;
   infEvento.nSeqEvento         := Sequencia;
   infEvento.detEvento.xCondUso := '';

   ACBrCTe.EventoCTe.Evento.Items[0].InfEvento.detEvento.infCorrecao.Clear;

   with ACBrCTe.EventoCTe.Evento.Items[0].InfEvento.detEvento.infCorrecao.New do
   begin
     grupoAlterado   := Grupo;
     campoAlterado   := Campo;
     valorAlterado   := Conteudo;
     nroItemAlterado := NumItem;
   end;
 end;

 ACBrCTe.EnviarEvento(idLote);

 // Imprime o Evento
 PathArquivo := ACBrCTe.Configuracoes.Arquivos.GetPathCTe(DataEmissao);
 ACBrCTe.Configuracoes.Arquivos.PathEvento := PathArquivo;
 dhEvento := ACBrCTe.WebServices.EnvEvento.EventoRetorno.retEvento.Items[0].RetInfEvento.dhRegEvento;

 PathEvento := ACBrCTe.Configuracoes.Arquivos.GetPathEvento(teCCe, '', dhEvento);
 NomeEvento := PathEvento + '\' + '110110' + Chave + '01' + '-procEventoCTe.xml';

 ACBrCTe.EventoCTe.Evento.Clear;
 ACBrCTe.EventoCTe.LerXML(NomeEvento);
 ACBrCTe.ImprimirEvento;

Para mais informações sobre o grupo infCorrecao: página 107 do Manual do CT-e versão 3.00a Visão Geral que esta disponível em nossa biblioteca de documentos.

 

Bom dia

Fiz a implementação da rotina, agora esta enviando a Carta de Correção Certinho. 

Muito Obrigado pela ajuda.

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

The popup will be closed in 10 segundos...