sexta-feira, 12 de fevereiro de 2010

FastReport - Valor Por extenso

No FAST report para que funcione insira no design do formulario um componente onde ira aparecer o valor por extenso .

No meu caso inseri o componente e usei [extenso], nao deixe as chaves, pois meu erro foi esse para digitar no componente so dar dois cliques nele

Apos isso saia do design
Veja no eventos do componente frxReport a opção onGetValue dê dois cliques e escreva o codigo a seguir


if varname = 'extenso' then

value := FormatFloat('R$ #,##0.00 - ',query.Fieldbyname('Vr_recebido').value)+' '+extenso(query.Fieldbyname('Vr_recebido').value);

end;



Explicando ...........

if varname = 'extenso' then esse extenso eh o qeu vc digitou no componente no design do formulario entre chaves []


value := FormatFloat('R$ #,##0.00 - ',tabela.tab_cad_contas_receber.Fieldbyname('Vr_recebido').value)+' aqui ele pega o valor transforma para ficar legal com R$ o valro doa campo da tabela contas a receber o campo vr_recebido

'+formula(tabela.tab_cad_contas_receber.Fieldbyname('Vr_recebido').value); e aqui ele pega a funçao formula e transforma o valor do campo em extenso

4 comentários:

  1. Que componente é esse? E como ele é inserido?

    ResponderExcluir
  2. Bom dia. Muito boa a dica. Só para completar, pra não dar erro em tempo de projeto, dentro do FastReport vc programou algum evento, porque deixando apenas "[extenso]" o gerenciador nao entende ainda como variavel ou campo. Grato

    ResponderExcluir
  3. dica perfeita Parabéns e muito obrigado.

    crei uma variavel Extenso no design do fast, inseri um memo e o configurei assim:

    Recebi de [frxFilial."RAZAOSOCIAL"] a importância de [frxReciboComissao."VALOR_A_PAGAR"] ([Extenso])

    depois no evento ongetvalue conforme a dica, inseri o codigo:

    procedure TdmFastReport.frxComissaoGetValue(const VarName: string;
    var Value: Variant);
    begin

    if varname = 'Extenso' then
    begin

    ACBrExtenso1.Valor := frxReciboComissao.DataSet.FieldByName('VALOR_A_PAGAR').Value;
    Value := ACBrExtenso1.Texto;

    end;

    end;

    ResponderExcluir