Regra de impressão no Quick Report
Entreguei ao cliente o sistema pronto daí em um dos relatórios ele quer que crie uma regra, que é:
Quando não tiver mais espaço no final da página para imprimir três linhas de detail ele pula para próxima página dando sequencia na outra.
Tem como fazer isso?
Que faço?
Quando não tiver mais espaço no final da página para imprimir três linhas de detail ele pula para próxima página dando sequencia na outra.
Tem como fazer isso?
Que faço?
Jpauloss
Curtidas 0
Respostas
Jpauloss
20/02/2008
sobe
GOSTEI 0
Ffabiop
20/02/2008
você sabe qtos detalhes cabem na página?
tem algum agrupapento? se tem ele equivale a quantas linhas de detalhe na altura?
tem algum agrupapento? se tem ele equivale a quantas linhas de detalhe na altura?
GOSTEI 0
Jpauloss
20/02/2008
você sabe qtos detalhes cabem na página?
tem algum agrupapento? se tem ele equivale a quantas linhas de detalhe na altura?
E tem como saber isso?
Tem agrupamento.
Que faço?
GOSTEI 0
Ffabiop
20/02/2008
Quantas linhas detail aparecem impressas no folha qdo emite o relatório?
A idéia é ter um total de linhas as ser impresso e ir descontando a cada linha listada, depois que imprimir o rodapé do grupo ver se resta menos de 3 linhas para imprimir na folha e forçar uma quebra de página no detalhe que vem a seguir... mais ou menos isso...
A idéia é ter um total de linhas as ser impresso e ir descontando a cada linha listada, depois que imprimir o rodapé do grupo ver se resta menos de 3 linhas para imprimir na folha e forçar uma quebra de página no detalhe que vem a seguir... mais ou menos isso...
GOSTEI 0
Jpauloss
20/02/2008
Quantas linhas detail aparecem impressas no folha qdo emite o relatório?
A idéia é ter um total de linhas as ser impresso e ir descontando a cada linha listada, depois que imprimir o rodapé do grupo ver se resta menos de 3 linhas para imprimir na folha e forçar uma quebra de página no detalhe que vem a seguir... mais ou menos isso...
28 details que imprime, como vou fazer isso? Em que evento?
GOSTEI 0
Ffabiop
20/02/2008
Vamos ter que declarar uma variável global, pode ser lá na seção private:
Linhas: integer;
Depois no evento BeforePrint do Relatório, colocamos o número de linhas detalhe do relatório:
Linhas := 28;
Agora vamos controlar a quebra no evento AfterPrint da banda detalhe:
Linhas := Linhas - 1; // aqui vai contando quantas linas resta na página
if QRBand3.ForceNewPage = true then
QRBand3.ForceNewPage := false;
if linhas < 3 then // se restam menos de 3 linhas na página
begin
QRBand3.ForceNewPage := True; //o próximo detalhe vai forçar uma nova página
linhas := 28; //nova página temos 28 linhas de novo
end;
Mais oumenos assim, veja o que acontece colega...
Linhas: integer;
Depois no evento BeforePrint do Relatório, colocamos o número de linhas detalhe do relatório:
Linhas := 28;
Agora vamos controlar a quebra no evento AfterPrint da banda detalhe:
Linhas := Linhas - 1; // aqui vai contando quantas linas resta na página
if QRBand3.ForceNewPage = true then
QRBand3.ForceNewPage := false;
if linhas < 3 then // se restam menos de 3 linhas na página
begin
QRBand3.ForceNewPage := True; //o próximo detalhe vai forçar uma nova página
linhas := 28; //nova página temos 28 linhas de novo
end;
Mais oumenos assim, veja o que acontece colega...
GOSTEI 0
Jpauloss
20/02/2008
Vamos ter que declarar uma variável global, pode ser lá na seção private:
Linhas: integer;
Depois no evento BeforePrint do Relatório, colocamos o número de linhas detalhe do relatório:
Linhas := 28;
Agora vamos controlar a quebra no evento AfterPrint da banda detalhe:
Linhas := Linhas - 1; // aqui vai contando quantas linas resta na página
if QRBand3.ForceNewPage = true then
QRBand3.ForceNewPage := false;
if linhas < 3 then // se restam menos de 3 linhas na página
begin
QRBand3.ForceNewPage := True; //o próximo detalhe vai forçar uma nova página
linhas := 28; //nova página temos 28 linhas de novo
end;
Mais oumenos assim, veja o que acontece colega...
Valeu
GOSTEI 0
Jpauloss
20/02/2008
Vamos ter que declarar uma variável global, pode ser lá na seção private:
Linhas: integer;
Depois no evento BeforePrint do Relatório, colocamos o número de linhas detalhe do relatório:
Linhas := 28;
Agora vamos controlar a quebra no evento AfterPrint da banda detalhe:
Linhas := Linhas - 1; // aqui vai contando quantas linas resta na página
if QRBand3.ForceNewPage = true then
QRBand3.ForceNewPage := false;
if linhas < 3 then // se restam menos de 3 linhas na página
begin
QRBand3.ForceNewPage := True; //o próximo detalhe vai forçar uma nova página
linhas := 28; //nova página temos 28 linhas de novo
end;
Mais oumenos assim, veja o que acontece colega...
Fábio, e no caso desse tópico [url]http://forum.devmedia.com.br/viewtopic.php?t=93371&highlight=[/url]
Fica como?
GOSTEI 0