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

Problema com relatório - URGENTE


alexrosalin

Pergunta

Boa noite pessoal,

Desenvolvi um sistema simples para controlar eficiência de produção, esta quase completo, porém hoje a pessoa que vai utilizar o mesmo me pediu um relatório e estou com dificuldades para desenvolver.

Uso Delphi 7 e Firebird 1.5, tenho uma tabela que guarda as informações das eficiencias que são geradas diariamente para cada setor. Tenho que fazer um relatório que mostre o que cada setor produziu em cada dia, mais ou menos assim.

-----|Data|--------|Setor 1|----|Setor 2|----|Setor 3|----|Total da Fábrica|

|01/07/2011|-------|200|--------|980|---------|378|-------|soma do dia|

|02/07/2011|-------|720|--------|450|---------|256|-------|soma do dia|

O problema é que o quickreport é ligado a um clientdataset, e como vou fazer para filtrar desta maneira agrupando por setor se eles ficam em uma mesma tabela. Da pra fazer no QuickReport, ou tenho que usar algum outro tipo de relatório, sem ser impressão direta, pois ele queria um visual agradável.

A tabela que tem os dados se chama "RESUMO"

Campos:

-CODIGO (integer)

-CODSETOR (integer) - é por esse campo que sei de qual setor é a eficiencia

- DATA (date)

- META (Integer)

- REALIZADO (integer) - é esse o campo q tenho que mostrar abaixo de cada setor;

- MIN_GASTOS (numeric)

Agradeço desde já.

Link para o comentário
Compartilhar em outros sites

8 respostass a esta questão

Posts Recomendados

  • 0

o relatório que voce esta querendo, o Quick Report faz tranquilamente... porem como voce é novo no forum, peço que voce pesquise no forum a sua dúvida, e caso não encontre nada que possa ajuda-lo, ai os membros poderão ajuda-lo

http://scriptbrasil.com.br/forum/index.php...te=quick+report

abraço

Link para o comentário
Compartilhar em outros sites

  • 0

Jhonas, segui o link da pesquisa que você me passou rodei todas as páginas da busca.

Vi algumas coisas que parecem ser relacionado a mesmo dúvida minha, mas sinceramente não consegui visualizar uma forma de adaptar neste meu problema.

Se você puder me dar uma ajuda, eu agradeço mesmo. Já fiz alguns relatórios que agrupavam mas, tipo eles agrupavam e ficavam um abaixo do outro, nunca fiz um agrupar para ficarem na mesmo linha da BandDetail como se fossem colunas. (Nesse caso as colunas seriam cada setor e só pularem para a linha de baixo quando a data for para o próximo dia )

por isso se você puder me dar um exemplo eu agradeço.

Abraços

Link para o comentário
Compartilhar em outros sites

  • 0

Vih os posts do link que me passou. Entrei em todos para ver os prolemas e as soluções

Vih que o problema pode ser resolvido com o GroupHeader. Mas como nuca utilizei este componente, estou com dificuldades em utiliza-lo.

Qual rotina sql tenho q executar para dar certo, e como faço as ligações.

Pois vi lá q tenho q criar como se fosse um sub-detail, mas tenho que criar uns filtros que não entendi, não ficou muito claro.

Desculpe a persistência, mesmo você me pasando os links, mas como eu nunca utilizei os componentes em questão, não estou conseguindo.

Se você me puder da um exemplo. dos filtros q tenho q fazer e as conexões dos componentes eu agradeço.

Link para o comentário
Compartilhar em outros sites

  • 0

Tentei fazer alguma coisa com os meu conhecimentos más não sei se está correto!!

Fiz o seguinte, criei primeiramente um DataModule com:

-CdsDia (client data set)

-DspDia (data set provider)

-QrDia (query)

(nesse primeiro grupo quero filtrar as datas)

e

-CdsInfo (client data set)

-DspInfo (data set provider)

-QrInfo (query)

(esse grupo fiz para no QR trazer a informação REALIZADO)

