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

Quick Report 3 Tabelas


DanielR

Pergunta

Boa tarde pessoal, estou me quebrando com quick report (trabalho com o rdprint) e devo passar os relatorios todos para o quick report. Help!

Problema:

devo fazer um rel de pedidos onde tenho a pessoa o pedido os itens e as parcelas. A pessoa, o pedido e os itens beleza sem problemas. Porém mas as parcelas ta dificil. já coloquei banda de tudo quanto é jeito mas nada.

ps. A tabela parcelas faz referencia a tabela documentos, logo se fizer um join tenho um registro de item para a mais para cada parcela.

obrigado!

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Pessoal já fiz diversas tentativas e nada. vou tentar explicar se estiver fazendo algo de errado deem uma luz.

esse é meu select principal:

SELECT

DOCUMENTOS.EMPRESA, DOCUMENTOS.CODIGO, DOCUMENTOS.TIPO_DOC, DOCUMENTOS.NUMDOC,

DOCUMENTOS.TIPO_CUSTO, DOCUMENTOS.VALORTOTAL, DOCUMENTOS.DATA_INCLUSAO, DOCUMENTOS_ITENS.ITEM,

DOCUMENTOS_ITENS.LOCAL, DOCUMENTOS_ITENS.QTD, DOCUMENTOS_ITENS.VALOR_DESCONTO, DOCUMENTOS_ITENS.VALOR,

DOCUMENTOS_ITENS.VALOR_TOTAL, CIDADES.NOME as NOME_CIDADE, UF.SIGLA, PESSOAS.NOME as NOME_PESSOA, PESSOAS.ENDERECO,

PESSOAS.NUMERO, PESSOAS.BAIRRO, PESSOAS.CEP, PESSOAS.P_REFERENCIA, ITENS.NOME as DESCRICAO

FROM

DOCUMENTOS

INNER JOIN DOCUMENTOS_ITENS ON (DOCUMENTOS.EMPRESA=DOCUMENTOS_ITENS.EMPRESA)

AND (DOCUMENTOS.CODIGO=DOCUMENTOS_ITENS.DOCUMENTO)

INNER JOIN DOC_RECEBER ON (DOCUMENTOS.EMPRESA=DOC_RECEBER.EMPRESA)

AND (DOCUMENTOS.CODIGO=DOC_RECEBER.CODIGO)

INNER JOIN PESSOAS ON (DOC_RECEBER.CLIENTE=PESSOAS.ID)

INNER JOIN UF ON (PESSOAS.ID_UF=UF.ID)

INNER JOIN CIDADES ON (PESSOAS.ID_CIDADE=CIDADES.ID)

INNER JOIN ITENS ON (DOCUMENTOS_ITENS.ITEM=ITENS.CODIGO)

WHERE

(1 = 1)

AND DOCUMENTOS.EMPRESA = idempresa

AND DOCUMENTOS.CODIGO = codigo

ok, aqui tenho a pessoa, o seu pedido, os itens do pedido e tudo funciona tranquilo. O relatorio sai a mil maravilhas.

Agora desejo colocar neste mesmo relatorio as parcelas deste documento. Para isso coloquei um qrband como rsDetail linkado com outro cds que contem a seguinte instrução.

SELECT

PARCELAS.PARCELA, PARCELAS.DT_VCTO, PARCELAS.VALOR, PARCELAS.STATUS

FROM

DOCUMENTOS

INNER JOIN PARCELAS ON (DOCUMENTOS.EMPRESA=PARCELAS.EMPRESA)

AND (DOCUMENTOS.CODIGO=PARCELAS.CODIGO)

WHERE

(1 = 1)

AND DOCUMENTOS.EMPRESA = idempresa

AND DOCUMENTOS.CODIGO = codigo

e ai começa os problemas, nada é impresso, testei por curiosidade todas as bandas disponiveis no qreport, só uma funcionou a qrSubDetail, porém o resultado não é bom, pois ele imprime todas as parcelas a cada detail do relatorio principal.

(já tentei fazer uma unica instrução, porém não deu certo pois para cada parcela um conjunto de itens é gerado na consulta. um pedido com 2 itens e 2 parcelas, são gerados 4 linhas de resultado na query).

Vejam a instrução:

SELECT *

FROM

DOCUMENTOS

INNER JOIN DOCUMENTOS_ITENS ON (DOCUMENTOS.EMPRESA=DOCUMENTOS_ITENS.EMPRESA)

AND (DOCUMENTOS.CODIGO=DOCUMENTOS_ITENS.DOCUMENTO)

INNER JOIN PARCELAS ON (DOCUMENTOS.EMPRESA=PARCELAS.EMPRESA)

AND (DOCUMENTOS.CODIGO=PARCELAS.CODIGO)

WHERE

(1 = 1) AND

AND DOCUMENTOS.EMPRESA = idempresa

AND DOCUMENTOS.CODIGO = codigo

Fato: Devo estar errando em algum lugar na hora de definir as bandas, podem me ajudar a descobrir? Obrigado!

Link para o comentário
Compartilhar em outros sites

  • 0

Bom pessoal foi cruel mas o resultado foi positivo.

Pra quem esta acostumado com um componente de impressão so texto como o rdprint, logo um quick report da um pouco de medo,

mas nada como umas aulas, dedicação e muita horas para testar e tirar todas as suas duvidas.

Bom vou tentar ser breve.

1. o quick report nos oferece bandas para impressão de dados

basicas: pageheader, pagefooter, columnheader, title, detail e sumary

2. Na solução do meu problema usei apenas duas delas (pageheader, pagefooter)

3. o quick report nos oferece uma banda na paleta chamada qrsubdatail ( no meu caso usei duas tb)

4. Para cada uma banda qrsubdetail você pode ter um cabeçalho e um rodapé (usei o recurso)

5. a chave começa aqui.

a ) você deve ter uma query com os dados do pedido e itens do pedido

b ) você deve ter uma outra query com os dados das parcelas do pedido

c ) você deve definir o quickrepor.dataset := nil ( como nulo ) pois teu condutor de dados são varias tabelas

d ) você deve definir no primeiro qrsubdetail quem é o condutor de dados e quais dados (aqui no exemplo é o pedido e seus itens)

QRSubDetail1.Master := suaquerydepedido

QRSubDetail1.DataSet := suaquerydepedido

e ) você deve definir o segundo qrsubdetail quem é o condutor de dados dele e quais dados serão impressos nele

QRSubDetail2.Master := suaquerydepedido ( para que a cada termino de imp de pedido as parcelas deverão ser impressa)

QRSubDetail2.DataSet := suaquerycomParcelas

pronto. é isso (basicamente)

meu relatorio ficou assim

Cabeçalho do Relatorio

Titulo do Relatorio====

==Pedido1======

===Item 1 do pedido ====

===Item 2 do Pedido ====

===Item 3 do Pedido ====

===Total============

==Formas de Pgto

=== parcela 1=========

=== parcela 2=========

=== parcela 3=========

==Pedido2======

===Item 1 do pedido ====

===Item 2 do Pedido ====

===Item 3 do Pedido ====

===Item 4 do Pedido ====

===Total============

==Formas de Pgto

=== parcela 1=========

=== parcela 2=========

Rodapé do Relatório===

Sua query de pedido poderá comportar todos os pedidos por um determinado periodo, um unico pedido, e ai va depender dos filtros que você deseja aplicar.

Bom pessoal espero ter ajudado!

Daniel

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
      152,2k
    • Posts
      651,9k
×
×
  • Criar Novo...