- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- Dúvidas Gerais
- depois de gerar o relatório gravar no formato PDF
×
Linguagem de Programação ADVPL
Perguntas depois de gerar o relatório gravar no formato PDF
- alyson
- Desconectado
- Membro Especialista
Menos
Mais
- Postagens: 118
- Obrigados Recebidos: 1
12 anos 3 meses atrás #3468
por alyson
Respondido por alyson no tópico Re: depois de gerar o relatório gravar no formato PDF
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
Por favor Acessar ou Registrar para participar da conversa.
- Edilaine
- Desconectado
- Membro Especialista
Menos
Mais
- Postagens: 147
- Obrigados Recebidos: 0
- alyson
- Desconectado
- Membro Especialista
Menos
Mais
- Postagens: 118
- Obrigados Recebidos: 1
12 anos 3 meses atrás #3519
por alyson
Respondido por alyson no tópico Re: depois de gerar o relatório gravar no formato PDF
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
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.
- alyson
- Desconectado
- Membro Especialista
Menos
Mais
- Postagens: 118
- Obrigados Recebidos: 1
12 anos 3 meses atrás - 12 anos 3 meses atrás #3520
por alyson
Respondido por alyson no tópico Re: depois de gerar o relatório gravar no formato PDF
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....
usa ele da só para substituir o sql e não esquece para cada campo no sql vc vai ter um cabeçalho....
Ultima edição: 12 anos 3 meses atrás por alyson.
Por favor Acessar ou Registrar para participar da conversa.
- Edilaine
- Desconectado
- Membro Especialista
Menos
Mais
- Postagens: 147
- Obrigados Recebidos: 0
- alyson
- Desconectado
- Membro Especialista
Menos
Mais
- Postagens: 118
- Obrigados Recebidos: 1
12 anos 3 meses atrás #3533
por alyson
Respondido por alyson no tópico Re: depois de gerar o relatório gravar no formato PDF
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
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.
- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- Dúvidas Gerais
- depois de gerar o relatório gravar no formato PDF
Tempo para a criação da página:0.099 segundos