× Linguagem de Programação ADVPL

Perguntas Criando relatório com TREPORT

Mais
10 anos 9 meses atrás #20665 por Iramore
Galera, boa noite!!!

Estou gerando esse relatório, porém, ele me retorna com o seguinte erro:


THREAD ERROR (administrator, PROTHEUS) 31/01/2014 23:11:12
variable is not an object on {||OSECCAB:CELL("D2_COD")}(RELPRO.PRW) 31/01/2014 22:12:26 line : 80


Eu não faço a mínima idéia do que possa ser.

Se alguém puder dar uma "Luz", agradeço desde já.

Att.,


Wagner Dias Moreira.





#INCLUDE "Topconn.ch"
#INCLUDE "Protheus.ch"
#INCLUDE "RWMAKE.ch"
/*
ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
±±ÉÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍ»±±
±±ºPrograma ³RELPRO ºAutor ³ Wagner Dias Moreiraº Data ³ 31/01/2014 º±±
±±ÌÍÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍ͹±±
±±ºDesc.³ Impres. Relação de Produtos/Qtdade TReport simples.º±±
±±º ³ º±±
±±ÌÍÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹±±
±±ºUso ³ Grupo P º±±
±±ÈÍÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ±±
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß
*/
User Function RELPRO()
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³Declaracao de variaveis ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
Private oReport := Nil
Private oSecCab := Nil
Private cPerg := PadR ("RELPRO", Len (SX1->X1_GRUPO))
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³Criacao e apresentacao das perguntas ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
PutSx1(cPerg,"01","Do Produto de?" ,'','',"mv_ch1","C",TamSx3 ("B1_COD")[1] ,0,,"G","","SB1","","","mv_par01","","","","","","","","","","","","","","","","")
PutSx1(cPerg,"02","Do Produto ate?" ,'','',"mv_ch2","C",TamSx3 ("B1_COD")[1] ,0,,"G","","SB1","","","mv_par02","","","","","","","","","","","","","","","","")
PutSx1(cPerg,"03","Da Emissão de?" ,'','',"mv_ch3","D",TamSx3 ("D2_EMISSAO")[1] ,0,,"G","","SD2","","","mv_par03","","","","","","","","","","","","","","","","")
PutSx1(cPerg,"04","Da Emissão ate?" ,'','',"mv_ch4","D",TamSx3 ("D2_EMISSAO")[1] ,0,,"G","","SD2","","","mv_par04","","","","","","","","","","","","","","","","")
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³Definicoes/preparacao para impressao ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
ReportDef()
oReport :PrintDialog()

Return Nil

/*
ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
±±ÉÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍ»±±
±±ºPrograma ³ReportDef ºAutor ³ Wagner Dias Moreiraº Data ³ 31/01/2014 º±±
±±ÌÍÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍ͹±±
±±ºDesc. ³ Definição da estrutura do relatório. º±±
±±º ³ º±±
±±ÌÍÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹±±
±±ºUso ³ º±±
±±ÈÍÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ±±
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß
*/
Static Function ReportDef()

Private oBreak
Private oSecCab := Nil


oReport := TReport():New("RELPRO","Relatório Relação de Produtos/Saídas",cPerg,{|oReport| PrintReport(oReport)},"Impressão Relação de Produtos/Saidas")
oReport:SetLandscape(.T.)
oReport:SetPortrait()
oReport:ShowHeader()


oSecCab := TRSection():New( oReport , "Produtos", {"QRY"} )


TRCell():New( oSecCab, "D2_COD" , "QRY")
TRCell():New( oSecCab, "D2_TES" , "QRY")
TRCell():New( oSecCab, "D2_QUANT" , "QRY")
TRCell():New( oSecCab, "D2_TIPO" , "QRY")
TRCell():New( oSecCab, "B1_DESC" , "QRY")


//TRFunction():New(/*Cell*/ ,/*cId*/,/*Function*/,/*oBreak*/,/*cTitle*/,/*cPicture*/,/*uFormula*/,/*lEndSection*/,/*lEndReport*/,/*lEndPage*/,/*Section*/)

oBreak:=TRBreak():New(oSecCab,{||oSecCab:Cell("D2_COD")},,.F.)

TRFunction():New(oSecCab:Cell("D2_COD"),/*cId*/,"COUNT" ,oBreak,"Produto",/*cPicture*/,/*uFormula*/,.T. ,.F. ,.F. ,oSecCab)

TRFunction():New(oSecCab:Cell("D2_QUANT"),/*cId*/,"SUM" ,oBreak,/*cTitle*/,/*cPicture*/,/*uFormula*/,.T. ,.F. ,.F. ,oSecCab)

Return (oBreak)

/*
ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
±±ÉÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍ»±±
±±ºPrograma ³ITENBL ºAutor ³ Wagner Dias Moreira º Data ³ 31/01/2014 º±±
±±ÌÍÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍ͹±±
±±ºDesc. ³ º±±
±±º ³ º±±
±±ÌÍÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹±±
±±ºUso ³ º±±
±±ÈÍÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ±±
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
*/
Static Function PrintReport(oReport)


Local cQuery := ""
Local oSecCab := oReport:Section(1)


Pergunte(cPerg,.F.)


Private cAlias := Criatrab(Nil,.F.)
Private cQuery := Space(0)

cQuery := " Select D2_COD, D2_TES, D2_QUANT, D2_TIPO, B1_DESC " +CRLF
cQuery += " FROM " +RetSQLName ("SD2") + " SD2 " + CRLF
cQuery += " INNER JOIN " + RetSQLName("SB1") + " SB1 ON B1_COD = D2_COD " + CRLF
cQuery += " INNER JOIN " + RetSQLName("SF4") + " SF4 ON F4_CODIGO = D2_TES" + CRLF
cQuery += " WHERE D2_FILIAL = '" + xFilial ("SD2") + "' AND D2_TIPO = 'N' AND B1_FILIAL ='" + xFilial ("SB1") +" ' " + CRLF
cQuery += " AND (SUBSTRING(D2_CF,2,3) IN ('101','102','108','109','110','116','117','124','152','201','202','401','402','403','405','411','502','902','909','910','912','914','915','923','924','934','949') AND F4_ESTOQUE = 'S' AND F4_MSBLQL = '2')" + CRLF
cQuery += " AND B1_COD BETWEEN '" + mv_par01 + "' AND '" + mv_par02 + "' " + CRLF
cQuery += " AND D2_EMISSAO BETWEEN '" + DtoS(mv_par03) + "' AND '" + DtoS(mv_par04) + "' " + CRLF
cQuery += " AND SD2.D_E_L_E_T_='' AND SB1.D_E_L_E_T_='' AND SF4.D_E_L_E_T_=''" + CRLF
cQuery += " ORDER BY B1_COD, D2_TES" +CRLF
cQuery := ChangeQuery(cQuery)
DbUseArea(.T., "TOPCONN", TcGenQry(,, cQuery), cAlias, .T., .T.)


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


TcQuery cQuery New Alias "QRY"

oSecCab:BeginQuery()
oSecCab:EndQuery({{"QRY"},cQuery})
oSecCab:Print()

Return Nil

Por favor Acessar ou Registrar para participar da conversa.

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