× Linguagem de Programação ADVPL

Perguntas Treport com SX1

Mais
11 anos 7 meses atrás #12278 por clistenis
Treport com SX1 foi criado por clistenis
Galera boa noite....

Estou desenvolvendo o meu primeiro relatório com TREPORT porém estou tendo algumas duvidas e gostaria da ajuda dos amigos do Forum para esclarece-la.

Tenho um relatório que usa algumas perguntas como parametros para desenvolver o relatorio porém não estou conseguindo pega rum parametro do SX1 que é do tipo data e coloca-lo na SQL e depois escrever,

É retornado o seguinte erro:

Existe um erro na formula digitada
argument #0 error, expect D->C, function dtos

segue fonte abaixo:

user function TST001

local oReport
local cPergClis := 'EXTREPCP' //Nome que será criado no sx1
local cAlias := getNextAlias()

criaSx1(cPergClis)
Pergunte(cPergClis, .F.)

oReport := reportDef(cAlias, cPergClis)

oReport:printDialog()

return

//++
//! Rotina para montagem dos dados do relatório. !
//++
Static Function ReportPrint(oReport,cAlias)

local oSecao1 := oReport:Section(1)

oSecao1:BeginQuery()

BeginSQL Alias cAlias

SELECT E1_NUM,E1_PARCELA,E1_TIPO,E1_CLIENTE,E1_NOMCLI,E1_EMISSAO,E1_VENCTO,E1_VALOR,E1_BAIXA
FROM %Table:SE1% SE1
WHERE E1_FILIAL = '0101'
If !Empty(MV_PAR01)
AND E1_CLIENTE = %Exp:MV_PAR01%
endIf
AND SE1.E1_VENCTO BETWEEN %Exp:dTOs(MV_PAR02)% AND %Exp:dTOs(MV_PAR03)%
AND SE1.D_E_L_E_T_ != '*'
AND SE1.E1_BAIXA = ' '
AND SE1.E1_TIPO = 'NF'
ORDER BY E1_NOMCLI,E1_NUM,E1_PARCELA

EndSQL

oSecao1:EndQuery()

oReport:SetMeter((cAlias)->(RecCount()))

oSecao1:Print()

return

//++
//! Função para criação da estrutura do relatório. !
//++
Static Function ReportDef(cAlias,cPergClis)

local cTitle := "Relatório de Contas a Receber por Período"
local cHelp := "Permite gerar relatório de Contas a Pagar por periodo."

local oReport
local oSection1

oReport := TReport():New('CRP',cTitle,cPergClis,{|oReport|ReportPrint(oReport,cAlias)},cHelp)

//Primeira seção
oSection1 := TRSection():New(oReport,"Contas a Pagar",{"SE1"})

TRCell():New(oSection1,"E1_NUM", "SE1", "Numero")
TRCell():New(oSection1,"E1_PARCELA", "SE1", "Parcela")
TRCell():New(oSection1,"E1_TIPO", "SE1", "Tipo")
TRCell():New(oSection1,"E1_CLIENTE", "SE1", "Cod. Cli")
TRCell():New(oSection1,"E1_NOMCLI", "SE1", "Nome Cli")
TRCell():New(oSection1,"E1_EMISSAO", "", "Emissao","@!")
TRCell():New(oSection1,"E1_VENCTO", "", "Vencto","@!")
TRCell():New(oSection1,"E1_VALOR", "SE1", "Valor","@E 999,999,999.999")
TRCell():New(oSection1,"E1_BAIXA", "", "Dt. Baixa","@!")

Return(oReport)

//++
//! Função para criação das perguntas (se não existirem) !
//++
static function criaSX1(cPergClis)

PutSX1(cPergClis, "01","Cliente :", "","","mv_ch01","C",06,0,0,"G","","","","","MV_PAR01","","","","","","","","","","","")
PutSX1(cPergClis, "09","Data De", "","","mv_ch02","D",08,0,0,"G","","","","","MV_PAR02","","","","","","","","","","","")
PutSX1(cPergClis, "10","Data Ate ", "","","mv_ch03","D",08,0,0,"G","","","","","MV_PAR03","","","","","","","","","","","")

return

Por favor Acessar ou Registrar para participar da conversa.

Mais
11 anos 7 meses atrás #12279 por lalberto
Respondido por lalberto no tópico Treport com SX1
cData1 := DtoS(MV_PAR02)
cData2 := DtoS(MV_PAR03)

BETWEEN %Exp:cData1% AND %Exp:cData2%

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.

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