[Resolvido] Problema com centavos nos relatorios no reportpdf

Amigos,

Tive o seguinte problema no ReportPdf:
Fazia a totalização de uns valores para informar ao trocar a quebra e os centavos não eram considerados.
exemplo:
[total] = [total] + {valor}

onde o valor do campo {valor} era 100,23
no momento da totalização considerava apenas a parte inteira
a variavel [total] guardava 100

Não vou relacionar todos os passos ate chegar a uma solução. Vou citar apenas o q eu fiz e funcionou.

no campo {total}, na opção Formatação do Valor, eu usei:

Tipo do Dado: Decimal
Usar configurações regionais: Não
Agrupamento: , (virgula)
Separador Decimal: . (ponto)

Na exibição do campo usei a função number_format() que me foi passada pelo parceiro Marcio de Paula Costa (que também trabalhou muito para achar a solução. hehehe)

Espero que ajude a quem venha a ter problemas semelhantes.

Não sei se é bug do SC, ou não. Foi resolvido, mas perdi algumas horinhas, com isso.

[]s
Jorge

Jorge, na sua solução o valor vai ficar R$12,000.50 ?

E se for R$12.000,50 ?

Flávia.

Realmente ao realizar contas com campos no report pdf, infelizmente ele só usa seu formato de banco de dados no evento onrecord.
Em outros eventos a variável fica com uma string com mascará. Cito isso no vídeo que fiz para criação de recibo em report pdf. Você deve usar a macro sc_format_num para converter o conteúdo o campo em um formato que php posso executar cálculos.

sc_format_num({meu_valor}, ‘,’, ‘.’, 2, ‘S’, ‘1’, ‘’);

http://www.scriptcase.com.br/docs/pt_br/v81/macros-scriptcase/macros-scriptcase#sc_format_num

Posso usar no onRecord? Preciso ajustar as configurações regionais do campo pra soma bater?

Pelos testes que fiz na onrecord não apresenta defeito, pode sim somar em uma global na onrecord e usar essa global em outro evento.
As configurações regionais são para apresentação do campo, use-as conforme sua necessidade.