Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

  • Membros Pro
Postado

Bom dia,

O Danfe da NFCe, quando impresso com o componente ACBrNFeDANFCeFortes, está fazendo um cálculo errado do tamanho das linhas dos itens, o que deixa um espaço em branco desnecessário no final, o qual poderia ser utilizado para aumentar descrição.
No cálculo para chegar o tamanho total da descrição do item (linha 1002 da ACBrDANFCeFortesFr.pas) é obtido o tamanho final de sDecricao desconsiderando o literal '[DesProd]'. No meu entender, esses 9 dígitos devem ser computados pois já estão sendo considerados em LinhaItem e serão descartados depois no StringReplace(linha 1005).

Sugestão de alteração da linha 1002 ACBrDANFCeFortesFr.pas
- Como está: nTamDescricao := maxCaracter - Length(LinhaItem));
- Como deve ficar: nTamDescricao := maxCaracter - Length(LinhaItem) + length('[DesProd]'); ou nTamDescricao := maxCaracter - Length(LinhaItem) + 9;

Essa alteração fará com que a impressão dos dados dos itens ocupe toda a largura da bobina (maxCaracter), da mesma forma com o que acontece na impressão dos títulos no beforePrint da banda rlbLegenda.
Fiz as adequações aqui e funcionou beleza!
Em anexo a unit já alterada.

Obrigado.

ACBrBoletoFCFortesFr.pas

Valdir Dill

Rio de Janeiro - RJ

 

 

  • Membros Pro
Postado
5 minutos atrás, Juliomar Marchetti disse:

Pera

vamos lá tu está falando aqui de DANFe ou Boleto?

pois tu escreveu sobre DANFe o tempo todo mas a unit é do Boleto

Boa tarde,

Anexei o arquivo errado. Desculpe-me.

É Danfce mesmo. Agora vai o arquivo correto.

Obrigado.

ACBrDANFCeFortesFr.pas

  • Obrigado 1

Valdir Dill

Rio de Janeiro - RJ

 

 

  • Membros Pro
Postado

Beleza. Obrigado.

Só tem um detalhe que eu não havia percebido antes, rs...

Depois que enviei a sugestão, pedi para um cliente fazer outro teste em outra impressora. Ele tem uma Epson TM-20 e a linha acabou cortando no final.
Talvez essa folga que era deixada no final das linhas dos itens, era justamente por causa disso.

Creio que o problema esteja na fonte que, no layout já pronto da  aCBrDANFCeFortesFr.dfm está com Courier New. 
Se fizer um preview, fica correto. Mas quando a impressão de fato é feita na impressora, acaba cortando no final. A impressora assume outra fonte maior.
Será que é possível forçar a impressora a usar a fonte configurada no fortes (Courier New)?

Anexos  a imagem do print e da impressão.

Obrigado.

preview.png

print.jpg

Valdir Dill

Rio de Janeiro - RJ

 

 

  • Membros Pro
Postado
3 minutos atrás, Juliomar Marchetti disse:

Necessitar reverter sua alteração?

Bom dia,

Sim. 

Talvez deixar a linha 1002 com um comentário avisando. Algo assim:
nTamDescricao := maxCaracter - Length(LinhaItem); //não pode considerar o length de '[DesProd]' porque precisa ficar uma folga no final da linha tendo em vista q em algumas impressoras, a impressão ocupa mais espaço horizontal.

Obrigado!

Valdir Dill

Rio de Janeiro - RJ

 

 

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