× Linguagem de Programação ADVPL

Perguntas Gravar informações no Relatório

Mais
9 anos 5 meses atrás - 9 anos 5 meses atrás #28418 por flavianoan
Bom dia a Todos,
Estou desenvolvendo um relatório de solicitação de solicitação de embalagens mas só consegui imprimir um item gostaria que fosse impresso todos os itens que são três.
meu fonte:
#Include "RWMAKE.CH"
/*========================================================
|Flaviano:04/06/2015
|Solicitaçao ao Aramazem
|
|Versao:001
/*=======================================================*/
User Function AREL01()
Local oReport
Private cPerg := 'AREL01'

CriaSx1(cPerg)
Pergunte(cPerg,.T.)
Processa({ || Print()})
Return

Static Function Print()
local nCnt := 0
Local nX := 0

Private oPrint
Private cAlias := getNextAlias() //cria um alias temporário
Private oFont12 := TFont():New('Arial',,12,,.F.,,,,.F.,.F.)
Private oFont12n := TFont():New('Arial',,12,,.T.,,,,.F.,.F.)
Private oFont14 := TFont():New('Arial',,14,,.F.,,,,.F.,.F.)
Private oFont14n := TFont():New('Arial',,14,,.T.,,,,.F.,.F.)
Private nLin := 0

BeginSql Alias cAlias
SELECT
SB1.B1_DESC,
SC2.C2_YLOTECT,
SC2.C2_EMISSAO,
SD4.D4_QTDEORI

FROM
%table:SC2% SC2
INNER JOIN %table:SD4% SD4 ON SC2.C2_NUM = SUBSTRING(SD4.D4_OP,1,6) and SC2.%NotDel%
INNER JOIN %table:SB1% SB1 ON SB1.B1_COD = SD4.D4_COD AND SB1.%NotDel%
WHERE C2_FILIAL = %xFilial:SC2%
AND B1_LOCPAD =%exp:03%
AND C2_NUM = %exp:mv_par01%

EndSql

(cAlias)->(dbGoTop())

oPrint := TMSPrinter():New(OemToAnsi('Etiqueta de produto'))

oPrint:SetPortrait()
oPrint:SetPaperSize(9) // 9=Papel A4 210x297 mm

oPrint:StartPage()
While !(cAlias)->(Eof())



oPrint:Say(nLin,0200,OemToAnsi('REQUICISAO DE MATERIAL PARA PRODUÇAO:' ),oFont14,,,,0)


nLin += (140)
oPrint:Say(nLin,00030,OemToAnsi('PRODUTO:'+alltrim( (cAlias)->B1_DESC),oFont14),,,,0)


nLin += 200
oPrint:Say(nLin,00030,OemToAnsi('QDT:'+SubStr(alltrim((cAlias)->D4_QTDEORI),1,30)),oFont14,,,,0)

nLin += 280



oPrint:EndPage()

(cAlias)->(dbSkip())

oPrint:EndPage()
enddo

(cAlias)->(dbCloseArea())

oPrint:Preview()
oPrint:end()
Return

Static Function CriaSx1(cPerg)
PutSx1(cPerg,"01","PRODUTO" ,"ORDEM DE PRODUCAO" ,"ORDEM DE PRODUCAO" ,"mv_ch1","C",06,0,0,"G","","SC2","","","mv_par01")


return
Ultima edição: 9 anos 5 meses atrás por flavianoan.

Por favor Acessar ou Registrar para participar da conversa.

Mais
9 anos 5 meses atrás #28431 por RonaldoLopes
Boa tarde, dá uma olhada nesse fonte, está parecido com o seu e não precisa de loop para exibir os dados.

Arquivo Anexo:

Nome do Arquivo: RELGPS.rar
Tamanho do Arquivo:2 KB
Anexos:

Por favor Acessar ou Registrar para participar da conversa.

Mais
9 anos 5 meses atrás #28436 por flavianoan
Bom dia, Ronaldo muito obrigado me ajudo muito mas me deparei com outro desafio de fazer em duas seções, você tem um exemplo de relatório em Treport usando BeginSql para que eu possa tomar por exemplo.

