Ir para conteúdo
  • Cadastre-se

dev botao

DANF-e Fast Report - Sugestão de melhorias


Ver Solução Respondido por Juliomar Marchetti,
  • Este tópico foi criado há 2439 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Postado

Boa tarde pessoal.

Gostaria de contribuir com algumas melhorias para a visualização de DANF-e do Fast Report, ambas para o detalhamento específico de medicamentos/lotes e com o intuito de reduzir um pouco o espaço ocupado, pois em muitos casos 2 itens já preenchem uma folha inteira:

  • Teste para que não seja reimpressa a quantidade do lote caso a mesma seja igual à quantidade total do item, o que subentende que há apenas um lote referenciado;
  • Teste para que não seja impressa uma linha com o "código de agregação" caso o mesmo esteja em branco (seu conteúdo não é obrigatório de acordo com o layout da NF-e);
  • Melhorias nas quebras de linha, pois em alguns casos está ficando uma linha em branco após o código da Anvisa.

Peço que verifiquem se está nos padrões desejados e qualquer coisa me avisem.

Gabriel.

ACBrNFeDANFEFRDM.pas

Postado

Bah, não sabia da existência dessa propriedade... Obrigado, vai reduzir bastante o espaço. Eu imaginei que 'sQuebraLinha' fosse uma constante do ACBr, como a 'sLineBreak' (padrão do Delphi).

De qualquer forma, acha que fariam sentido os tratamentos adicionados para que não sejam impressos textos sem necessidade? No caso do detalhe de rastreamento, fica apenas um 'C.AGREGAÇÃO: ' sem nada a seguir, caso a informação não esteja preenchida.

Grato pela atenção.

  • Curtir 1
  • Moderadores
Postado
  Em 08/05/2018 at 17:24, Gabriel Bonzanini disse:

De qualquer forma, acha que fariam sentido os tratamentos adicionados para que não sejam impressos textos sem necessidade?

Expandir  

mas acho que as informações ali contidas são obrigadas.

portanto sempre vão ter se existirem.

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: juliomar_m@yahoo.com.br
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Transparent-02.png
 

 

Postado
  Em 08/05/2018 at 18:09, Juliomar Marchetti disse:

mas acho que as informações ali contidas são obrigadas.

portanto sempre vão ter se existirem.

Expandir  

O código de agregação não, segundo o layout (e segundo os testes que fiz enviando sem preencher):

image.thumb.png.072ab961d75d370b1a20c5722777d601.png

E a questão da quantidade acho que ela também não precisaria ser reimpressa, caso seja igual à quantidade total do item, pois isto indicaria que existe apenas um lote em questão e a quantidade total pertence à este mesmo lote...

  • Curtir 1
  • Moderadores
Postado
  Em 08/05/2018 at 18:29, Gabriel Bonzanini disse:

Abaixo um exemplo de DANF-e impresso no cliente, e onde seriam aplicadas as melhorias mencionadas:
image.thumb.png.c7d55052447f15c39bcca0e9f5868aa6.png

Expandir  

Então sugestão tente mudar a parte onde ele seta a sQuebraLinha

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: juliomar_m@yahoo.com.br
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Transparent-02.png
 

 

Postado
  Em 08/05/2018 at 19:28, Juliomar Marchetti disse:

Então sugestão tente mudar a parte onde ele seta a sQuebraLinha

Expandir  

Este trecho está correto ao meu ver... Pois o sQuebraLinha irá conter ';' (quebra de linha) ou então ' - ':

Function TACBrNFeFRClass.QuebraLinha : String;
begin
  if fQuebraLinhaEmDetalhamentoEspecifico then
    Result := ';'
  else
    Result := ' - ';
end;

Os ajustes foram feitos apenas dentro dos procedimentos 'ManterMedicamentos' e 'ManterRastro', sem afetar o restante dos detalhamentos.

  • Curtir 1
Postado
  Em 08/05/2018 at 19:54, Juliomar Marchetti disse:

Sim eu sei mas sua alteração força a pessoa que quiser continuar a usar a quebra de linha não poder mais.

sugestão é tratar ali onde falei, o else do result basta mudar e testar para vazio

Expandir  

Ahhh não não... A intenção não é essa... Se reparar no arquivo ajustado, eu mantive a utilização do 'sQuebraLinha' que vai conter o que o usuário tiver preenchido na propriedade 'QuebraLinhaEmDetalhamentoEspecifico'.

 

