× Linguagem de Programação ADVPL

Perguntas depois de gerar o relatório gravar no formato PDF

Mais
11 anos 9 meses atrás #3468 por alyson
ta rodando agora, tirei um pouco dos campos não tenho como testar pois não tenho campos nessa base mas seu sql tava com problema
Anexos:

Por favor Acessar ou Registrar para participar da conversa.

Mais
11 anos 9 meses atrás #3475 por Edilaine
AGRADEÇO.. ALYSON.. MUITO OBRIGADA MAS INFELIZMENTE CONTINUA TUDO ENCAVALADO.. RSSSS
NAO SEI O QUE PODE SER..

Por favor Acessar ou Registrar para participar da conversa.

Mais
11 anos 9 meses atrás #3519 por alyson
um desses dois são os parametros tem uma maneira de fazer a separação sim e não ficar encavaldo


New(oParent,cTitle,uTable,aOrder,lLoadCells,lLoadOrder,uTotalText,lTotalInLine,lHeaderPage,lHeaderBreak,lPageBreak,lLineBreak,nLeftMargin,lLineStyle,nColSpace,lAutoSize,cCharSeparator,nLinesBefore,nCols,nClrBack,nClrFore,nPercentage)
Método construtor da classe TRSection.

No parâmetro onde é informado as tabelas utilizadas pela seção, a primeira será a principal, sendo utilizada para o processamento pelo método Print. As outras tabelas serão utilizadas para que o usuário possa incluir os campos como célula.
O relacionamento entre as tabelas poderá ser feito pela query ou então pelo uso dos objetos da classe TRPosition.

Dos elementos do parâmetro onde são informadas as ordens utilizada pela seção serão criados os objetos da classe TROrder automaticamente, utilizando como índice da tabela principal a ordem do elemento no vetor.

oParent Objeto da classe TReport ou TRSection que será o pai da classe TRSection
cTitle Título da seção
uTable Tipo Caracter: Tabela que será utilizada pela seção
Tipo Array: Lista de tabelas que serão utilizadas pela seção
aOrder Array contendo a descrição das ordens. Elemento: 1-Descrição, como por exemplo, Filial+Código
lLoadCells Carrega os campos do Dicionário de Campos (SX3) das tabelas da seção como células
lLoadOrder Carrega os índices do Dicionário de Índices (SIX)
uTotalText Texto do totalizador da seção, podendo ser caracter ou bloco de código
lTotalInLine Imprime as células em linha
lHeaderPage Cabeçalho da seção no topo da página
lHeaderBreak Imprime cabeçalho na quebra da seção
lPageBreak Imprime cabeçalho da seção na quebra de página
lLineBreak Quebra a linha na impressão quando as Informações não caber na página
nLeftMargin Tamanho da margem à esquerda da seção
lLineStyle Imprime a seção em linha
nColSpace Espaçamento entre as colunas
lAutoSize Ajusta o tamanho das células para que caiba em uma página
cCharSeparator Define o caracter que separa as Informações na impressão em linha
nLinesBefore Aponta a quantidade de linhas a serem saltadas antes da impressão da seção
nCols Quantidade de colunas a serem impressas
nClrBack Cor de fundo das células da seção
nClrFore Cor da fonte das células da seção
nPercentage Tamanho da página a ser considerada na impressão em percentual


New(cReport,cTitle,uParam,bAction,cDescription,lLandscape,uTotalText,lTotalInLine,
cPageTText,lPageTInLine,lTPageBreak,nColSpace)
Método construtor da classe TReport.

cReport Nome do relatório. Exemplo: MATR010
cTitle Título do relatório
uParam Parâmetros do relatório cadastrado no Dicionário de Perguntas (SX1)
Também pode ser utilizado bloco de código para parâmetros customizados.
bAction Bloco de código que será executado quando o usuário confirmar a impressão do relatório
cDescription Descrição do relatório
lLandscape Aponta a orientação de página do relatório como paisagem
uTotalText Texto do totalizador do relatório, podendo ser caracter ou bloco de código
lTotalInLine Imprime as células em linha
cPageTText Texto do totalizador da página
lPageTInLine Imprime totalizador da página em linha
lTPageBreak Quebra página após a impressão do totalizador
nColSpace Espaçamento entre as colunas

Por favor Acessar ou Registrar para participar da conversa.

Mais
11 anos 9 meses atrás - 11 anos 9 meses atrás #3520 por alyson
segue e roda esse exemplo no seu ambiente só para vc ver funcioando

usa ele da só para substituir o sql e não esquece para cada campo no sql vc vai ter um cabeçalho....
Anexos:
Ultima edição: 11 anos 9 meses atrás por alyson.

Por favor Acessar ou Registrar para participar da conversa.

Mais
11 anos 9 meses atrás #3530 por Edilaine
ESSE ULTIMO QUE ENVIOU , VEIO UM PRW COM 02 LINHAS , É ASSIM MESMO?

Por favor Acessar ou Registrar para participar da conversa.

Mais
11 anos 9 meses atrás #3533 por alyson
ele tá assim...

user function ExTRep2

local oReport
local cPerg := 'EXTREPCLI'
local cAlias := getNextAlias()

criaSx1(cPerg)
Pergunte(cPerg, .F.)

oReport := reportDef(cAlias, cPerg)

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 A1_COD, A1_NOME, A1_MUN, A1_EST

FROM %Table:SA1% SA1

WHERE A1_COD BETWEEN %Exp:MV_PAR01% AND %Exp:MV_PAR02%

EndSQL

oSecao1:EndQuery()

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

oSecao1:Print()

return

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

local cTitle := "Relatório de Clientes"
local cHelp := "Permite gerar relatório de clientes."

local oReport
local oSection1

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

//Primeira seção
oSection1 := TRSection():New(oReport,"Clientes",{"SA1"})

TRCell():New(oSection1,"A1_COD", "SA1", "Codigo")
TRCell():New(oSection1,"A1_NOME", "SA1", "Nome")
TRCell():New(oSection1,"A1_MUN", "SA1", "Cidade")
TRCell():New(oSection1,"A1_EST", "SA1", "Estado")

Return(oReport)

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

putSx1(cPerg, '01', 'Cliente de?' , '', '', 'mv_ch1', 'C', 6, 0, 0, 'G', '', 'SA1', '', '', 'mv_par01')
putSx1(cPerg, '02', 'Cliente até?' , '', '', 'mv_ch2', 'C', 6, 0, 0, 'G', '', 'SA1', '', '', 'mv_par02')

return

Por favor Acessar ou Registrar para participar da conversa.

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