Quebra de página no Report PDF

Preciso de uma ajuda!!

Tipo : Registro por Linha

Fiz uma imagem no corel onde constam os títulos dos dados do cliente e do orçamento e através de select’s pego as informações.Tudo fica no cabeçario do PDF
Dá mesma forma fiz para o rodapé criei uma imagem e com os títulos e fiz outro selec referentes algumas informações.

No copo fiz o select trazendo o produto, quant, preço_unit e preço total. Tudo estar funcionando 100% no aspecto dos selects e layout.

Problema:

Inserir bastantes registros para provocar a quebra de pagina, mas não funciona os registros passa por cima do rodapé. Já tentei de tudo pelo recurso do SC v5

Detalhe para nos ajudar.

Tenho outros pdf com o mesmo tipo (Registro por linha) em formato de passagem a única diferencia é que o rodapé as informações não vem de um select são informações de texto pré definido e funciona 100% a quebra.

Gilmar Monteiro
sc v5

no seu loop você tem que contar seus itens e reiniciar a posição inicial do primeiro item da próxima página.

Haroldo

Como não tenho tanto conhecimento na linguagem php , você tem algum código que posso adapta-lo.

obg

Gilmar

Um ditado meu que faço sempre questão de realçar: “Conhecimento diminui limitações”.

eis um código que copiei de uma app minha:
*Nota, a primeira pagina ele imprime 28 linhas detalhe, a partir da segunda pagina ele passa a imprimir 38 linhas detalhe.

$this->Pdf->AliasNbPages("@TotPag");
[maxlines]=28;
$PAGINA=1;
$LINHA=0;
$ITENS=0;
$PEDIDOID=[pedidoid];
$_sql=“SELECT ProdutoCodigo,Descricao,Quantidade,Unidade,PrecoUnitario”
.",ROUND((1-(ValorItem/(Quantidade*PrecoUnitario)))*100.00,2),ValorItem"
." FROM pedido_itens"
." WHERE PedidoId = ‘$PEDIDOID’";

sc_select(ds,$_sql);
If (!Empty($ds)){
while (!$ds->EOF){
$LINHA++;
$ITENS++;
IF ($LINHA==1) {
MontaPreImpresso($PAGINA);
MontaCabecalho();
}
$LINHA=$LINHA+(MontaItem($ds->fields[0],$ds->fields[1],$ds->fields[2],$ds->fields[3],$ds->fields[4],$ds->fields[5],$ds->fields[6],$LINHA));
IF ($LINHA>=[maxlines]) {
IF ($PAGINA==1) MontaTotais();
$PAGINA++;
[maxlines]=38;
PrintCell(05,290,‘Pag ‘.$this->Pdf->PageNo().’/@TotPag’,200,2,‘C’,“Arial,I,8”);
PrintCell(05,290,“Continua na proxima página–>”,205,2,“R”,“Arial,I,7,90”);
IF ($ITENS<{total_itens}) $this->Pdf->AddPage();
$LINHA=0;
}
$ds->MoveNext();
}
$ds->Close();
}
IF ($PAGINA==1 && $LINHA<[maxlines] ) MontaTotais();
PrintCell(05,290,‘Pag ‘.$this->Pdf->PageNo().’/@TotPag’,205,2,‘C’,“Arial,I,8”);

Obrigado!

at

Gilmar Monteiro