Oi, pessoal!
Estou trabalhando com TReports do Protheus, e não conseguio muita documentação sobre o tema. Já tengo um relátorio pronto, mas falta agregar os parâmetros e ainda não sei como posso fazer isso. Se alguem pode me ajuda, pasar para mim alguns informação de como funcionan os parâmetros. Ficarei agradecida.
Meu relátorio é muito básico só para testa o funcionamento do TReports, é sobre as vendas por dia. Mas quando eu quero pasar a data por os parâmetros interno do relátorio não consiguo que funcione. Eu não sei, se é por o tipo do fomato da data. A verdade estou muito atrapalada no tema.
Bom dia Yenny,
Para adicionar um parâmetro no relatório TREPORT você deve primeiro criar o grupo de perguntas (SX1) via configurador.
Depois no seu programa você declara um parâmetros com o nome do grupo de pergunta, exemplo:
Private cPerg := "XRELALU"
Pergunte(cPerg,.T.)
É recomendado usar a função pergunte logo após declarar a variável para que as variáveis MV_PAR sejam inicializadas conforme o grupo de perguntas, pode consultar no TDN a documentação da função pergunte para entender melhor os parâmetros dela.
Depois você passa este parâmetro na declaração do seu objeto TREPORT, como no exemplo:
oReport := TReport():New("XRELALU", cTitulo,cPerg, {|oReport| PrintReport(oReport)},"Este relatorio ira imprimir Relatorio de Alunos.")
Após isso você deve usar as variáveis MV_PAR para pegar o resultado dos parâmetros, a variável MV_PAR01 irá ter o conteúdo do primeiro parâmetro, MV_PAR02 do segundo e assim por diante.
Segue anexo um fonte com um relatório bem simples utilizando o TREPORT.
Atenção: Esta publicação foi transferida automaticamente do fórum antigo, mas os anexos não foram incluídos.
Imagino que ela esteja falando da função TREPORTS e não da TREPORT. A TREPORTS é como se fosse um wizard.
Obrigada Pedro, mas os que diz Patrick é verdade. Minha pergunta tem que ver com O TReports.
Boa tarde, vou deixar o link que me ajudo com os parâmetros. Na verdade uma das coisas que preocuraba é como asociar os parâmetros na consulta SQL. Consegui no siguiente link:
https://tdn.totvs.com/display/public/LRM/Fonte+de+Dados#FontedeDados-Senten%C3%A7aSQLcompar%C3%A2metro:
Mas, ainda tenho problema com os parâmetros de tipo data. Eu resolvi da siguiente forma, convertiendo a data dentro a misma consulta SQL para pode fazer funcionar con o tipo de dato de TReports.
Meu filtro fico assim:
AND SD2.D2_EMISSAO BETWEEN CONVERT(VARCHAR, :DATA_INI , 112) AND CONVERT(VARCHAR, :DATA_FIM , 112)
Eu não sei, se seja a melhor forma, mas funciona. Sim alguien tem outra idea e quera compartir, Obrigada!!!.