- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- Dúvidas Gerais
- Totalizador no TReport
×
Linguagem de Programação ADVPL
Perguntas Totalizador no TReport
- diorgenes
- Autor do Tópico
- Desconectado
- Membro Iniciado
Menos
Mais
- Postagens: 18
- Obrigados Recebidos: 0
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:
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).
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.
- poliester
- Desconectado
- Membro Especialista
Menos
Mais
- Postagens: 93
- Obrigados Recebidos: 0
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 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.
- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- Dúvidas Gerais
- Totalizador no TReport
Tempo para a criação da página:0.096 segundos