Jump to content

Promoção de Natal SAC Mensal

Contrate e ganhe 1 Kit agenda + Caneta
Saiba mais

LANÇAMENTO
Curso Completo - Dominando o ACBrMonitor

Conheça o Curso

Balança SM100 performance surpreendente

Tecnologia Japonesa   Teclado e Visor resistentes a água
Consumo inteligente de etiquetas   Baixo custo de manutenção
Comunicação Ethernet e WIFI independentes

Saiba mais

Impressora de Etiquetas ELGIN - L42 PRO

Protocolos PPLA, PPLB, ZPL, EPL (automático)
Porta USB padrão Opcionais: Ethernet, Serial, Paralela
Sensor de Etiquetas Móvel Garantia de 18 meses

Saiba mais

Renato Rubinho

DANFe - Fortes - Não Imprimir Coluna de Desconto

Recommended Posts

Bom dia,

    Segue implementação (ACBrFontes.rar) no DANFe - Fortes, habilitando propriedade para identificar se deve imprimir a coluna de desconto nos itens.

1. Propriedade criada na TACBrNFeDANFEClass, configurada por padrão para sempre imprimir 

 { TACBrNFeDANFEClass }

  {$IFDEF RTL230_UP}
  [ComponentPlatformsAttribute(pidWin32 or pidWin64)]
  {$ENDIF RTL230_UP}
  TACBrNFeDANFEClass = class(TACBrDFeDANFeReport)
  private
    .
    .
    .
    FImprimeDescAcrescItem: TpcnImprimeDescAcrescItem;
  published
    .
    .
    .
    property ImprimeDescAcrescItem: TpcnImprimeDescAcrescItem read FImprimeDescAcrescItem write FImprimeDescAcrescItem default idaiSempre;

2. Pode-se configurar para imprimir sempre, nunca ou apenas quando houver valor de desconto na NFe
** TpcnImprimeDescAcrescItem = (idaiSempre, idaiNunca, idaiComValor);

3. Quando não for impressa a coluna de desconto, seu espaço liberado será distribuído entre a Quantidade, Valor Unitário e Valor Total, conforme destacado abaixo:

image.thumb.png.1f1939ef1c09c95ff630a156ca019195.png

Por favor, vejam se essa opção pode ser incorporada ao projeto ou se precisa de algum ajuste.

Obrigado

 


 

Renato Rubinho
Analista de Sistemas

Share this post


Link to post
Share on other sites

Bom dia.

Obrigada pela contribuição.

Você chegou a confirmar no layout se é permitido omitir esta informação?

Att.


Consultora SAC ACBr

Juliana Tamizou
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil

Share this post


Link to post
Share on other sites
2 minutos atrás, Juliana Tamizou disse:

Bom dia.

Obrigada pela contribuição.

Você chegou a confirmar no layout se é permitido omitir esta informação?

Att.

Bom dia @Juliana Tamizou,

O layout disponibilizado no Manual de Orientação do Contribuinte nem tem essa coluna nos itens.

Não encontrei nada que proíba, nenhuma NT que cite algo do gênero.

  • Like 1

 

Renato Rubinho
Analista de Sistemas

Share this post


Link to post
Share on other sites

No caso da danfe paisagem ?


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

Share this post


Link to post
Share on other sites

Regra

Alterações na danfe de nfe, devem aplicadas nos tipos paisagem e retrato ao mesmo tempo.

 

E se possível aplicar também na danfe desenvolvida em fast report.

 

  • Like 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

Share this post


Link to post
Share on other sites

Quando comecei ,  ajudar em open source . Sofri bastante para conhecer as regras.

Sou usuário , atualmente da danfe em fast report. E para colocar várias soluções em produção e aprendi  usando muito o lado Negro. Com isto, o acbr me deu certa liberdade para ajustar a danfe em fortes report.

Outra regra :

Sempre atualizar o arquivo de log (  acima tem ele ).

ps :. Vou pedir a meu amigo @BigWings

para validar TB a sua ideia.

 

 

 

 

  • Like 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

Share this post


Link to post
Share on other sites
5 minutos atrás, hleorj disse:

Quando comecei ,  ajudar em open source . Sofri bastante para conhecer as regras.

Sou usuário , atualmente da danfe em fast report. E para colocar várias soluções em produção. O acbr me deu certa liberdade para ajustar a danfe em fortes report.

