Ir para conteúdo
  • Cadastre-se

dev botao

URGENTE - Atualizar impressão MDFe - RNTRC não está saindo quando veículo é proprio do Emitente do MDFe


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

Recommended Posts

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

 

 

Link para o comentário
Compartilhar em outros sites

  • Consultores

Bom dia Sérgio,

Favor anexar as Units que você alterou para que possamos analisar, caso esteja tudo OK, enviaremos para o repositório.

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

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

Link para o comentário
Compartilhar em outros sites

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

Link para o comentário
Compartilhar em outros sites

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

Link para o comentário
Compartilhar em outros sites

  • Consultores

Bom dia a todos,

Como não trabalho com o Fast Report, vou deixar para outros moderadores analisarem.

Desde já muito obrigado pela colaboração.

  • Curtir 1
Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

  • Moderadores
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_Black-02.png
 

 

Link para o comentário
Compartilhar em outros sites

  • Consultores

Boa tarde Sérgio,

Você atualizou os fontes?

Pela postagem do Juliomar no caso do Fast já foi enviando para o repositório.

  • Curtir 1
Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

  • 2 meses depois ...
  • Consultores

Boa tarde Rigotti,

Muito obrigado pela colaboração, já esta no repositório.

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

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

The popup will be closed in 10 segundos...