Ir para conteúdo
Fórum Script Brasil
  • 0

Relatório Colunado


Guest --VAGNER --

Pergunta

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.

Editado por Micheus
Não observação do item 3.7 das regras do forum - NÃO digite em caixa alta (1º aviso)
Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 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 para o comentário
Compartilhar em outros 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 para o comentário
Compartilhar em outros 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 para o comentário
Compartilhar em outros 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 para o comentário
Compartilhar em outros 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 para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...