Ir para conteúdo
  • Cadastre-se

dev botao

DANFe - Fortes - Não Imprimir Coluna de Desconto


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

Recommended Posts

  • Consultores

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

 

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

  • Administradores

Bom dia.

Obrigada pela contribuição.

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

Att.

Consultora SAC ACBr

Juliana Tamizou

Gerente de Projetos ACBr / Diretora de Marketing AFRAC
Ajude o Projeto ACBr crescer - Seja Pro

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

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


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

Link para o comentário
Compartilhar em outros sites

  • Consultores
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.

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

  • Moderadores

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.

 

  • 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

  • Moderadores

@Renato Rubinho, segue o arquivo de log para justificar a regra.

Usando o lado negro .. pode conseguir em Fast , também

 

 

ACBrNFeDANFeRL-change-log.txt

  • 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

  • Moderadores

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.

 

 

 

 

  • 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

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

Link para o comentário
Compartilhar em outros sites

  • Moderadores

@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

Link para o comentário
Compartilhar em outros sites

  • Moderadores

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

Link para o comentário
Compartilhar em outros sites

  • Moderadores

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 

 

  • 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

  • Moderadores

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

Link para o comentário
Compartilhar em outros sites

  • 2 semanas depois ...
  • Administradores

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

Att.

Consultora SAC ACBr

Juliana Tamizou

Gerente de Projetos ACBr / Diretora de Marketing AFRAC
Ajude o Projeto ACBr crescer - Seja Pro

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

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


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

Link para o comentário
Compartilhar em outros sites

  • Consultores

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

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

  • Consultores
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.

  • Curtir 2

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

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

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

 

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

  • Moderadores

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

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

Link para o comentário
Compartilhar em outros sites

  • Consultores
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.

  • Obrigado 1

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

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

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

 

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

  • Administradores

Obrigado por reportar.

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

  • Curtir 1
  • Obrigado 1
Consultora SAC ACBr

Juliana Tamizou

Gerente de Projetos ACBr / Diretora de Marketing AFRAC
Ajude o Projeto ACBr crescer - Seja Pro

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

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


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

Link para o comentário
Compartilhar em outros sites

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