- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- Dúvidas Gerais
- Condicional no TrFunction
×
Linguagem de Programação ADVPL
Perguntas Condicional no TrFunction
- Gustavo
- Autor do Tópico
- Visitante
11 anos 9 meses atrás #10179
por Gustavo
Condicional no TrFunction foi criado por Gustavo
Olá!
Estou com uma dificuldade nesta função, quero executar as quebrar de uma coluna quando o valor de uma Cell for maior de 500. Não consigo colocar um condicional nesta função. Alguém tem um exemplo?
Desde já agradeço.
Estou com uma dificuldade nesta função, quero executar as quebrar de uma coluna quando o valor de uma Cell for maior de 500. Não consigo colocar um condicional nesta função. Alguém tem um exemplo?
Desde já agradeço.
Por favor Acessar ou Registrar para participar da conversa.
- lalberto
- Desconectado
- Administrador
Menos
Mais
- Postagens: 3676
- Obrigados Recebidos: 6
11 anos 9 meses atrás #10210
por lalberto
Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br
Respondido por lalberto no tópico Condicional no TrFunction
Gustavo segue um exemplo, veja se te ajuda.
oBreak1:SetTotalText( { || Iif(nOrder == 1, STR0022+" : "+cContaBrk, Iif(nOrder == 2, STR0023+" : "+cCustoBrk, STR0024+" : "+DTOC(dAquisBrk)))} )
oTotOrdem := TRFunction():New(oSection1:Cell("N3_VORIG") ,, "SUM" ,oBreak1 ,,,bVOrig ,.F.,.F.,.F.,oSection1)
oBreak1:SetTotalText( { || Iif(nOrder == 1, STR0022+" : "+cContaBrk, Iif(nOrder == 2, STR0023+" : "+cCustoBrk, STR0024+" : "+DTOC(dAquisBrk)))} )
oTotOrdem := TRFunction():New(oSection1:Cell("N3_VORIG") ,, "SUM" ,oBreak1 ,,,bVOrig ,.F.,.F.,.F.,oSection1)
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.
- lalberto
- Desconectado
- Administrador
Menos
Mais
- Postagens: 3676
- Obrigados Recebidos: 6
11 anos 9 meses atrás #10212
por lalberto
Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br
Respondido por lalberto no tópico Condicional no TrFunction
Nao testei ve se ajuda.
oTotOrdem := TRFunction():New(oSection1:Cell("N3_VORIG") ,, "SUM" ,Iif(oSection1:Cell("N3_VORIG"):GetValue()>500.00,oBreak1,,) ,,,bVOrig ,.F.,.F.,.F.,oSection1)
oTotOrdem := TRFunction():New(oSection1:Cell("N3_VORIG") ,, "SUM" ,Iif(oSection1:Cell("N3_VORIG"):GetValue()>500.00,oBreak1,,) ,,,bVOrig ,.F.,.F.,.F.,oSection1)
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.
- Gustavo
- Autor do Tópico
- Visitante
11 anos 9 meses atrás #10225
por Gustavo
Respondido por Gustavo no tópico Condicional no TrFunction
Muito Obrigado!
Funcionou, queria ver se existe alguma função que force a execução do break e também uma que quebre a página.
Agradeço desde já.
Funcionou, queria ver se existe alguma função que force a execução do break e também uma que quebre a página.
Agradeço desde já.
Por favor Acessar ou Registrar para participar da conversa.
- Gustavo
- Autor do Tópico
- Visitante
11 anos 9 meses atrás #10272
por Gustavo
Respondido por Gustavo no tópico Condicional no TrFunction
Consegui quebrar a página com a função abaixo:
oReport:EndPage(.T.)
Mas estou com um problema, quando eu quebro a página os totalizadores ficam na próxima página e gostaria que eles ficassem na anterior. Segue a parte do fonte.
For nI := 1 To Len(aImp)
z := nI
oReport:Section(1):Init()
if nI = 1
oReport:SkipLine(
if (mv_par06 = 1 .Or. mv_par06 = 4)
oReport:PrtCenter("ENTRADAS FILIAL: "+aImp[z,1])
else
oReport:PrtCenter("SAIDAS FILIAL: "+aImp[z,1])
Endif
oReport:SkipLine(1)
oReport:ThinLine()
Endif
if (val(aImp[z,4]) > 5000 .And. val(aImp[z-1,4]) < 5000)
//gostarias que os totalizadores fossem impressos aqui.
oReport:EndPage(.T.)
oReport:PrtCenter("SAIDAS FILIAL: "+aImp[z,1])
oReport:SkipLine(1)
oReport:ThinLine()
endif
oReport:Section(1):PrintLine()
Next
oReport:Section(1):Finish()
Agradeço desde já.
oReport:EndPage(.T.)
Mas estou com um problema, quando eu quebro a página os totalizadores ficam na próxima página e gostaria que eles ficassem na anterior. Segue a parte do fonte.
For nI := 1 To Len(aImp)
z := nI
oReport:Section(1):Init()
if nI = 1
oReport:SkipLine(
if (mv_par06 = 1 .Or. mv_par06 = 4)
oReport:PrtCenter("ENTRADAS FILIAL: "+aImp[z,1])
else
oReport:PrtCenter("SAIDAS FILIAL: "+aImp[z,1])
Endif
oReport:SkipLine(1)
oReport:ThinLine()
Endif
if (val(aImp[z,4]) > 5000 .And. val(aImp[z-1,4]) < 5000)
//gostarias que os totalizadores fossem impressos aqui.
oReport:EndPage(.T.)
oReport:PrtCenter("SAIDAS FILIAL: "+aImp[z,1])
oReport:SkipLine(1)
oReport:ThinLine()
endif
oReport:Section(1):PrintLine()
Next
oReport:Section(1):Finish()
Agradeço desde já.
Por favor Acessar ou Registrar para participar da conversa.
- cintra_daniel
- Desconectado
- Membro Especialista
Menos
Mais
- Postagens: 95
- Obrigados Recebidos: 0
10 anos 11 meses atrás #18948
por cintra_daniel
Respondido por cintra_daniel no tópico Condicional no TrFunction
Cara preciso que a TRFunction só incremente o total quando o código do bem for diferente do anterior, porque no meu caso hoje, eu tenho 45 registros do mesmo bem, ao invés dele me retornar o total 1 bem, ele retorna 45 como sendo o total...
Segue a minha TRFUNCTION...
TRFunction():New(oSection1:Cell("TRB->TJ_CODBEM") , "TOTAL BENS" , "COUNT", /*oBreak*/ , "TOTAL BENS" , /*Picture*/,, .T., .F., .F.,,)
O que eu poderia fazer de condicional pra ele só incrementar o total quando o código do bem mudar?
Segue a minha TRFUNCTION...
TRFunction():New(oSection1:Cell("TRB->TJ_CODBEM") , "TOTAL BENS" , "COUNT", /*oBreak*/ , "TOTAL BENS" , /*Picture*/,, .T., .F., .F.,,)
O que eu poderia fazer de condicional pra ele só incrementar o total quando o código do bem mudar?
Por favor Acessar ou Registrar para participar da conversa.
- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- Dúvidas Gerais
- Condicional no TrFunction
Tempo para a criação da página:0.095 segundos