Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado

Boa noite, fiz esta alteração no DAMDFE - FORTES.

Solicito atualizar o TRUNK e também implementar no DAMDFE - FASTREPORT.

Quando o veículo é próprio, ou seja da Transportadora emitente do MDFe, o RNTRC não está sendo impresso.

Como o veículo é da transportadora, os dados do proprietário e RNTRC não são obrigatórios e não são adicionados.

A versão 2.0 usava FMDFe.rodo.RNTRC, mas agora é FMDFe.rodo.infANTT.RNTRC.

A implementação que fez permitiu imprimir.  Talvez a melhor forma seja checar a versão do XML, se for ve300 usar FMDFe.rodo.infANTT.RNTRC.

 

Função alterada - FORTES.   Necessário replicar no FASTREPORT.

procedure TfrlDAMDFeRLRetrato.rlb_2_RodoBeforePrint(Sender: TObject; var PrintIt: Boolean);
var
  i: integer;
begin
  inherited;
  rlb_2_Rodo.Enabled := (FMDFe.Ide.modal = moRodoviario);

  rlmPlaca.Lines.Clear;
  rlmPlaca.Lines.Add(FormatarPlaca(FMDFe.rodo.veicTracao.placa));

  rlmRNTRC.Lines.Clear;
  if FMDFe.rodo.veicTracao.prop.RNTRC <> '' then
    rlmRNTRC.Lines.Add(FMDFe.rodo.veicTracao.prop.RNTRC)
  else if FMDFe.rodo.RNTRC = '' then
    rlmRNTRC.Lines.Add(FMDFe.rodo.infANTT.RNTRC)

  else
    rlmRNTRC.Lines.Add(FMDFe.rodo.RNTRC);

  for i := 0 to FMDFe.rodo.veicReboque.Count - 1 do
  begin
    rlmPlaca.Lines.Add(FormatarPlaca(FMDFe.rodo.veicReboque.Items.placa));
    if FMDFe.rodo.veicReboque.Items.prop.RNTRC <> '' then
      rlmRNTRC.Lines.Add(FMDFe.rodo.veicReboque.Items.prop.RNTRC)
    else if FMDFe.rodo.RNTRC = '' then
      rlmRNTRC.Lines.Add(FMDFe.rodo.infANTT.RNTRC)

    else
      rlmRNTRC.Lines.Add(FMDFe.rodo.RNTRC);
  end;
 

Atenciosamente

Sergio

 

 

Postado

Italo

bom dia

Em anexo a ACBrMDFeDAMDFeRLRetrato.pas, alterado apenas a informação em vermelho abaixo.

 

procedure TfrlDAMDFeRLRetrato.rlb_2_RodoBeforePrint(Sender: TObject; var PrintIt: Boolean);
var
  i: integer;
begin
  inherited;
  rlb_2_Rodo.Enabled := (FMDFe.Ide.modal = moRodoviario);

  rlmPlaca.Lines.Clear;
  rlmPlaca.Lines.Add(FormatarPlaca(FMDFe.rodo.veicTracao.placa));

  rlmRNTRC.Lines.Clear;
  if FMDFe.rodo.veicTracao.prop.RNTRC <> '' then
    rlmRNTRC.Lines.Add(FMDFe.rodo.veicTracao.prop.RNTRC)
  else if FMDFe.rodo.RNTRC = '' then
    rlmRNTRC.Lines.Add(FMDFe.rodo.infANTT.RNTRC)

  else
    rlmRNTRC.Lines.Add(FMDFe.rodo.RNTRC);

  for i := 0 to FMDFe.rodo.veicReboque.Count - 1 do
  begin
    rlmPlaca.Lines.Add(FormatarPlaca(FMDFe.rodo.veicReboque.Items.placa));
    if FMDFe.rodo.veicReboque.Items.prop.RNTRC <> '' then
      rlmRNTRC.Lines.Add(FMDFe.rodo.veicReboque.Items.prop.RNTRC)
    else if FMDFe.rodo.RNTRC = '' then
      rlmRNTRC.Lines.Add(FMDFe.rodo.infANTT.RNTRC)

    else
      rlmRNTRC.Lines.Add(FMDFe.rodo.RNTRC);
  end;
 

Atenciosamente

Sérgio

ACBrMDFeDAMDFeRLRetrato.pas

Postado

No FastReport

alterei agora também.  Somente em vermelho.

Talvez a melhor forma seria checar a versão do MDFe e não pelo campo FMDFe.rodo.RNTRC  que é o  RNTRC na versão 1.0.

 