obrigado.

Por favor Acessar ou Registrar para participar da conversa.

Mais
9 anos 5 meses atrás #28437 por RonaldoLopes
Bom dia, veja neste site( blogadvpl.com/v2/exemplo-de-relatorio-treport-com-2-secoes/ ).
Acredito que é isso que precisa.
Pergunte em caso de dúvidas.

Por favor Acessar ou Registrar para participar da conversa.

Mais
9 anos 5 meses atrás #28438 por flavianoan
valeu.

Por favor Acessar ou Registrar para participar da conversa.

Mais
9 anos 5 meses atrás #28439 por flavianoan

Flaviano Ferreira escreveu: Bom dia a Todos,
Estou desenvolvendo um relatório de solicitação de solicitação de embalagens mas só consegui imprimir um item gostaria que fosse impresso todos os itens que são três.
meu fonte:
#Include "RWMAKE.CH"
/*========================================================
|Flaviano:04/06/2015
|Solicitaçao ao Aramazem
|
|Versao:001
/*=======================================================*/
User Function AREL01()
Local oReport
Private cPerg := 'AREL01'

CriaSx1(cPerg)
Pergunte(cPerg,.T.)
Processa({ || Print()})
Return

Static Function Print()
local nCnt := 0
Local nX := 0

Private oPrint
Private cAlias := getNextAlias() //cria um alias temporário
Private oFont12 := TFont():New('Arial',,12,,.F.,,,,.F.,.F.)
Private oFont12n := TFont():New('Arial',,12,,.T.,,,,.F.,.F.)
Private oFont14 := TFont():New('Arial',,14,,.F.,,,,.F.,.F.)
Private oFont14n := TFont():New('Arial',,14,,.T.,,,,.F.,.F.)
Private nLin := 0

BeginSql Alias cAlias
SELECT
SB1.B1_DESC,
SC2.C2_YLOTECT,
SC2.C2_EMISSAO,
SD4.D4_QTDEORI

FROM
%table:SC2% SC2
INNER JOIN %table:SD4% SD4 ON SC2.C2_NUM = SUBSTRING(SD4.D4_OP,1,6) and SC2.%NotDel%
INNER JOIN %table:SB1% SB1 ON SB1.B1_COD = SD4.D4_COD AND SB1.%NotDel%
WHERE C2_FILIAL = %xFilial:SC2%
AND B1_LOCPAD =%exp:03%
AND C2_NUM = %exp:mv_par01%

EndSql

(cAlias)->(dbGoTop())

oPrint := TMSPrinter():New(OemToAnsi('Etiqueta de produto'))

oPrint:SetPortrait()
oPrint:SetPaperSize(9) // 9=Papel A4 210x297 mm

oPrint:StartPage()
While !(cAlias)->(Eof())



oPrint:Say(nLin,0200,OemToAnsi('REQUICISAO DE MATERIAL PARA PRODUÇAO:' ),oFont14,,,,0)


nLin += (140)
oPrint:Say(nLin,00030,OemToAnsi('PRODUTO:'+alltrim( (cAlias)->B1_DESC),oFont14),,,,0)


nLin += 200
oPrint:Say(nLin,00030,OemToAnsi('QDT:'+SubStr(alltrim((cAlias)->D4_QTDEORI),1,30)),oFont14,,,,0)

nLin += 280



oPrint:EndPage()

(cAlias)->(dbSkip())

oPrint:EndPage()
enddo

(cAlias)->(dbCloseArea())

oPrint:Preview()
oPrint:end()
Return

Static Function CriaSx1(cPerg)
PutSx1(cPerg,"01","PRODUTO" ,"ORDEM DE PRODUCAO" ,"ORDEM DE PRODUCAO" ,"mv_ch1","C",06,0,0,"G","","SC2","","","mv_par01")


return

Por favor Acessar ou Registrar para participar da conversa.

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