Programação ADVPL Avançado
A função TRepInUse() verifica se a lib do TReport está liberada no repositório em uso. O retorno é uma variável lógica. #include "protheus.ch" User Function MyReport() Local oReport If TRepInUse() //verifica se a opção relatórios personalizáveis está disponível Pergunte("MTR025",.F.) oReport := ReportDef() oReport:PrintDialog() EndIf Return
Relatório Simples com uma Section: User Function RSimples() Local oReport := nil //Chama a função para carregar a Classe tReport oReport := RptDef() oReport:PrintDialog() Return() Static Function RptDef() Local Local Local Local
oReport := Nil oSection1:= Nil oBreak oFunction
//Sintaxe: //Classe TReport //cNome: Nome físico do relatório //cTitulo: Titulo do Relario //cPergunta: Nome do grupo de pergunta que sera carredo em parâmetros //bBlocoCodigo: Execura a função que ira alimenter as TRSection //TReport():New(cNome,cTitulo,cPerguntas,bBlocoCodigo,cDescricao) oReport:=TReport():New(“Exemplo01”, "Cadastro Produtos",/* cPergunta \*,;
{|oReport| ReportPrint( oReport ) }, "Descrição do meu relatório") // Relatorio em retrato oReport:SetPortrait() // Define se os totalizadores serão impressos em linha ou coluna oReport:SetTotalInLine(.F.) //Monstando a primeira seção oSection1:= TRSection():New(oReport, "Produtos", {"SB1"}, NIL, .F., .T.) TRCell():New(oSection1, "B1_COD" ,"SB1","Produto" ,"@!",30 ) TRCell():New(oSection1, "B1_DESC" ,"SB1","Descrição" ,"@!",100) TRCell():New(oSection1, "B1_LOCPAD" ,"SB1","Arm.Padrao" ,"@!",20 ) TRCell():New(oSection1, "B1_POSIPI" ,"SB1","NCM" ,"@!",30 )
Versão 12
41