× Linguagem de Programação ADVPL

Perguntas Totalizador no TReport

Mais
11 anos 9 meses atrás - 11 anos 9 meses atrás #10653 por diorgenes
Respondido por diorgenes no tópico Totalizador no TReport
Amigo Kanaãm,

consegui fazer funcionar...

Segue o código:
TRFunction():New(oSection2:Cell("LUCROP")     ,"TLUCROP"     ,"ONPRINT", oBreak1,,"@E 999,999.99",,.F.,.T.)

oReport:GetFunction("TLUCROP"):SetFormula({|| (oReport:GetFunction("TLUCRO"):uLastValue / oReport:GetFunction("TVENDA"):uLastValue) * 100 })

Desta forma o totalizador passa a respeitar minha nova formula, realizando as sub-totalizações e a totalização.

Obs: o tipo da totalização precisa ser ONPRINT (Valor atual).
Ultima edição: 11 anos 9 meses atrás por diorgenes.

Por favor Acessar ou Registrar para participar da conversa.

Mais
11 anos 3 meses atrás #16374 por poliester
Respondido por poliester no tópico Totalizador no TReport
Diorgenes,
Por favor me dê um help aqui com um totalizador...

Eu tenho a seguinte situação:

//SECAO 1
OSECTION1 := TRSECTION():NEW(OREPORT,"FILIAL",{"QRYSD1"})
OSECTION1:SETTOTALINLINE(.F.)

TRCELL():NEW(OSECTION1, "D1_COD" ,"QRYSD1", 'CODIGO' ,PESQPICT('SD1',"D1_COD") ,TAMSX3("D1_COD")[1]+1,/*LPIXEL*/,/*{|| CODE-BLOCK DE IMPRESSAO }*/)
TRCELL():NEW(OSECTION1, "D1_QUANT" ,"QRYSD1", 'QUANTIDADE' ,PESQPICT('SD1',"D1_QUANT") ,TAMSX3("D1_QUANT")[1]+1,/*LPIXEL*/,/*{|| CODE-BLOCK DE IMPRESSAO }*/)
TRCELL():NEW(OSECTION1, "D1_TES" ,"QRYSD1", 'TES' ,PESQPICT('SD1',"D1_TES") ,TAMSX3("D1_TES")[1]+1,/*LPIXEL*/,/*{|| CODE-BLOCK DE IMPRESSAO }*/)
TRCELL():NEW(OSECTION1, "D1_FORNECE" ,"QRYSD1", 'FORNECEDOR' ,PESQPICT('SD1',"D1_FORNECE") ,TAMSX3("D1_FORNECE")[1]+1,/*LPIXEL*/,/*{|| CODE-BLOCK DE IMPRESSAO }*/)
TRCELL():NEW(OSECTION1, "D1_LOJA" ,"QRYSD1", 'LOJA' ,PESQPICT('SD1',"D1_LOJA") ,TAMSX3("D1_LOJA")[1]+1,/*LPIXEL*/,/*{|| CODE-BLOCK DE IMPRESSAO }*/)
TRCELL():NEW(OSECTION1, "D1_DOC" ,"QRYSD1", 'NF' ,PESQPICT('SD1',"D1_DOC") ,TAMSX3("D1_DOC")[1]+1,/*LPIXEL*/,/*{|| CODE-BLOCK DE IMPRESSAO }*/)
TRCELL():NEW(OSECTION1, "D1_EMISSAO" ,"QRYSD1", 'EMISSAO' ,PESQPICT('SD1',"D1_EMISSAO") ,TAMSX3("D1_EMISSAO")[1]+1,/*LPIXEL*/,/*{|| CODE-BLOCK DE IMPRESSAO }*/)

OBREAK := TRBREAK():NEW(OSECTION1,{||OSECTION1:CELL("D1_FILIAL"):UPRINT},'SUB-TOTAL',.F.)

TRFUNCTION():NEW(OSECTION1:CELL("D1_QUANT"),,"SUM",,,"@E 999999",,.F.,.T.)

//SECAO 2
OSECTION2 := TRSECTION():NEW(OREPORT,"FILIAL",{"QRYSD2"})
OSECTION2:SETTOTALINLINE(.F.)

TRCELL():NEW(OSECTION2, "D2_COD" ,"QRYSD2", 'CODIGO' ,PESQPICT('SD2',"D2_COD") ,TAMSX3("D2_COD")[1]+1,/*LPIXEL*/,/*{|| CODE-BLOCK DE IMPRESSAO }*/)
TRCELL():NEW(OSECTION2, "D2_QUANT" ,"QRYSD2", 'QUANTIDADE' ,PESQPICT('SD2',"D2_QUANT") ,TAMSX3("D2_QUANT")[1]+1,/*LPIXEL*/,/*{|| CODE-BLOCK DE IMPRESSAO }*/)
TRCELL():NEW(OSECTION2, "D2_TES" ,"QRYSD2", 'TES' ,PESQPICT('SD2',"D2_TES") ,TAMSX3("D2_TES")[1]+1,/*LPIXEL*/,/*{|| CODE-BLOCK DE IMPRESSAO }*/)
TRCELL():NEW(OSECTION2, "D2_FORNECE" ,"QRYSD2", 'CLIENTE' ,PESQPICT('SD2',"D2_CLIENTE") ,TAMSX3("D2_CLIENTE")[1]+1,/*LPIXEL*/,/*{|| CODE-BLOCK DE IMPRESSAO }*/)
TRCELL():NEW(OSECTION2, "D2_LOJA" ,"QRYSD2", 'LOJA' ,PESQPICT('SD2',"D2_LOJA") ,TAMSX3("D2_LOJA")[1]+1,/*LPIXEL*/,/*{|| CODE-BLOCK DE IMPRESSAO }*/)
TRCELL():NEW(OSECTION2, "D2_DOC" ,"QRYSD2", 'NF' ,PESQPICT('SD2',"D2_DOC") ,TAMSX3("D2_DOC")[1]+1,/*LPIXEL*/,/*{|| CODE-BLOCK DE IMPRESSAO }*/)
TRCELL():NEW(OSECTION2, "D2_EMISSAO" ,"QRYSD2", 'EMISSAO' ,PESQPICT('SD2',"D2_EMISSAO") ,TAMSX3("D2_EMISSAO")[1]+1,/*LPIXEL*/,/*{|| CODE-BLOCK DE IMPRESSAO }*/)

OBREAK := TRBREAK():NEW(OSECTION2,{||OSECTION2:CELL("D2_FILIAL"):UPRINT},'SUB-TOTAL',.F.)

TRFUNCTION():NEW(OSECTION2:CELL("D2_QUANT"),,"SUM",,,"@E 999999",,.F.,.T.)

Agora eu preciso de uma função que diminua a primeira TRFUNCTION da segunda.
Como eu faço isso?

Por favor Acessar ou Registrar para participar da conversa.

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