Perguntas Quebra de página

Mais
7 anos 7 meses atrás - 7 anos 7 meses atrás #31059 por diegoo_martins
Pessoal, bom dia.

Criei um relatório e este é impresso normalmente, mas estou com problemas para quebrar de página. Alguém pode me auxiliar....

Obrigado desde já...

Segue Trecho do fonte.

Static Function RunReport()

li := 1075

cQuery := "SELECT Z3_NUM,Z3_OF,Z3_CLIENTE,Z3_TPFRETE,Z3_NATUREZ,Z3_CONDPAG,Z3_TRANSP,Z3_PESOL,Z3_PBRUTO,"+;
"Z3_VOLUME1,Z3_FORNECE,Z3_SERVICO,Z3_QTDSERV,Z3_VLRSERV,Z3_UMSERV,Z3_ORDFABR, Z3_PEDCLIE, Z3_OBS,"+;
"Z4_PRODUTO,Z4_DESC,Z4_NUM,Z3_EMISSAO,Z4_ITEM,Z4_QTDVEN,Z4_UM, Z4_NFORI"
cQuery += " FROM " + RetSqlName("SZ3") + " SZ3 "
cQuery += " JOIN " + RetSqlName("SZ4") + " SZ4"
cQuery += " ON SZ3.Z3_NUM = SZ4.Z4_NUM"
cQuery += " WHERE SZ3.Z3_NUM BETWEEN '" + mv_par01 + "' AND '" + mv_par02 + "' "
cQuery += " AND SZ3.D_E_L_E_T_ = '' "
cQuery += " ORDER BY Z3_NUM"

TCQUERY cQuery NEW ALIAS "TRBSZ3"

cQuery := ChangeQuery(cQuery)
DBSelectArea("TRBSZ3")

While TRBSZ3->(!Eof()) .and. TRBSZ3->Z4_NUM == TRBSZ3->Z3_NUM

If li > 2700
ImpRodape() // Imprime rodape do formulario e salta para a proxima folha
ImpCabec()
li := 1075
Endif

li:=li+45

oPrinter:Say(li,0058,TRBSZ3->Z4_ITEM,oArial8,,0)
oPrinter:Say(li,0200,TRBSZ3->Z4_NFORI,oArial8,,0)
oPrinter:Say(li,0400,TRBSZ3->Z4_PRODUTO,oArial8,,0)
oPrinter:Say(li,0700,TRBSZ3->Z4_DESC,oArial8,,0)
oPrinter:Say(li,1850,Transform(TRBSZ3->Z4_QTDVEN,"@E 9,999,999.9999"),oArial8,,,,1)
oPrinter:Say(li,2156,TRBSZ3->Z4_UM,oArial8,,0)

TRBSZ3->(DbSkip())
EndDo

TRBSZ3->(DbCloseArea())

Return .T.


Arquivo Anexo:

Nome do Arquivo: HWFATR001.prw
Tamanho do Arquivo:13 KB
Anexos:
Ultima edição: 7 anos 7 meses atrás por diegoo_martins.

Por favor Acessar ou Registrar para participar da conversa.

Mais
7 anos 7 meses atrás #31062 por admin
Respondido por admin no tópico Quebra de página
Diego o que acontece ? ele não quebra a pagina ?

Para cada quebra de página, deve ter um oPrinter:EndPage() e oPrinter:StartPage().

Por favor Acessar ou Registrar para participar da conversa.

Mais
7 anos 7 meses atrás #31063 por admin
Respondido por admin no tópico Quebra de página
Para anexar arquivos é necessário compacta-lo ok.

Por favor Acessar ou Registrar para participar da conversa.

Mais
7 anos 7 meses atrás #31078 por diegoo_martins
Respondido por diegoo_martins no tópico Quebra de página
Bom dia,

Resolvido inserindo oPrinter:EndPage() e oPrinter:StartPage() para controle dentro do While.

While TRBSZ3->(!Eof()) .and. TRBSZ3->Z4_NUM == TRBSZ3->Z3_NUM

li:=li+45

oPrinter:Say(li,0058,TRBSZ3->Z4_ITEM,oArial8,,0)
oPrinter:Say(li,0200,TRBSZ3->Z4_NFORI,oArial8,,0)
oPrinter:Say(li,0400,TRBSZ3->Z4_PRODUTO,oArial8,,0)
oPrinter:Say(li,0700,TRBSZ3->Z4_DESC,oArial8,,0)
oPrinter:Say(li,1850,Transform(TRBSZ3->Z4_QTDVEN,"@E 9,999,999.9999"),oArial8,,,,1)
oPrinter:Say(li,2100,Transform(TRBSZ3->Z4_VLRUNIT,"@E 9,999,999.9999"),oArial8,,,,1)
oPrinter:Say(li,2200,TRBSZ3->Z4_UM,oArial8,,0)

TRBSZ3->(DbSkip())

If li > 2700
oPrinter:Say(2810,0058, "CONTINUA ..." , oArial10N,,0)
oPrinter:EndPage()
oPrinter:StartPage()
ImpCabec()
li := 1075
ImpRodape()
Endif
EndDo
TRBSZ3->(DbCloseArea())

Return .T.

Por favor Acessar ou Registrar para participar da conversa.

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