Doug Fernandes 0 Denunciar post Postado Julho 12, 2011 Senhores, minha idéia é ter uma altura minima de 10 registros para que eu consiga manter a linha de corte da folha sempre no meio da folha no caso de "Docs" com poucos itens. Explico melhor: Eu preciso de 10 registros para que a linha de corte fique no centro da folha. Porém quando eu tenho menos linhas de registro a linha de corte da folha fica acima do meio da folha. O que eu precisaria neste caso seria continuar imprimindo as linhas de registro em branco no caso de não houver mais registro a serem impressos para aquele "Group" até fechar um Count de 10 linhas. Esse Count eu já tenho. Alguém? :ermm: Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Julho 13, 2011 Não sei se entendi bem mas existe uma opção de forçar a quebra de página (antes ou após) alguma quebra, isto não resolve ? Opções do Group. Compartilhar este post Link para o post Compartilhar em outros sites
Doug Fernandes 0 Denunciar post Postado Julho 13, 2011 Olá, Motta. As quebras estão funcionando bem usando o "Keep Together", assim o HEADER e FOOTER sempre acompanham o 'Details' dos registros, inclusive consigo deixar até 2 "DOCS" por página desa forma. O problema é que preciso ou deixar a linha de corte (um Details com text 'corte aqui---') bem no centro da folha (maximo 10 linhas de registro), ou sem essa linha de corte que é o caso onde se empurra o segundo DOC para uma nova página. Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Julho 13, 2011 Tente : 1) Inserir uma linha e marca a sua posição (size and position) e ver se fica no meio da página. 2) Gerar linhas de detalhe "fantamas" para completar um multiplo de 10 (gambiarra!) Exemplo para o Oracle (rownum é a linha virtual do result set) select nome,telefone from clientes where loja = 1 union all select '','' from clientes where rownum = MOD((select count(*) from clientes where loja = 1)/10) Compartilhar este post Link para o post Compartilhar em outros sites
Doug Fernandes 0 Denunciar post Postado Julho 13, 2011 A dica 2 parece que pode resolver. Apesar de ser uma gambiarra, acho que deve ajudar. Vou testar e retorno o resultado. Valew, Motta. Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Julho 13, 2011 Uma p||+@ gambiarra ... Beleza, só não diga que foi dica minha, vai que faço uma entrevista aí na sua empresa ... :) ---------- Decidi testar a coisa o exemplo select COLUMN_NAME from user_tab_columns where table_name = 'TABELA' union all select '' from user_tab_columns where rownum <= 10 - MOD((SELECT COUNT(*) from user_tab_columns where table_name = 'TABELA'),10) user_tab_columns é uma tabela de metadados que tem as colunas de uma tabela. 10 é o enchimento. Compartilhar este post Link para o post Compartilhar em outros sites
quitZAUMMM 18 Denunciar post Postado Julho 13, 2011 Bom com ctz oq vo falar é gambiarra, + pq você n faz tudo via programação e joga para 10 formulas no crystal? []s Compartilhar este post Link para o post Compartilhar em outros sites
Doug Fernandes 0 Denunciar post Postado Julho 13, 2011 Seguindo a tua dica sobre as linhas fantasmas deu certinho. Criei 9 Groups e em cada um fiz uma regra para o Supress: group1 @contador >= 2 group2 @contador >= 3 ... group9 @contador >= 10 Resolvido! Compartilhar este post Link para o post Compartilhar em outros sites