× Linguagem de Programação ADVPL

Perguntas Erro em Relatorio

Mais
9 anos 1 mês atrás #29399 por jmfrolim
Erro em Relatorio foi criado por jmfrolim
Pessoal,
Estou desenvolvendo um relatório usando o fonte compilou sem erro de sintaxe mas na hora de executar aparece um erro de Argumento invalido. Segue abaixo o fonte e em anexo o fonte e o print do erro:


#Include 'Protheus.ch'
#INCLUDE 'TOPCONN.CH'
/*/{Protheus.doc} RAFATRE001

@author Joao
@version 0.1
@since 06/10/2015
@return Nil
@obs Relatorio para notas fiscais com Base na SF3
@sample
..........

..........
/*/
//
User Function RAFATRE001()
Local oReport:= nil
Local cPerg := Padr("RAFATRE001",10)

ajustaSx1(cPerg)
Pergunte(cPerg,.F.)
oReport := ReportDef(cPerg)
oReport :PrintDialog()

Return


Static Function ReportDef(cNome)
Local oReport := Nil
Local oSection1:= Nil
Local oBreak
Local oFunction

oReport := TReport():New(cNome,"Relatorio de Notas Fiscais Canceladas",cNome,{|oReport| ReportPrint(oReport)},"Descrição do meu relatório")
oReport:SetPortrait()
oReport:SetTotalInLine(.F.)

oSection1:= TRSection():New(oReport,"Nota Fiscal",{"SF3"},.F.,.T.)
TRCell():New(oSection1, "F3_FILIAL" ,"TL", "FILIAL")
TRCell():New(oSection1, "F3_ENTRADA" ,"TL", "DATA DA ENTRADA")
TRCell():New(oSection1, "F3_NFISCAL" ,"TL", "NOTA FISCAL")
TRCell():New(oSection1, "F3_CLIEFOR" ,"TL", "CLIENTE")
TRCell():New(oSection1, "A1_NOME" ,"TL", "NOME")
TRCell():New(oSection1, "F3_LOJA" ,"TL", "LOJA")
TRCell():New(oSection1, "F3_CFO" ,"TL", "CFOP")
TRCell():New(oSection1, "F3_EMISSAO" ,"TL", "EMISSÃO")
TRCell():New(oSection1, "F3_ESTADO" ,"TL", "UF")
TRCell():New(oSection1, "F3_VALCONT" ,"TL", "VALOR NF")
TRCell():New(oSection1, "F3_DTCANC" ,"TL", "DATA CANCELAMENTO")
TRCell():New(oSection1, "F3_OBSERV" ,"TL", "OBSERVAÇÃO")
TRCell():New(oSection1, "F3_CHVNFE" ,"TL", "CHAVE")
TRCell():New(oSection1, "F3_DTCANC" ,"TL", "DATA LANCAMENTO")
//TRCell():New(oSection1, "","TSQL","")

oSection1:SetPageBreak(.T.)
oSection1:SetTotalTex (" ")


Return (oReport)



Static Function ReportPrint(oReport)

Local oSection1 := oReport:Section1
Local cQuery := " "
Local dEntrada := CTOD
Local lPrim := .T.

cQuery:="SELECT SF3.F3_FILIAL FILIAL, SUBSTRING(SF3.F3_ENTRADA,7,2) + '/' + SUBSTRING(SF3.F3_ENTRADA,5,2) + '/' + SUBSTRING(SF3.F3_ENTRADA,1,4) ENNTRADA,SF3.F3_NFISCAL 'NOTA FISCAL', SF3.F3_CLIEFOR 'CLIENTE',"
cQuery+="SA1.A1_NOME 'NOME',SF3.F3_LOJA 'LOJA', SF3.F3_CFO 'CFOP', SUBSTRING(SF3.F3_EMISSAO,7,2) + '/' + SUBSTRING(SF3.F3_EMISSAO,5,2) + '/' + SUBSTRING(SF3.F3_EMISSAO,1,4) EMISSAO,"
cQuery+="SF3.F3_CHVNFE 'CHAVE', CAST(SF3.F3_DTCANC AS DATE) DTCANC "
cQuery+="FROM "+RETSQLNAME ("SF3") + " SF3 WITH (NOLOCK)"
cQuery+="LEFT JOIN"+RETSQLNAME ("SA1") + "SA1 ON A1_COD =F3_CLIEFOR AND A1_LOJA=F3_LOJA"
cQuery+="WHERE SF3.D_E_L_E_T_ = ' ' AND SF3.F3_DTCANC <> ' ' "
cQuery+=" AND F3_ENTRADA BETWEEN ' "+mv_par01+" ' AND ' "+mv_par02+" ' "
cQuery+=" AND ORDER BY F3_ENTRADA ASC "

