Jump to content

hleorj

Moderadores
  • Content Count

    1,233
  • Joined

  • Last visited

  • Days Won

    9

Everything posted by hleorj

  1. 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;
  2. 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
  3. 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 )
  4. @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;
  5. 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.
  6. @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
  7. 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.
  8. Vale a pena .. Adquirir o curso do Gilberto .. tirou grandes duvidas em relação ao componente nos detalhes Grato @xyberx
  9. Sugiro, que não coloque em produção os arquivos da pasta obsoletos. Em algum momento terá um problema que não estamos dando suporte.. Utilize o componente em Report Fortes para imprimir suas danfe´s. Terá um resultado comparável a danfe desenvolvida em Fast Report.
  10. Esta fazendo um Crtl + C ..depois Crtl + V ( copy - paste ) no campo ? Aqui foi sem problemas
  11. Qual o seu ambiente de trabalho atual ? Observe as danfe´s que : caso tenha, utilizado alguma danfe da pasta Obsoletos , não estamos dando suporte as elas. Utilize o demo na pasta para sanar algumas duvidas.
  12. @Juliomar Marchetti, Poderia me informar se e uma implementação particular ? if(FNFe.Det.Items[inItem].Prod.med.Count > 0)then begin FieldByName('vPMC').AsString := FormatFloatBr(FNFe.Det.Items[inItem].Prod.med.Items[0].vPMC,'###,###,##0.00'); end else begin FieldByName('vPMC').AsString := '0.00'; end; O Código já existe em Detalhamentos de medicamentos.
  13. @JrClemente , minha sugestão De ( sem espaço ) Result := 'Val Aprox Tributos: ' + FormatFloatBr(Imposto.vTotTrib); Para : ( 1 espaço ) Result := ' Val Aprox Tributos: ' + FormatFloatBr(Imposto.vTotTrib); Está informação esta se repetindo em várias linha : Result := Result +' FONTE: '+FonteTributos; remova e inclua em informações complementares : Exemplo FONTE DA(S) TAXA(S) IBPT 2019 Ps : Nova(s) propriedade(s) está( ão ) sofrendo severa analise para implementação ( FonteTributos )
  14. De acordo. Se existir uma única regra em todas danfe's ( fast , fortes e esc ).
  15. Existe uma critica : if NaoEstaVazio(FNFe.Retirada.CNPJCPF) then que exige no arquivo xml a informação do CNPJ ou CFP, e no seu arquivo não possui a devida informação. @EMBarbosa. Atentar que é uma regra somente para impressão da Danfe em Fast Report. Sem relação com as NT´s, que informa se é necessário ou não está no xml. Na Danfe fortes report , possui a seguinte regra : rlbRetirada.Visible := NaoEstaVazio(xNome) or NaoEstaVazio(CNPJCPF); Sugestão a @Milton Lima.. informe o CNPJ ou CPF. até uma nova revisão das devidas criticas de funcionamento. Grato pelo seu cometário , é grande ajuda. PS : Use o lado negro ( leia o código ) , para sugerir novas implementações ou encontrar um porquê não funciona.
  16. Vai arrumar mas problemas que solução .. utilizando uma versão obsoleta.
×
×
  • Create New...