× Linguagem de Programação ADVPL

Perguntas Totalizador no TReport

Mais
11 anos 10 meses atrás #10551 por diorgenes
Pessoal estou fazendo um relatorio utilizando o TReport, esta bacana... pórem eu tenho 3 totalizadores, e um deles eu preciso alterar o valor antes da impressão.

Eu já consegui acessar os valores do totalizadores, porem alterar o valor eu nao consigo...

Declaração dos totalizadores:

TRFunction():New(oSection1:Cell("TOTALVENDA"),"TVENDA","SUM",,,"@E 99,999,999",,.F.,.T.)

TRFunction():New(oSection1:Cell("LUCRO"),"TLUCRO","SUM",,,"@E 99,999,999",,.F.,.T.)

TRFunction():New(oSection1:Cell("LUCROP"),"TLUCROP","ONPRINT",,,"@E 99,999,999",,.F.,.T.)


Para acessar os valores é assim:

oReport:GetFunction("TLUCRO"):GetValue()

Porem para alterar o valor eu nao sei... ja tentei com setValue, Print e nada...

Att
Diorgenes

Por favor Acessar ou Registrar para participar da conversa.

Mais
11 anos 10 meses atrás #10553 por lalberto
Respondido por lalberto no tópico Totalizador no TReport
Tenta isso:

oReport:GetFunction("TOTAL1"):SectionValue() + 125

Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br

Por favor Acessar ou Registrar para participar da conversa.

Mais
11 anos 10 meses atrás #10555 por diorgenes
Respondido por diorgenes no tópico Totalizador no TReport
Luiz, testei aqui e não funcionou... o metodo SectionValue() me retorna o valor atual da seção (TRSection) porém não altera o valor do objeto.

Já não sei mas o que testar...

Att
Diorgenes

Por favor Acessar ou Registrar para participar da conversa.

Mais
11 anos 10 meses atrás - 11 anos 10 meses atrás #10558 por diorgenes
Respondido por diorgenes no tópico Totalizador no TReport
Pessoal depois de pensar mais um pouco... e fazer alguns testes descobri como fazer...

A classe TRFunction possui muitas propriedades e metodos, porem nenhum dos possiveis metodos alterava o valor do totalizador...

então reparei que a classe tinhas as seguintes propriedades:
uPage		Total acumulado por página.
uReport	Total acumulado geral do relatório.
uSection	Total acumulado por seção.

então alterei a propriedade uReport assim:
oReport:GetFunction("TLUCROP"):uReport := VALOR

ficou assim meu calculo para saber o percentual de lucro sobre a venda...
oReport:GetFunction("TLUCROP"):uReport := (oReport:GetFunction("TLUCRO"):GetValue() / oReport:GetFunction("TVENDA"):GetValue() ) * 100
Ultima edição: 11 anos 10 meses atrás por diorgenes.

Por favor Acessar ou Registrar para participar da conversa.

Mais
11 anos 10 meses atrás #10640 por diorgenes
Respondido por diorgenes no tópico Totalizador no TReport
Pessoal,

Estou progredindo nos meus relatorios, agora estou implementando um com duas seções.

Porém quando eu faço a subtotalização de uma seção, eu não consigo manipular o valor da totalização (mesmo problema do topico).

No TRFUNCTION existe somente algumas funções de totalizacao pre-definidas, tais como (SUM, COUNT, etc), porém necessito um outro calculo baseado em outros totalizadores.

Eu vi que tem o metodo uFormula mas não sei como utiliza-lo...

na documentação diz o seguinte:

SetFormula(uFormula)
Define a fórmula utilizada pelo totalizador no lugar de utilizar o conteúdo da célula que ele se refere.
uFormula Tipo Caracter: Expressão ADVPL para macro execução
Tipo Bloco de código: Bloco de código com a expressão ADVPL para execução

Como informar aqui que ele vai pegar os totais de dois totalizadores e executar o seguinte calculo: (T1 / T2) * 100

Alguém que manja de TReport poderia me passar algumas dicas...

Att
Diorgenes

Por favor Acessar ou Registrar para participar da conversa.

Mais
11 anos 10 meses atrás #10642 por kanaamlrr
Respondido por kanaamlrr no tópico Totalizador no TReport
Cara, você pode tentar da seguinte forma:

"(T1 / T2) * 100" ou {||(T1 / T2) * 100}

Não entendi ao certo qual é a forma correta.

se nenhum dos dois funcionar tenta

"{||(T1 / T2) * 100}"

Depois fala pra gente se deu certo.

Por favor Acessar ou Registrar para participar da conversa.

Tempo para a criação da página:0.142 segundos
Joomla templates by a4joomla