Outra regra :

Sempre atualizar o arquivo de log (  acima tem ele ).

ps :. Vou pedir a meu amigo @BigWings

para validar TB a sua ideia.

 

 

 

 

Vou ler as regras para evitar problemas futuros.

Segue o arquivo de log atualizado.

ACBrNFeDANFeRL-change-log.txt


 

Renato Rubinho
Analista de Sistemas

Share this post


Link to post
Share on other sites

@Renato Rubinho, não esquente a cabeça com evitar problemas;

Aqui adoramos problemas solucionados com propriedade e  adoramos um padrão que seja , compreendidos todos.

Ex ; Nome de componentes 

 RLDraw1.Visible := txtValorDesconto.Visible;

poderia ser

rlsDivDesconto = txtValorDesconto.Visible;

Outro

   // Valor Unitario
    RLLabel87.Left := 405;
    RLLabel87.Width := 50;
    RLLabel88.Left := 405;
    RLLabel88.Width := 50;
    txtValorUnitario.Left := 405;
    txtValorUnitario.Width := 50;

para

   // Valor Unitario
    RLLValorUnitario.Left := 405;
    RLLValorUnitario.Width := 50;
    RLLValorUnitario.Left := 405;
    RLLValorUnitario.Width := 50;
    txtValorUnitario.Left := 405;
    txtValorUnitario.Width := 50;

 


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

Share this post


Link to post
Share on other sites

Evitar um código duplicado.

ver ACBrNFeDANFeRLRetrato e ACBrNFeDANFeRLPaisagem

 // Controle para exibir coluna de desconto
  txtValorDesconto.Visible := ( ( fpDANFe.ImprimeDescAcrescItem = idaiSempre ) or
                                ( ( fpDANFe.ImprimeDescAcrescItem = idaiComValor ) and ( fpNFe.Total.ICMSTot.vDesc > 0 ) ) );

Adicionado uma nova função na unit ACBrNFeDANFEClass :

function TACBrNFeDANFEClass.ManterColunaDesconto( Value : Double): Boolean;
begin

  // idaiSempre    => Sempre apresentar a coluna desconto
  // idaiNunca     => Nunca apresenta a coluna desconto
  // idaiComValor  => Apresentar a coluna desconto se value > 0 ( desconto )
  
  Result := (   ( fImprimeDescAcrescItem = idaiSempre   ) or
              (
                ( fImprimeDescAcrescItem = idaiComValor ) and
                ( Value > 0 )
              )
            );
end;

E refatorando as unit ACBrNFeDANFeRLRetrato e ACBrNFeDANFeRLPaisagem com

// Controle para exibir coluna de desconto
  txtValorDesconto.Visible := ManterColunaDesconto( fpNFe.Total.ICMSTot.vDesc )

 


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

Share this post


Link to post
Share on other sites

Sendo uma nova propriedade  ( ImprimeDescAcrescItem ) . os critérios de implantação ficam mas rígidos .

E  um parecer de outros moderadores.  para a nova propriedade no acbr.

Grato 

 

  • Like 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

Share this post


Link to post
Share on other sites

Sugestão minha :

function TACBrNFeDANFEClass.ManterColunaDesconto( Value : Double): Boolean;
begin
  // idaiSempre    => Sempre apresentar a coluna desconto
  // idaiNunca     => Nunca apresenta a coluna desconto
  // idaiComValor  => Apresentar a coluna desconto se value > 0 ( desconto )

  case fImprimeDescAcrescItem of
    idaiSempre    : Result := True;
    idaiNunca     : Result := False;
    idaiComValor  : Result := ( value > 0 );
  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

Share this post


Link to post
Share on other sites

Boa tarde Renato, tudo bem?
Você chegou a aplicar as sugestões dadas pelo Henrique?

Att.


Consultora SAC ACBr

Juliana Tamizou
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil

Share this post


Link to post
Share on other sites

Boa tarde Juliana,

Tudo bem, obrigado pelo retorno.

 

Não fiz mais nenhuma alteração porque pelo que entendi, devido à nova propriedade, não está certo que a implementação será "autorizada" e nenhuma das sugestões alterariam esse cenário.

Caso confirmem a implantação, posso fazer as melhorias sugeridas.

Att

  • Like 1

 

Renato Rubinho
Analista de Sistemas

Share this post


