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á 2076 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

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

Link para o comentário
Compartilhar em outros sites

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
Link para o comentário
Compartilhar em outros sites

  • Moderadores
45 minutos atrás, Gabriel Bonzanini disse:

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

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: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Black-02.png
 

 

Link para o comentário
Compartilhar em outros sites

2 minutos atrás, Juliomar Marchetti disse:

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

portanto sempre vão ter se existirem.

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
Link para o comentário
Compartilhar em outros sites

  • Moderadores
58 minutos atrás, Gabriel Bonzanini disse:

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

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: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Black-02.png
 

 

Link para o comentário
Compartilhar em outros sites

11 minutos atrás, Juliomar Marchetti disse:

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

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
Link para o comentário
Compartilhar em outros sites

  • Moderadores

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

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

11 minutos atrás, 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

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
Link para o comentário
Compartilhar em outros sites

  • 2 semanas depois ...
  • 4 semanas depois ...
  • Moderadores
Em 18/05/2018 at 09:50, Gabriel Bonzanini disse:

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

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 [email protected] - Skype : hleorj

Link para o comentário
Compartilhar em outros sites

Em 13/06/2018 at 22: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

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

Link para o comentário
Compartilhar em outros sites

  • 1 mês depois ...

@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

Link para o comentário
Compartilhar em outros sites

19 horas atrás, hleorj disse:

Mostre o resultado numa figura @Gabriel Bonzanini

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

Link para o comentário
Compartilhar em outros sites

  • 2 semanas depois ...
  • Moderadores
3 horas atrás, Gabriel Bonzanini disse:

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

@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 [email protected] - Skype : hleorj

Link para o comentário
Compartilhar em outros sites

2 horas atrás, 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.

 

 

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

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

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