procedure TACBrMDFeDAMDFEFR.CarregaModalRodoviario;
var
  i: integer;
begin
  with cdsModalRodo, FMDFe.rodo do
  begin
    Append;
    FieldByName('RNTRC').AsString := RNTRC;
    FieldByName('CIOT').AsString  := CIOT;
    if veicTracao.placa <> '' then
    begin
      FieldByName('placa').AsString     := FormatarPlaca(veicTracao.placa);
      FieldByName('RENAVAM').AsString   := veicTracao.RENAVAM;
      FieldByName('RNTRCProp').AsString := veicTracao.prop.RNTRC;

      for i := 0 to veicTracao.condutor.Count - 1 do
      begin
        // Alteração proposta por Maciel Goettms (27/02/2014) Concatenação dos condutores já adicionados.
        FieldByName('CPF').AsString   := FieldByName('CPF').AsString + FormatarCPF(veicTracao.condutor.Items.CPF) + #13#10;
        FieldByName('xNome').AsString := FieldByName('xNome').AsString + veicTracao.condutor.Items.xNome + #13#10;
      end;
    end;

    for i := 0 to veicReboque.Count - 1 do
    begin
      FieldByName('placa').AsString     := FieldByName('placa').AsString + #13#10 + FormatarPlaca(FMDFe.rodo.veicReboque.Items.placa);
      FieldByName('RENAVAM').AsString   := FieldByName('RENAVAM').AsString + #13#10 + veicReboque.Items.RENAVAM;
      if FMDFe.rodo.RNTRC = ''
        FieldByName('RNTRCProp').AsString := FieldByName('RNTRCProp').AsString + #13#10 + IfThen(FMDFe.rodo.veicReboque.Items.prop.RNTRC <> '', FMDFe.rodo.veicReboque.Items.prop.RNTRC, FMDFe.rodo.infANTT.RNTRC);
      else
        FieldByName('RNTRCProp').AsString := FieldByName('RNTRCProp').AsString + #13#10 + IfThen(FMDFe.rodo.veicReboque.Items.prop.RNTRC <> '', FMDFe.rodo.veicReboque.Items.prop.RNTRC, FMDFe.rodo.RNTRC);

    end;

 

Atenciosamente

Sérgio

 

 

ACBrMDFeDAMDFEFR.pas

Postado

Boa noite pessoal.

@sergiom, acredito que seja mais interessante testar a versão do MDF-e no momento em que o campo do dataset criado em tempo de execução é alimentado, e preenchê-lo conforme a tag correspondente:

 

* Versão 3.0: rodo.infANTT.RNTRC

* Versões anteriores: rodo.RNTRC

image.thumb.png.24a847278695e2b2adad2a5e1d40f03d.png

 

Esta alteração resolveu a questão pra mim. Segue em anexo a unit, caso queiram utilizar.

 

Abraço.

ACBrMDFeDAMDFEFR.pas

Postado

Boa noite, 

Gabriel, foi o que sugeri, só que eu não tinha achado como checar a versão.

A melhor solução realmente é trabalhar com a versão.

Importante atualizar isso logo, pois isto pode gerar multa para a transportadora.

Abraços

 

Sérgio

 

  • Moderadores
Postado
Em 10/11/2017 at 20:06, Gabriel Bonzanini disse:

Boa noite pessoal.

@sergiom, acredito que seja mais interessante testar a versão do MDF-e no momento em que o campo do dataset criado em tempo de execução é alimentado, e preenchê-lo conforme a tag correspondente:

 

* Versão 3.0: rodo.infANTT.RNTRC

* Versões anteriores: rodo.RNTRC

image.thumb.png.24a847278695e2b2adad2a5e1d40f03d.png

 

Esta alteração resolveu a questão pra mim. Segue em anexo a unit, caso queiram utilizar.

 

Abraço.

ACBrMDFeDAMDFEFR.pas

Boa noite

subi sua sugestão para a correção achei ela correta.

Obrigado.

  • Curtir 1
Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Transparent-02.png
 

 

Postado

Bom dia,

quando teremos as versões Fortes e FastReport com esta implementação, para eu deixar meus arquivos com as versões do TRUNK2?

Atenciosamente

Sérgio

 

 

Postado
Em 14/10/2017 at 22:48, Juliomar Marchetti disse:

Boa noite

subi sua sugestão para a correção achei ela correta.

Obrigado.

Fico feliz em poder ajudar. É o mínimo que posso fazer, o projeto de vocês é fantástico e economiza muito tempo de programação.

Abraço!

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