Ir para conteúdo
  • Cadastre-se

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

Recommended Posts

Postado
Seguindo a orientação recebida no Discord, estou criando este tópico para relatar um problema de layout que diagnosticamos, detalhar a solução de contorno encontrada e, principalmente, propor uma sugestão de melhoria para o componente ACBrNFeDANFEFR.

1. Descrição do Problema

Enfrentamos um problema onde o texto no "Quadro de Identificação do Emitente" do DANFE era cortado na última linha (em anexo). O mais intrigante é que o problema ocorria apenas em máquinas de um cliente específico (tanto em Windows 7 quanto em Windows 10), mas não em nosso ambiente de desenvolvimento, mesmo utilizando o mesmo executável, mesmo template .fr3 e os mesmos dados exatos do emitente.

2. Diagnóstico e Causa Raiz

Após um diagnóstico exaustivo e metódico, descartamos as seguintes causas comuns:

DPI Scaling: Todas as máquinas envolvidas estavam configuradas em 100%.

Drivers de Impressora: O problema persistia mesmo utilizando o "Microsoft XPS Document Writer" como impressora padrão.

Inconsistência de Arquivos:  o template .fr3 era idêntico em todos os ambientes.

3. Solução de Contorno Aplicada

Para resolver o problema de forma imediata para o cliente, editamos diretamente o template NotaFiscalEletronica.fr3 no FastReport Designer. A solução foi alterar a propriedade LineSpacing do objeto TfrxMemoView do emitente, reduzindo seu valor de 2 para 1. Isso fez com que o texto coubesse perfeitamente no campo, resolvendo 100% o problema visual.

Estou anexando a este tópico o arquivo .fr3 com esta modificação para análise.

4. Sugestão de Implementação de Nova Feature

Embora a edição do template resolva o problema, ela cria a necessidade de manter um arquivo .fr3 customizado, o que pode complicar a manutenção e a distribuição do software a longo prazo, especialmente quando se lida com múltiplos clientes que podem ter necessidades pontuais.

Minha sugestão é a implementação de uma nova funcionalidade no componente ACBrNFeDANFEFR que permita o acesso e a manipulação de propriedades de objetos do relatório FastReport em tempo de execução, diretamente via código Delphi.

Algo do tipo: ACBrNFeDANFEFR 1.MemoEmitente.LineSpacing := 1;

5. Conforme pedido pelo @Victor H. Gonzales - Panda, algumas variáveis para reprodução:

Razão Social (ACBrNFe1.NFe.Emit.xNome): 44 caracteres

Linha do Endereço (...enderEmit.xLgr, nro): 30 caracteres

E-mail (...enderEmit.email): 20 caracteres

Informação Adicional (utilizando a propriedade ACBrNFe1.DANFE.Site): 44 caracteres

 

 

 

 

upload_esse.jpg

NotaFiscalEletronica.rar

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