Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Doug Fernandes

[Resolvido] Crystal Reports - numero minimo de linhas de registro

Recommended Posts

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

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

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

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

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

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

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

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.