× Linguagem de Programação ADVPL

Perguntas Totalizador

Mais
9 anos 7 meses atrás #27630 por flavianoan
Totalizador foi criado por flavianoan
Boa tarde a todos, eu estou aprendendo a Desenvolver Relatório em Treport, ja consigo fazer algumas coisas mas estou tendo dificultadas em colocar um totalizador no numero de pedidos.
estou colocando o fonte a baixo.

#Include 'Protheus.ch'
#INCLUDE "Topconn.ch"
/*
| AUTOR:Flaviano Ferreira dos Santos
| relatorio de Pedidos nao atendidos, para gestao da qualidades.
*/*
User Function VMREL05()

Private oReport := Nil
Private oSecCab := Nil
Private cPerg := Padr("VMREL05", Len(SX1->X1_GRUPO))


AjustaSX1(cPerg)
ReportDef()
oReport:PrintDialog()

Return

Static Function AjustaSX1(cPerg)

Local aAreaAtu := GetArea()
Local aAreaSX1 := SX1->( GetArea() )

PutSx1(cPerg,"01","DE ?" ,'','',"mv_ch1","D",TamSx3 ("C5_EMISSAO")[1] ,0,,"G","","","","","mv_par01","","","","","","","","","","","","","","","","")
PutSx1(cPerg,"02","ATE ?" ,'','',"mv_ch1","D",TamSx3 ("C5_EMISSAO")[1] ,0,,"G","","","","","mv_par02","","","","","","","","","","","","","","","","")

RestArea( aAreaSX1 )
RestArea( aAreaAtu )

Return()

Static Function ReportDef()
//Local oSection1 
Local oSection := oReport:Section(1)
oReport := TReport():New("VMREL05","Pedidos nao Atendidos",cPerg,{|oReport| PrintReport(oReport)},"Pedidos nao Atendidos.")
TRFunction():New(oSection1 :Cell("C5_NUM"),"TOTAL GERAL" ,"COUNT",,,"@E 999999",,.F.,.T.)
oreport:nfontbody:=8 //tamnho da fonte
oreport:cfontbody:="Arial"//tipo de Fonte
oReport:SetLandscape(.F.)
oSecCab := TRSection():New( oReport , "PEDIDOS", {"QRY"} )
TRCell():New( oSecCab, "C5_NUM"    , "QRY", "PEDIDO")
TRCell():New( oSecCab, "C5_CLIENT"  , "QRY", "CODIGO")
TRCell():New( oSecCab, "C5_YNOMECL" , "QRY", "CLIENTE")
TRCell():New( oSecCab, "C5_VEND1" , "QRY", "VENDEDOR")
TRCell():New( oSecCab, "C5_EMISSAO" , "QRY", "DT EMISSAO")
Return Nil


Static Function PrintReport(oReport)

Local cQuery := ""

Pergunte(cPerg,.F.)

cQuery += " SELECT " + CRLF
cQuery += " C5_NUM ," + CRLF
cQuery += " C5_CLIENT ," + CRLF
cQuery += " C5_YNOMECL ," + CRLF
cQuery += " C5_VEND1 , " + CRLF
cQuery += " C5_EMISSAO ," + CRLF
cQuery += "C5_YTOTAL , " + CRLF
cQuery += " C5_NOTA " + CRLF
cQuery += " FROM " + RetSqlName("SC5") +" SC5 " + CRLF
//cQuery += " JOIN " + RetSqlName("SA1") +" SA1 ON SF3.F3_CLIEFOR = SA1.A1_COD AND SA1.D_E_L_E_T_ = ''" + CRLF
cQuery += " WHERE SC5.C5_FILIAL = '" + xFilial ("SC5") + "'
cQuery += " AND SC5.D_E_L_E_T_ = ' '" + CRLF
cQuery += "AND SC5.C5_NOTA =''" + CRLF
cQuery += " AND SC5.C5_EMISSAO >= " + ValToSql(mv_par01) + CRLF
cQuery += " AND SC5.C5_EMISSAO <= " + ValToSql(mv_par02) + CRLF
cQuery := ChangeQuery(cQuery)

If Select("QRY") > 0
Dbselectarea("QRY")
QRY->(DbClosearea())
EndIf

TcQuery cQuery New Alias "QRY"

oSecCab:BeginQuery()
oSecCab:EndQuery({{"QRY"},cQuery})
TcSetField('QRY' , "C5_EMISSAO" , "D" )// esta funçao converte o tipo de data EUA para BR.
oSection1:SetTotalInLine(.F.)
oSecCab:Print()

Return Nil

obrigado.

Por favor Acessar ou Registrar para participar da conversa.

Mais
9 anos 7 meses atrás #27643 por flavianoan
Respondido por flavianoan no tópico Totalizador
Resolvido, acrescentei a função abaixo.
TRFunction():New(oSecCab:Cell("C5_NUM"),NIL,"COUNT") // funçao que mostra a quantidade de pedidos

att,

Por favor Acessar ou Registrar para participar da conversa.

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