Ir para conteúdo
  • Cadastre-se

dev botao

Mais de uma placa no CT-e


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

Recommended Posts

  • Membros Pro

Bom dia 

Estou tentando gerar um Conhecimento onde o tipo de Lotação é "Sim", tendo nele as placas da carreta e dos reboques, só que quando vou abrir o XML esta constando outras placas vazias entre as que eu inclui, alguém poderia me ajudar, estou enviando o xml em anexo.

24160901243220000109570010000000011000000018-cte.xml

Link para o comentário
Compartilhar em outros sites

  • Membros Pro

Já debuguei o meu código e ele esta trazendo as três placas que inserir dentro da tabela do banco de dados, ele passa pelo "while" três vezes. Não sei por qual motivo isso esta acontecendo.

Segue o trecho do código :

     while (not qr3.Eof) do begin

         with infCTeNorm.Rodo.veic.Add do begin

              cInt    := '03';
              RENAVAM := qr3.fieldbyname('nr_renavam').asstring;
              placa   := qr3.fieldbyname('nr_placa').asstring;
              tara    := qr3.fieldbyname('nr_tara').asinteger;
              capKG   := qr3.fieldbyname('nr_cap').asinteger;
              capM3   := 0;
              tpProp  := TpcteTipoPropriedade(qr3.fieldbyname('tp_prop').asinteger);
              tpVeic  := TpcteTipoVeiculo(qr3.fieldbyname('tp_veic').asinteger);
              tpRod   := TpcteTipoRodado(qr3.fieldbyname('tp_rod').asinteger);
              tpCar   := TpcteTipoCarroceria(qr3.fieldbyname('tp_carr').asinteger);
              UF      := qr3.fieldbyname('nm_uf').asstring;

              infCTeNorm.rodo.veic.Add.Prop.CNPJCPF := qr2.fieldbyname('cd_prop').asstring;
              infCTeNorm.rodo.veic.Add.Prop.RNTRC   := qr2.fieldbyname('nr_rntrc').asstring;
              infCTeNorm.rodo.veic.Add.Prop.xNome   := SubstituePontoTracoBarra(qr2.fieldbyname('nm_prop').asstring);
              infCTeNorm.rodo.veic.Add.Prop.IE      := qr2.fieldbyname('nr_ie').asstring;
              infCTeNorm.rodo.veic.Add.Prop.UF      := qr2.fieldbyname('nm_uf').asstring;

         end;

         qr3.Next;

     end;

Link para o comentário
Compartilhar em outros sites

  • Moderadores

Ai abaixo está o seu erro!

add pra cada uma das informações!
 

              infCTeNorm.rodo.veic.Add.Prop.CNPJCPF := qr2.fieldbyname('cd_prop').asstring;
              infCTeNorm.rodo.veic.Add.Prop.RNTRC   := qr2.fieldbyname('nr_rntrc').asstring;
              infCTeNorm.rodo.veic.Add.Prop.xNome   := SubstituePontoTracoBarra(qr2.fieldbyname('nm_prop').asstring);
              infCTeNorm.rodo.veic.Add.Prop.IE      := qr2.fieldbyname('nr_ie').asstring;
              infCTeNorm.rodo.veic.Add.Prop.UF      := qr2.fieldbyname('nm_uf').asstring; 

 

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

  • Moderadores
  • Solution

Vamos lá programação:

a cada vez que você dá um add ali no

infCTeNorm.rodo.veic.Add.

ele vai adicionar um novo!

sugiro então usar um with igual o trecho acima

with infCTeNorm.Rodo.veic.Add do begin

senão ele vai criar ali por exemplo 5 blocos do veic, cada um com uma das informações e  o restante irá ficar em branco!

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

×
×
  • 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.