Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado

Bom dia pessoal,

Estou com um grave problema na emissão do CT-e, estou gerando o CT-e e alimentando os dados do motorista, e do caminhão, porém não está indo no xml. já verifiquei se realmente estava passando pelos campos e está passando tudo. Por favor estou precisando ver isso com muita urgencia pois nossos clientes estão parados e por consequencia eles podem ser multados. des de já agradeço.

Att.

Elvis Scorpioni

segue em anexo meu código e segue também um xml:

// veiculos --------------------------------------------------------------------

Qveiculos_rod.Close;

Qveiculos_rod.SQL.Clear;

Qveiculos_rod.SQL.Add('SELECT * FROM CTE_VEICULOS_ROD WHERE CONTROLE=:VCONTROLE ORDER BY CODIGO');

Qveiculos_rod.ParamByName('VCONTROLE').AsString:= Qcte.FIELDBYNAME('CONTROLE').AsString;

Qveiculos_rod.Open;

Qveiculos_rod.First;

WHILE NOT Qveiculos_rod.Eof DO BEGIN

with Rodo.veic.Add do begin

cInt := Qveiculos_rod.FieldByName('CINT').AsString;

RENAVAM := Qveiculos_rod.FieldByName('RENAVAM').AsString;

placa := Qveiculos_rod.FieldByName('PLACA').AsString;

tara := Qveiculos_rod.FieldByName('TARA').AsInteger;

capKG := Qveiculos_rod.FieldByName('CAPKG').AsInteger;

capM3 := Qveiculos_rod.FieldByName('CAPM3').AsInteger;

UF := Qveiculos_rod.FieldByName('UF').AsString;

case Qveiculos_rod.FieldByName('TPROD').AsInteger of

00 : tpRod:= trNaoAplicavel;

01 : tpRod:= trTruck;

02 : tpRod:= trToco;

03 : tpRod:= trCavaloMecanico;

04 : tpRod:= trVAN;

05 : tpRod:= trUtilitario;

06 : tpRod:= trOutros;

end;

case Qveiculos_rod.FieldByName('TPCAR').AsInteger of

00 : tpCar:= tcNaoAplicavel;

01 : tpCar:= tcAberta;

02 : tpCar:= tcFechada;

03 : tpCar:= tcGraneleira;

04 : tpCar:= tcPortaContainer;

05 : tpCar:= tcSider;

end;

case Qveiculos_rod.FieldByName('TPVEIC').AsInteger of

00 : tpVeic:= tvTracao;

01 : tpVeic:= tvReboque;

end;

IF Qveiculos_rod.FieldByName('TPPROP').AsString= 'P' THEN

tpProp:= tpProprio

ELSE

tpProp:= tpTerceiro;

IF Qveiculos_rod.FieldByName('MESMAEMP').AsString='N' then begin

Prop.CNPJCPF :=ReplaceCNPJ(Qveiculos_rod.FieldByName('CNPJ').AsString);

Prop.RNTRC :=Qveiculos_rod.FieldByName('RNTRC').AsString;

Prop.IE :=ReplaceCNPJ(Qveiculos_rod.FieldByName('IE').AsString);

Prop.UF :=Qveiculos_rod.FieldByName('UF').AsString;

IF TRIM(Qveiculos_rod.FieldByName('TPPROP_PROP').AsString)<>'' THEN

CASE Qveiculos_rod.FieldByName('TPPROP_PROP').AsInteger OF

0 : Prop.tpProp:= tpTACAgregado;

1 : Prop.tpProp:= tpTACIndependente;

2 : Prop.tpProp:= tpOutros;

END;

Prop.xNome := Qveiculos_rod.FieldByName('XNOME').AsString;

end;

end;

Qveiculos_rod.Next;

END;

//MOTORISTA---------------------------------------------------------------------

Qmotorista.Close;

Qmotorista.SQL.Clear;

Qmotorista.SQL.Add('SELECT * FROM CTE_MOTO WHERE CONTROLE=:VCONTROLE ORDER BY CODIGO');

Qmotorista.ParamByName('VCONTROLE').AsString:= Qcte.FIELDBYNAME('CONTROLE').AsString;

Qmotorista.Open;

Qmotorista.First;

while not Qmotorista.eof do begin

WITH RODO.moto.Add DO BEGIN

CPF := ReplaceCNPJ(Qmotorista.FIELDBYNAME('CPF').AsString);

xNome := Qmotorista.FIELDBYNAME('XNOME').AsString;

END;

Qmotorista.Next;

end;

51120801496359000164570010000008001000005850-cte.xml

Postado

Sempre passamos esses parametros mas só verifiquei agora que não está indo para o xml,

acredito que antes estava passando pois os campos passaram a ser obrigatórios. Acabei de atualizar o ct-e e continua com o mesmo problema. Vou tentar seguir seus passos para ver se consigo descobrir algo.

Obrigado.

Postado

Acho que encontrei o que está acontecendo, no código abaixo na procedure TCTeW.GerarRodo só está chamando esses e outras procedures dos dados rodoviários se o indicador de lotação for "SIM" e o campo estava sendo preenchido com "NÃO". Gostaria de saber se essas informações dos veiculos, motorista e pedagio realmente só devem ser passados se o indicador de lotação for sim?

segue o código da procedure TCTeW.GerarRodo:

if CTe.Rodo.Lota = ltSim

then begin

(**)GerarValePed;

(**)GerarVeic;

end;

(**)GerarLacre;

// Alterado por Italo em 22/07/2011

if CTe.Rodo.Lota = ltSim then

(**)GerarMoto;

  • Moderadores
Postado

No manual de integração existem as seguintes orientações:

Grupo: Veic - Um CT-e poderá ter vários veículos associados, ex.: cavalo + reboque. Só preenchido em CT-e rodoviário de lotação.

Grupo: moto - Só preenchido em CT-e rodoviário de lotação

djsystem-logo.png
 youtube.png facebook.png instagram.png linkedin.png
André Ferreira de Moraes | Analista de Sistemas
www.djsystem.com.br | www.djpdv.com.br
www.tefhouse.com.br | www.xpos.com.br
×
×
  • 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...