Ir para conteúdo
  • Cadastre-se

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

Recommended Posts

  • Moderadores
Postado (editado)


Adicionado suporte as propriedades: CasasDecimais.Tag, CasasDecimais._Mask_qCom e CasasDecimais._Mask_vUnCom , CasasDecimais._qCom , CasasDecimais._vUnCom
Novos campos para o suporte (  sDisplayFormat , iFormato, Mask_qCom, Mask_vUnCom ) em cdsParametros
Alguns campos mudaram  o tipo de Float para String;

   

Criadas as DAnfes que darão suporte acima( todas com a terminação de _Dc.fr3 ( decimal ):


    DANFePaisagem_Basic_Dc.fr3
    DANFePaisagem_Dc.fr3
    DANFeRetrato_Basic_Dc.fr3
    DANFeRetrato_Dc.fr3
    DANFeRetratoFS_Basic_Dc.fr3
    DANFeRetratoFS_Basic_Dc.fr3

Nas danfes mudanças na formatação de campos para aceitar a separação de numeral para
ficar de acordo como  o exemplo;

    De   : 33235,00 
        Para : 33.325,00
       ou
        De   : 33235,00
        Para : 33.325,0000  

 Configurando o novo suporte

Usandofast.png

 

 

Resultado dos ajustesFast_conf.thumb.png.751ca11fed27a7814ad0

Segue unit e danfes para testes

Report.rar

== Atenção fazer teste exaustivos antes de colocar em produção ==

Editado por hleorj
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

  • Consultores
Postado

Entra uma pergunta!

vi que um colega postou em casos que no mesmo danfe tem produtos com 2 , 3 ou até 4 casas

mas neste formato ele vai ter problemas concorda?

não deveria de tratar isso em cima da informação que é retornado no xml que lá tem as casas decimais ou estou enganado?

 

Consultora ACBr Pro

Juliomar Marchetti

Ajude o Projeto ACBr crescer - Seja Pro

discord: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br

 

MVP_NewLogo_100x100_Transparent-02.png
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 !!

  • Moderadores
Postado (editado)

Seguindo xml do post referindo teremos no demo ( Versao atual no Svn na presente data ) usando uma danfe em fast report -Usando Delphi XE5;

VersaoAtual_Fast.thumb.png.57ef6876cb42d

Configurando para aplicar as  atualizações sugeridas - Usando Delphi 10 Seattle;

 

Configurando.thumb.png.3adb0e9e3f7e205f7

 

Resultado do demo com a atualização;

ResultadoAtualizacao.thumb.png.94c619725

Editado por hleorj
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

  • Moderadores
Postado (editado)

Conclusão. . Quem ira decidir não será o componente.

Alguma sugestão ? para ser desenvolvida e aplicada.

 

 

 

Editado por hleorj
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

  • Fundadores
Postado

E se mudarmos no

constructor TACBrNFeDANFeRL.Create(AOwner: TComponent);

....

  fCasasDecimais._Mask_qCom   := '###,###,###,##0.00';
  fCasasDecimais._Mask_vUnCom := '###,###,###,##0.00'; 

para usar a mascara "mágica", como default ?

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

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

  • Moderadores
Postado (editado)

E o  padrão ao criar componente.

constructor TACBrNFeDANFEFR.Create(AOwner: TComponent);
begin
  ......
  fCasasDecimais._Mask_qCom   := '###,###,###,##0.00';
  fCasasDecimais._Mask_vUnCom := '###,###,###,##0.00';
end;

Danfe em Fortes ou Fast.. seguiram o mesmo padrão de configuração.

Ainda existe a possibilidade de ser padrão em todo Acbr que usa  a Classe TcasasDecimais.

 TCasasDecimais = class(TComponent)
  ...

constructor TCasasDecimais.Create(AOwner: TComponent);
begin
  inherited create( AOwner );

  f_Mask_qCom   := '###,###,###,##0.00';
  f_Mask_vUnCom := '###,###,###,##0.00';
  FQCom     := 2;
  FvUnCom   := 2;
end;

 

Editado por hleorj
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

  • Moderadores
Postado

Na configuração atual da classe TCasasDecimais eu não tenho como deixar de usar a Tag ( 1 ) , e também , é necessário de manter a integridade dos usuários  ( milhares de aplicações - "Este ovo não devemos Quebrar " :) ) 

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

  • Moderadores