Pois bem, na minha tabela resumo tem um campo chamado mês que eu fiz para facilitar alguns outros filtros.

Então fiz o seguite na QrDia:

SELECT DISTINCT(DATA) FROM RESUMO 
WHERE MES = :PMES
Após isto criei um form(FrmConsMes) para o usuário escolher de qual mês ele quer as informações coloquei um ComboBox e um Button. No ComboBox tem os meses como é salvo na tabela e no button fiz a seguite programação:
FrmMenu.mes:=CmbMes.Text; //esse é o combobox | a intenção é fazer essa variável alimentar o parâmetro 'PMES' 
Application.CreateForm(TFrmRelDias, FrmRelDias); 
FrmRelDia.QuickRep1.PreviewModal; 
FrmRelDias.Free;(
No BeforePrint fiz assim não sei se está correto:
QrInfo.Close; 
QrInfo.Sql.Add:=(' '); 
QrInfo.Sql.Add:=('SELECT REALIZADO FROM RESUMO WHERE DATA = :PDATA AND CODSETOR = :PCODSET'); 
QrInfo.Params.ParamByName('PDATA').AsDate := (Aqui não sei o que colocar); 
QrInfo.Params.ParamByName('PCODSETOR').AsInteger := 1; // no caso estou fazendo primeiro só com o setor codigo 1 
QrInfo.Open; 

QrLabel.Cation:=QrInfo.FieldByName('REALIZADO').Value;

Está correto isto??

Como posso fazer para alimentar o parâmetro PMES, em qual local eu alimento ele ??

E como e com qual informação eu alimento o parâmetro PDATA tambem??

Obrigado pela atenção

Link para o comentário
Compartilhar em outros sites

  • 0
Vih que o problema pode ser resolvido com o GroupHeader. Mas como nuca utilizei este componente, estou com dificuldades em utiliza-lo.

voce vai usar a banda QRGroup para determinar o grupo que será mostrado, no entanto como voce não sabe como utilizar, gostaria que voce desse uma lida nesse artigo ( leia com calma para poder entender... )

http://translate.google.com.br/translate?h...26prmd%3Divnsfd

para judar tem exemplos na pasta demo do delphi ( procure por Quickrpt - QR3)

OBS: a explicação que foi dada a voce no outro forum, é para quem já tem alguma experiencia com esse componente

Vale observar que para o tipo de relatorio que deseja, o ideal é realmente agrupar os dados em um unico select

abraço

Link para o comentário
Compartilhar em outros sites

  • 0

Jhonas, vi este seu link e também vi o exemplo no delphi 7 já deu pra mim pega o esquema da coisa.

Agora assim, no exemplo do Delphi por exemplo ele mostra a unidade ai mostra todos os detalhes daquela unidade e ai abaixo pula para a próxima unidade.

Como eu vou fazer no meu caso para ficar um setor (no meu caso) ao lado do outro??

Outra Dúvida

Estou fazendo o meu filtro para este relatório da seguinte maneira:

SELECT REALIZADO, CODSET
FROM RESUMO
WHERE MES = :PMES
GROUP BY CODSET

Más dá o seguinte erro "Invalid Column Reference", se eu tiro o Group By não dá o erro, e ambos os campo existem o que pode ser?

Link para o comentário
Compartilhar em outros sites

  • 0
Como eu vou fazer no meu caso para ficar um setor (no meu caso) ao lado do outro??

se voce não tem nenhuma tabela que tenha os campos ordenados da maneira como gostaria, voce pode criar uma tabela temporária que tera o layout que voce deseja no relatorio

outra sugestão é usar campo memo para trabalhar com os dados, nesse caso voce pode usar como se fosse um texto formatado

existem outras opções... mas fica dificil explicar se voce não tem experiencia com o componente QRGroup do Quick Report ( tente pesquisar na net )

GroupHeader e GroupFooter

abraço

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,8k
×
×
  • Criar Novo...