if Select("TL") <> 0
dbSelectArea("TL")
dbCloseArea()
endIf
TCQUERY cQuery NEW ALIAS "TL"
dbSelectArea("TL")
TRBNCM->(dbGoTop())
oReport:SetMeter(TRBNCM->(LastRec()))

While ALIAS->(!Eof())

if oReport:Cancel()
Exit
endif
oSection1:Init()
oReport:IncMeter()
dEntrada := TL->F3_ENTRADA
IncProc("Imprimindo "+alltrim(TL->F3_ENTRADA))

oSection1:Cell("F3_ENTRADA"):SetValue(TL->F3_ENTRADA)
oSection1:Cell("F3_NFISCAL"):SetValue(TL->F3_NFISCAL)
oSection1:Cell("F3_CLIEFOR"):SetValue(TL->F3_CLIEFOR)
oSection1:Cell("A1_NOME") :SetValue(TL->A1_NOME)
oSection1:Cell("F3_LOJA"):SetValue(TL->F3_LOJA)
oSection1:Cell("F3_CFO"):SetValue(TL->F3_CFO)
/* while(TSQL->F3_ENTRADA == TSQL)
oSection1:Cell()
EndDo*/
oSection1:Printline()
ALIAS->(dbSkip())
EndDo

oSection1:Finish()

/*/
SELECT SF3.F3_FILIAL FILIAL, SUBSTRING(SF3.F3_ENTRADA,7,2) + '/' + SUBSTRING(SF3.F3_ENTRADA,5,2) + '/' + SUBSTRING(SF3.F3_ENTRADA,1,4) ENNTRADA,SF3.F3_NFISCAL 'NOTA FISCAL', SF3.F3_CLIEFOR 'CLIENTE',
SA1.A1_NOME 'NOME',SF3.F3_LOJA 'LOJA', SF3.F3_CFO 'CFOP', SUBSTRING(SF3.F3_EMISSAO,7,2) + '/' + SUBSTRING(SF3.F3_EMISSAO,5,2) + '/' + SUBSTRING(SF3.F3_EMISSAO,1,4) EMISSAO,
SF3.F3_ESTADO 'UF', SF3.F3_VALCONT 'VALOR NF', SUBSTRING(SF3.F3_DTCANC,7,2) + '/' + SUBSTRING(SF3.F3_DTCANC,5,2) + '/' + SUBSTRING(SF3.F3_DTCANC,1,4) 'DT CANCELAMENTO',SF3.F3_OBSERV 'OBSERVAÇÃO',
SF3.F3_CHVNFE 'CHAVE', CAST(SF3.F3_DTCANC AS DATE) DTCANC
FROM SF3020 SF3 WITH (NOLOCK)
LEFT join SA1020 SA1 ON A1_COD =F3_CLIEFOR AND A1_LOJA=F3_LOJA
WHERE SF3.D_E_L_E_T_ = ' ' AND SF3.F3_DTCANC <> ' '

/*/

Return

Static Function ajustaSx1(cPerg)

putSx1(cPerg, "01", "DE DATA ?" , "", "", "mv_ch1", "D", tamSx3("F3_ENTRADA")[1], 0, 0, "G", "", "SF3", "", "", "mv_par01")
putSx1(cPerg, "02", "ATE DATA?" , "", "", "mv_ch2", "D", tamSx3("F3_ENTRADA")[1], 0, 0, "G", "", "SF3", "", "", "mv_par02")

Return
Anexos:

Por favor Acessar ou Registrar para participar da conversa.

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