Jump to content
Fórum Script Brasil
  • 0

Relatório Colunado


Guest --VAGNER --
 Share

Question

Guest --VAGNER --

estou fazendo um relatorio e preciso que os dados detalhe aparecem de maneira colunada como numa tabela

estes dados são parcelas de uma certa compra de um cliente.

então numa banda aparecem os dados do cliente;

na outra banda aparecem os dados pricipais da venda;

e só então é mostrado as parcelas colunadas;

os parcelas estao numa tabela que será filtrada com adoquery:

IDP, IDC, PARCELA, VENCIMENTO, VALOR, STATUS --> campos da tabela parcelas

como os dados devem aparecer no QuckReport.

1ª VENC. 10/10/2007 Valor: R$ 120,00 2ª VENC. 10/11/2007 Valor: R$ 120,00 3ª VENC. 10/12/2007 Valor: R$ 120,00

4ª VENC. 10/01/2008 Valor: R$ 120,00 5ª VENC. 10/02/2008 Valor: R$ 120,00 6ª VENC. 10/03/2008 Valor: R$ 120,00

é isso ai!

flws.

Edited by Micheus
Não observação do item 3.7 das regras do forum - NÃO digite em caixa alta (1º aviso)
Link to comment
Share on other sites

6 answers to this question

Recommended Posts

  • 0
então numa banda aparecem os dados do cliente;

na outra banda aparecem os dados pricipais da venda;

e só então é mostrado as parcelas colunadas;

que tipo de banda seria esta última?

como os dados devem aparecer no QuckReport.

1ª VENC. 10/10/2007 Valor: R$ 120,00 2ª VENC. 10/11/2007 Valor: R$ 120,00 3ª VENC. 10/12/2007 Valor: R$ 120,00

4ª VENC. 10/01/2008 Valor: R$ 120,00 5ª VENC. 10/02/2008 Valor: R$ 120,00 6ª VENC. 10/03/2008 Valor: R$ 120,00

isto significa que terá no máximo 3 colunas? E o número de linhas será como este exemplo (2) ou poderá ser variável?

Link to comment
Share on other sites

  • 0
Guest --VAGNER --

Micheus

esta ultima banda seria do tipo group (esse é meu primeiro rel desse tipo)

buscara informações de tres tabelas:

cliente

venda

parcelas

seria um relacionamento entre venda e parcelas ( id da venda na tabela parcelas)

idv(id venda)

o numero de colunas pode ser 3, e no max. 5 linhas, as parcelas serão no máximo 14.

valeu pela atenção ao meu tópico.

Link to comment
Share on other sites

  • 0
esta ultima banda seria do tipo group (esse é meu primeiro rel desse tipo)
me parece estranho o uso deste tipo de banda.

buscara informações de tres tabelas:

cliente

venda

parcelas

seria um relacionamento entre venda e parcelas ( id da venda na tabela parcelas)

idv(id venda)

como você mesmo colocou na ordem, me parece que o mais provável é que as parcelas fossem um sub-detalhe da venda.

Vejamos como o relatório deve parecer:

Cliente 1  // ** Quebra por cliente
  Venda 1  // ## Quebra por venda
    parcela 1  |  parcela 2  |  parcela 3  // @@ aqui um sub-detail ou detail.
  Venda 2
    parcela 1  |  parcela 2

Cliente 2  
  Venda 1
    parcela 1  |  parcela 2  |  parcela 3
    parcela 4  |  parcela 5  |  parcela 6

Cliente 3  
  Venda 1
    parcela 1  |  parcela 2  |  parcela 3
    parcela 4

a sequencia de bandas vai depender da construção que você usar. Eu poderia fazer isto de uns tres modos (pelo menos) combinando componentes table e query, e conforme a combinação dá para fazer uma construção.

a opçao mais simples, talvez, seja utilizar uma detail para clientes, uma sub-detail para vendas, e outra sub-detail para as parcelas; Cada dataset fica ligado ao outro via mastersource ou datasource, conforme componente (table ou query)

o numero de colunas pode ser 3, e no max. 5 linhas, as parcelas serão no máximo 14.
a parte colunada, é realmente um problema no Quickreport - só gerenciando na mão mesmo. Mas, não é nada complicado.

sendo esta banda sub-detail, você pode gerenciar até quando ela é impressa, via evento OnNeedData, assim, neste evento você processa cada linha do dataset (uma coluna no relatório) de modo que faria um while para processar no máximo 3 items (são as colunas), quando sai do while, se houverem mais parcelas, você vai atribuir True ao parâmetro MoreData de modo que esta banda será novamente processada pelo quickreport. Deste modo, você processará todas as parcelas, mas avançará uma linha (desta sub-detail) a cada 3 parcelas movidas para os labels que você deverá posicionar na banda para montar as colunas.

É mais ou menos isto. Veja se consegui avançar.

Link to comment
Share on other sites

  • 0
Guest --VAGNER --

+ 1 VZ OBRIGADO MICHEUS,

não será impresso um relatório com varias paginas, apenas uma pagina: é como se fosse um contrato de venda, onde aparecerá:

1 -dados fixo do vendedor(sem consulta a tabela);

2 -dados do cliente(consulta via id);

3 -dados da venda(consulta via id do cliente);

4 -parcelas da venda (consulta via id da venda).

]

+/- assim:

TITULO

.

.

.

VENDEDOR

CLIENTE

VENDA

PARCELAS (DE MODO COLUNADO)

.

.

.

ASSINATURAS

Link to comment
Share on other sites

  • 0
não será impresso um relatório com varias paginas, apenas uma pagina: é como se fosse um contrato de venda, onde aparecerá:

1 -dados fixo do vendedor(sem consulta a tabela);

2 -dados do cliente(consulta via id);

3 -dados da venda(consulta via id do cliente);

4 -parcelas da venda (consulta via id da venda).

Ok.

Mas, mesmo assim, você não usaria uma group para as parcelas. Na pior das hipóteses, eu usaria uma detail.

Nesta situação, vou supor que você está com os registros posicionados apenas no que você quer: Cliente no atual; Venda na atual (já que um cliente pode ter várias vendas); Com isso, o dataset do seu Quickrep seria parcelas.

você poderia utilizar uma groupband para colocar estas informações e uma detail para desenhar uma linha com qrlabels para montar as 3 colunas. Porém, ainda assim, você controlaria na mão o avanço do dataset, via OnNeedData, só que agora este seria o evento do QuickRep - não mais da sub-detail que citei no outro post.

Eu sugiro que você tente montar o relatório normalmente - sem esta parte do OnNeedData que falei e utilizando QRDBEdit para mostrar uma coluna de dados das parcelas. Como resultado, você terá várias linhas - uma para cada parcela.

Quando isto estiver funcionando, então fazemos a alteração necessária para colunar as parcelas, ok?!

Abraços.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Forum Statistics

    • Total Topics
      149.8k
    • Total Posts
      646.6k
×
×
  • Create New...