Link to post
Share on other sites
Em 30/09/2019 at 15:01, Renato Rubinho disse:

Boa tarde Juliana,

Tudo bem, obrigado pelo retorno.

 

Não fiz mais nenhuma alteração porque pelo que entendi, devido à nova propriedade, não está certo que a implementação será "autorizada" e nenhuma das sugestões alterariam esse cenário.

Caso confirmem a implantação, posso fazer as melhorias sugeridas.

Att

Bom dia,

   Após conversa com o pessoal aqui, nos pareceu muito boa sua sugestão. Queremos subir ao SVN.

   Verifique por favor o seguinte:

  • Apesar da propriedade ImprimeDescAcrescItem estar marcada como default idaiSempre, ela deve ser atribuída no método Create (Veja a nota na documentação).

   Após isso queira por favor anexar novamente os arquivos alterados.

  • Like 2

[]'s

Consultor SAC ACBr

Elton
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.

Share this post


Link to post
Share on other sites
1 hora atrás, EMBarbosa disse:

Bom dia,

   Após conversa com o pessoal aqui, nos pareceu muito boa sua sugestão. Queremos subir ao SVN.

   Verifique por favor o seguinte:

  • Apesar da propriedade ImprimeDescAcrescItem estar marcada como default idaiSempre, ela deve ser atribuída no método Create (Veja a nota na documentação).

   Após isso queira por favor anexar novamente os arquivos alterados.

Boa tarde @EMBarbosa,

Obrigado pelo retorno.

Seguem os fontes ( ACBrFontesAtualizados.rar ) com as implementações incorporadas na versão atual, para Retrato e Paisagem, e com a atribuição do valor padrão no create.

image.thumb.png.065ee43a12c94aa2d95d587904c5a324.png

image.thumb.png.d37e85e82f300ad52220e59ec6cb2c61.png

 

  • Like 1
  • Thanks 1

 

Renato Rubinho
Analista de Sistemas

Share this post


Link to post
Share on other sites

Segue as minhas sugestões.

Elas tem o intuito de facilitar o entendimento da implementação e ao tempo mesmo, facilitar futuras manutenções.

Ps : Outra dica  , existe alguns de log que são atualizados e mantidos :         

PCNComum-change-log
ACBrNFe-change-log
ACBrNFeDANFeRL-change-log

Muito grato pela sugestão e implementação 

Henrique_ACBrFontesAtualizados.rar

  • Like 4

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

Share this post


Link to post
Share on other sites
Em 03/10/2019 at 14:22, hleorj disse:

Segue as minhas sugestões.

Elas tem o intuito de facilitar o entendimento da implementação e ao tempo mesmo, facilitar futuras manutenções.

Ps : Outra dica  , existe alguns de log que são atualizados e mantidos :         

PCNComum-change-log
ACBrNFe-change-log
ACBrNFeDANFeRL-change-log

Muito grato pela sugestão e implementação 

Henrique_ACBrFontesAtualizados.rar 67 kB · 3 downloads

@Renato Rubinho

Muito obrigado pela contribuição.
Fiz a implementação baseada nela e nas alterações do Henrique.
Subi as alterações para o SVN na Revisão  17836.
Pelo que vi está tudo certo.
Mas queira por favor atualizar, testar e reportar qualquer problema.

Mais uma vez obrigado.

  • Thanks 1

[]'s

Consultor SAC ACBr

Elton
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.

Share this post


Link to post
Share on other sites
1 hora atrás, EMBarbosa disse:

@Renato Rubinho

Muito obrigado pela contribuição.
Fiz a implementação baseada nela e nas alterações do Henrique.
Subi as alterações para o SVN na Revisão  17836.
Pelo que vi está tudo certo.
Mas queira por favor atualizar, testar e reportar qualquer problema.

Mais uma vez obrigado.

Boa tarde @EMBarbosa,

Atualizado o componente e validada implementação, conforme destacado a seguir.

Agradeço a todos pela ajuda.

image.thumb.png.a2b429b17ca9129ccbaf8013305ee1cd.png

 

  • Like 2

 

Renato Rubinho
Analista de Sistemas

Share this post


Link to post
Share on other sites

Obrigado por reportar.

Fechando. Para novas dúvidas, criar um novo tópico.

  • Like 1
  • Thanks 1

Consultora SAC ACBr

Juliana Tamizou
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.

×
×
  • Create New...