A intenção é que, independente do fato de quebrar a linha ou não, que sejam suprimidas informações desnecessárias.

  • Curtir 1
  • 2 semanas depois ...
  • 4 semanas depois ...
  • Moderadores
Postado
  Em 18/05/2018 at 12:50, Gabriel Bonzanini disse:

Algum desenvolvedor poderia verificar e upar este código? Estou usando ele em produção aparentemente está 100%.

Expandir  

Post , xml . para tomada decisão melhor

Dica

 Ao oferecer uma sugestão de melhorias , valide as mesma para os Engine Report Fortes e Fast Report.

Grato

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

Projeto ACBr

Tecnólogo em processamento de dados

E-mail hleonardopa@yahoo.com.br - Skype : hleorj

Postado
  Em 14/06/2018 at 01:45, hleorj disse:

Post , xml . para tomada decisão melhor

Dica

 Ao oferecer uma sugestão de melhorias , valide as mesma para os Engine Report Fortes e Fast Report.

Grato

Expandir  

Boa tarde @hleorj! Grato pela atenção.

Na verdade, a alteração é específica para a unit ACBrNFeDANFEFRDM.pas, que acredito ser exclusiva para o Fast Report. Segue em anexo arquivo xml.

NF.xml

  • Moderadores
Postado

Aplicando a mesma solução na danfe Report FortesAjustes_dados_fortes.png

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

Projeto ACBr

Tecnólogo em processamento de dados

E-mail hleonardopa@yahoo.com.br - Skype : hleorj

  • 1 mês depois ...
Postado

@hleorj grato pela atenção e desculpe a demora para responder.

Ainda está adicionando um traço desnecessário no início, pois o loop começa com Result := sQuebraLinha;. Adicionei um tratamento para que as quebras de linha (ou traços, dependendo de como o componente é configurado) sejam utilizadas no momento da concatenação de cada uma das informações, antes das mesmas e não depois, o que evita que elas fiquem sobrando.

Utilizei o arquivo mais atualizado do SVN e apliquei as melhorias novamente, 100% testado. Vou deixá-lo em anexo.

ACBrNFeDANFEFRDM.pas

Postado
  Em 04/08/2018 at 01:21, hleorj disse:

Mostre o resultado numa figura @Gabriel Bonzanini

Expandir  

Versão atual, sem o ajuste:

image.png.2551b1f64409bd83755b327ef83a53e1.png

Versão ajustada:

image.png.a2fb58141c1a96a6118b091ed8ce1c5a.png

Vou listar novamente as melhorias implementadas:

  • Teste para que não seja reimpressa a quantidade do lote caso a mesma seja igual à quantidade total do item, o que subentende que há apenas um lote referenciado;
  • Teste para que não seja impressa uma linha com o "código de agregação" caso o mesmo esteja em branco (seu conteúdo não é obrigatório de acordo com o layout da NF-e);
  • Melhorias nas quebras de linha, pois em alguns casos está ficando uma linha em branco após o código da Anvisa, ou então um traço desnecessário.

Segue a unit novamente, com mais uma pequena melhoria, e também os pdf's contendo as notas fiscais completas.

ACBrNFeDANFEFRDM.pas

Versão atual sem ajuste.pdf

Versão Ajustada.pdf

  • 2 semanas depois ...
  • Moderadores
Postado
  Em 15/08/2018 at 21:10, Gabriel Bonzanini disse:

@hleorj me avise caso precisem de mais alguma coisa para liberar a alteração.

Expandir  

@Gabriel Bonzanini, estamos em refatoração dos componentes dos documentos de impressão . 

E sua sugestão , na minha de ajustes de futuros. 

Mas até isto ser colocado em produção , estamos evitando atualizações no Svn.

Grato pela compreensão.

 

 

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

Projeto ACBr

Tecnólogo em processamento de dados

E-mail hleonardopa@yahoo.com.br - Skype : hleorj

Postado
  Em 16/08/2018 at 00:41, hleorj disse:

@Gabriel Bonzanini, estamos em refatoração dos componentes dos documentos de impressão . 

E sua sugestão , na minha de ajustes de futuros. 

Mas até isto ser colocado em produção , estamos evitando atualizações no Svn.

Grato pela compreensão.

 

 

Expandir  

Eu que agradeço @hleorj... Se eu puder fazer algo pra ajudar, me avise. Bom trabalho.

  • Curtir 1
  • Este tópico foi criado há 2439 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
Visitante
Este tópico está agora fechado para novas respostas
×
×
  • 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...