Postado (editado)

 uma necessidade de alterar a Classe para facilitar a configuração 

 TDetFormat = ( detInteger , detMascara )
  
 TDetFormatos = set of TDetFormat

  TCasasDecimais = class(TComponent)
  private
    fFormato : TDetFormatos; 
    FqCom: Integer;
    FvUnCom: Integer;
    FMask_qCom: String;
    FMask_vUnCom: String;

    procedure Set_qCom(AValue: Integer);
    procedure Set_vUnCom(AValue: Integer);
  public
    constructor Create(AOwner: TComponent); override;
    destructor Destroy; override;
  published
    property _qCom: Integer           read FQCom        write Set_qCom;
    property _vUnCom: Integer         read FvUnCom      write Set_vUnCom;
    property _Mask_qCom: String       read FMask_qCom   write FMask_qCom;
    property _Mask_vUnCom: String     read FMask_vUnCom write FMask_vUnCom;
    property Formato  TDetFormatos    read fFormato     write FFormato default detInteger;
  end;

 

Implantando algo parecido deixaria de usar Tag; 

Ate o presente momento .. :( ...não consegui, nos meus testes fazer funcionar.

 

Concluíndo a Tag dever ser igual 0 . 

 

 

 

Editado por hleorj
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

  • Moderadores
Postado (editado)

Daniel , seria este padrão que estaria pensando ?

Na unit ACBrNFeDANFeESCPOS;

 

procedure TACBrNFeDANFeESCPOS.GerarItens;
...
  
      // formatar conforme configurado
      sVlrUnitario := FormatFloatBr(FpNFe.Det.Items[i].Prod.VUnCom,
        IfThen(CasasDecimais._Mask_vUnCom = '',
                        FloatMask(CasasDecimais._vUnCom),
                        CasasDecimais._Mask_vUnCom)
        );

      // formatar conforme configurado somente quando houver decimais
      // caso contrário mostrar somente o número inteiro
      fQuant := FpNFe.Det.Items[i].Prod.QCom;
      if Frac(fQuant) > 0 then
      begin
        sQuantidade  := FormatFloatBr(fQuant,
          IfThen(CasasDecimais._Mask_qCom = '',
                          FloatMask(CasasDecimais._qCom),
                          CasasDecimais._Mask_qCom)
          );
      end
  ..
  end;

Implementando parecido ira quebrar :) muita coisa 

 

Editado por hleorj
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

  • Moderadores
Postado

Algum commiter olhou o codigo ? para svn 


 

Segue unit e danfes para testes

Report.rar

== Atenção fazer teste exaustivos antes de colocar em produção ==

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

  • Consultores
Postado


Adicionado suporte as propriedades: CasasDecimais.Tag, CasasDecimais._Mask_qCom e CasasDecimais._Mask_vUnCom , CasasDecimais._qCom , CasasDecimais._vUnCom
Novos campos para o suporte (  sDisplayFormat , iFormato, Mask_qCom, Mask_vUnCom ) em cdsParametros
Alguns campos mudaram  o tipo de Float para String;

   

Criadas as DAnfes que darão suporte acima( todas com a terminação de _Dc.fr3 ( decimal ):


    DANFePaisagem_Basic_Dc.fr3
    DANFePaisagem_Dc.fr3
    DANFeRetrato_Basic_Dc.fr3
    DANFeRetrato_Dc.fr3
    DANFeRetratoFS_Basic_Dc.fr3
    DANFeRetratoFS_Basic_Dc.fr3

Nas danfes mudanças na formatação de campos para aceitar a separação de numeral para
ficar de acordo como  o exemplo;

    De   : 33235,00 
        Para : 33.325,00
       ou
        De   : 33235,00
        Para : 33.325,0000  

 Configurando o novo suporte

Usandofast.png

 

 

Resultado dos ajustesFast_conf.thumb.png.751ca11fed27a7814ad0

Segue unit e danfes para testes

Report.rar

== Atenção fazer teste exaustivos antes de colocar em produção ==

Senão for abusar gostaria de pedir para que fizesse um update dos fontes e aplicasse ao código já existente, pois tem algumas diferenças grandes entre seu código e o svn!

 

Consultora ACBr Pro

Juliomar Marchetti

Ajude o Projeto ACBr crescer - Seja Pro

discord: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br

 

MVP_NewLogo_100x100_Transparent-02.png
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 !!

  • Moderadores
Postado (editado)

Este código ficou ultrapassado . vem ai a Tag == > Formato  ( detInteger , detMascara ) 

Padrão para Formato = detInteger

NovaTag_Formato.thumb.png.09d608d848761b

Fechar post,  por favor

 

Editado por hleorj
  • Curtir 3
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

  • Este tópico foi criado há 3917 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...
The popup will be closed in 10 segundos...