- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- Dúvidas Gerais
- Gravar informações no Relatório
Perguntas Gravar informações no Relatório
- flavianoan
- Autor do Tópico
- Desconectado
- Membro Sénior
- Postagens: 58
- Obrigados Recebidos: 0
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.
- RonaldoLopes
- Desconectado
- Membro Platina
- Postagens: 478
- Obrigados Recebidos: 2
Por favor Acessar ou Registrar para participar da conversa.
- flavianoan
- Autor do Tópico
- Desconectado
- Membro Sénior
- Postagens: 58
- Obrigados Recebidos: 0
obrigado.
Por favor Acessar ou Registrar para participar da conversa.
- RonaldoLopes
- Desconectado
- Membro Platina
- Postagens: 478
- Obrigados Recebidos: 2
Acredito que é isso que precisa.
Pergunte em caso de dúvidas.
Por favor Acessar ou Registrar para participar da conversa.
- flavianoan
- Autor do Tópico
- Desconectado
- Membro Sénior
- Postagens: 58
- Obrigados Recebidos: 0
Por favor Acessar ou Registrar para participar da conversa.
- flavianoan
- Autor do Tópico
- Desconectado
- Membro Sénior
- Postagens: 58
- Obrigados Recebidos: 0
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.
- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- Dúvidas Gerais
- Gravar informações no Relatório