Ir para conteúdo
  • Cadastre-se

dev botao

DANFE FastReport com 1 Veiculo Novo imprimindo em 2 folhas


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

Recommended Posts

Boa tarde;

  A impressão do DANFE em FastReport para veiculos novos, esta saindo em 2 folhas, sempre que é em modo paisagem, e quando é em modo retrato, se houver um pouco mais de informacoes adcionais para o produto, tambem imprime em 2 folhas.

  Acho que seria interessante a fonte de dados adcionais do produto ser um pouco menor, e quando fosse montar os dados do veiculo, não deveria colocar cada tag em separados em uma linha, poderia colocar as tags separadas por ' - ' e deixar o componente expandir a linha. Ficaria melhor visualmente.

  Segue anexado um XML e PDF que demonstra o resultado.

[]s

Andre Faria

26150917798799000106550010000012071000012071-nfe.pdf

26150917798799000106550010000012071000012071-nfe.xml

Link para o comentário
Compartilhar em outros sites

Regys, pensei nisso a priori, mas vi que não existe no .fr3 um campo especifico para informações adcionais do produto, e esta sendo colocado tudo junto com a descrição do produto, quebrando linhas no codigo fonte do delphi, enviei o mesmo anteriormente para analise, a funcao que alterei foi a "ManterVeiculo"

Link para o comentário
Compartilhar em outros sites

  • Moderadores

Regis , não pode ser criada uma propriedade para controlar o ManterVeiculo ? Para este caso de quebrar ou não. Não esqueça que existe o ManterVeiculo :) na Danfe, em  Fortes Report também.  

Exemplo :

Function TACBrNFeFRClass.ManterVeiculos( inItem:  integer  ) : String;
Var
  sQuebraLinha : String;
begin
  Result := '';
{ detalhamento especifico de veículos }
  with FNFe.Det.Items[inItem].Prod do
  begin
    if veicProd.chassi > '' then
    begin

      // Criar a propriedade no componente bQuebraLinha 

      if bQuebraLinha then
        sQuebraLinha := ';'
      else
        sQuebraLinha := ' - '

       //----------------

        Result := sQuebraLinha;
        Result := Result + ACBrStr('TIPO DE OPERAÇÃO: ' + VeiculosTipoOperStr( veicProd.tpOP ) ) + sQuebraLinha;
        Result := Result + ACBrStr('CHASSI: ' )+ veicProd.chassi + sQuebraLinha;
        Result := Result + ACBrStr('CÓDIGO DA COR: ' )+ veicProd.cCor + sQuebraLinha;
        Result := Result + ACBrStr('NOME DA COR: ') + veicProd.xCor + sQuebraLinha;
        Result := Result + ACBrStr('POTÊNCIA DO MOTOR: ') + veicProd.pot + sQuebraLinha;
        Result := Result + ACBrStr('CILINDRADAS: ') + veicProd.Cilin + sQuebraLinha;
        Result := Result + ACBrStr('PESO LÍQUIDO: ') + veicProd.pesoL + sQuebraLinha;
        Result := Result + ACBrStr('PESO BRUTO: ' )+ veicProd.pesoB + sQuebraLinha;
        Result := Result + ACBrStr('NÚMERO DE SÉRIE: ') + veicProd.nSerie + sQuebraLinha;
        Result := Result + ACBrStr('COMBUSTÍVEL: ' + VeiculosCombustivelStr( veicProd.tpComb ) ) + sQuebraLinha;
        Result := Result + ACBrStr('NÚMERO DO MOTOR: ') + veicProd.nMotor + sQuebraLinha;
        Result := Result + ACBrStr('CAP. MÁX. TRAÇÃO: ') + veicProd.CMT + sQuebraLinha;
        Result := Result + ACBrStr('DISTÂNCIA ENTRE EIXOS: ') + veicProd.dist + sQuebraLinha;
        Result := Result + ACBrStr('ANO DO MODELO: ' )+ IntToStr(veicProd.anoMod) + sQuebraLinha;
        Result := Result + ACBrStr('ANO DE FABRICAÇÃO: ') + IntToStr(veicProd.anoFab) + sQuebraLinha;
        Result := Result + ACBrStr('TIPO DE PINTURA: ') + veicProd.tpPint + sQuebraLinha;
        Result := Result + ACBrStr('TIPO DE VEÍCULO: ' + VeiculosTipoStr( veicProd.tpVeic ) )+ sQuebraLinha;
        Result := Result + ACBrStr('ESPÉCIE DO VEÍCULO: ' +VeiculosEspecieStr( veicProd.espVeic )) + sQuebraLinha;
        Result := Result + ACBrStr('VIN (CHASSI): ' + VeiculosVinStr( veicProd.VIN ) )+ sQuebraLinha;
        Result := Result + ACBrStr('CONDIÇÃO DO VEÍCULO: ' +VeiculosCondicaoStr( veicProd.condVeic)) + sQuebraLinha;
        Result := Result + ACBrStr('CÓDIGO MARCA MODELO: ') + veicProd.cMod + sQuebraLinha;
        Result := Result + ACBrStr('CÓDIGO COR DENATRAN: ' +VeiculosCorDENATRANSTr( veicProd.cCorDENATRAN )) + sQuebraLinha;
        Result := Result + ACBrStr('CAP.MÁXIMA DE LOTAÇÃO: ') +IntToStr(veicProd.lota) + sQuebraLinha;
        Result := Result + ACBrStr('RESTRIÇÃO: ' +VeiculosRestricaoStr( veicProd.tpRest ) )+ ';';
    end;
  end;
end;

Equipe ACBr Henrique Leonardo
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Tecnólogo em processamento de dados

E-mail [email protected] - Skype : hleorj

Link para o comentário
Compartilhar em outros sites

  • Moderadores

Segue para testes;

Nova propriedade 

 fQuebraLinhaEmVeiculos : Boolean;

Novo tratamento em ManterVeiculos para os casos acima.

 

ACBrNFeDANFEFR.pas

ACBrNFeDANFEFRDM.pas

Editado por hleorj
Equipe ACBr Henrique Leonardo
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Tecnólogo em processamento de dados

E-mail [email protected] - Skype : hleorj

Link para o comentário
Compartilhar em outros sites

  • Moderadores
Equipe ACBr Henrique Leonardo
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Tecnólogo em processamento de dados

E-mail [email protected] - Skype : hleorj

Link para o comentário
Compartilhar em outros sites

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