DevMedia - asp.net, Java, Delphi, SQL e web Design, tudo em um só lugar!
Bem vindo a DevMedia!
LOGIN:     SENHA:
 
 

  Este é um post disponível para assinantes MVP
Este post também está disponível para assinantes da ClubeDelphi ou para quem possui Créditos DevMedia.  Clique aqui para saber mais!


Video: Rad Studio 2007-DBX4 e Firebird 2.0-Aplicação comercial de vendas do Inicio ao Fim-Parte 39-Relatório de movimento diário

Criaremos uma view que retorne dados referentes as vendas realizadas num relatório a ser disponibilizado na aplicação.

Título:

Tempo: 16:36 min

Mini Resumo: Na última vídeo aula, criamos uma View para que retorna-se dados referente as vendas já realizadas. Nada melhor do que agora darmos a opção do nosso cliente poder gerar um relatório em cima destas informações para uma eventual analise e futura tomada de decisão. Utilizaremos o rave report para poder ilustrar esta ação.

Metodologia de desenvolvimento do exemplo: O Rave é um excelente gerador de relatórios e nesta vídeo utilizaremos um de seus wizards para gerar um relatório simples que irá exibir os dados da venda. Feito isso iremos ver como acessar este relatório e executá-lo a partir do Delphi, mais especificamente, através de uma das ações disponíveis no menu principal.

Tecnologias utilizadas: RadStudio 2007, FireBird2.0, DBX4.

Exemplos construídos: Relatório de Vendas.

Palavras chaves: Delphi2007, DBX4, RvProject, Rave.





    16 COMENTÁRIOS

[Fechar]

Este post é fechado - você precisa ter acesso ao post para incluir um comentário.



Rodrigo Purgato Bertelle
Bom dia, Rodrigo.

Tenho uma dúvida que pra você deve ser muito simples.

Eu tenho em meu projeto o FormPai(MdiForm) e o FormFilho(MdiChild).

frmPrincipal = fsMdiForm;
frmModeloPesquisa = MdiChild;

Eu gostaria que quando fosse chamado os forms de pesquisa que são herdados do frmModeloPesquisa eles abrissem em toda área do formPai(frmPrincipal) que abre maximizado.

Desde já agradeço a ajuda.

[há +1 ano] - Responder

 

[autor] Rodrigo Carreiro Mourão
Já experimentou colocar este form de pesquisa como Maximizado?

abs !

[há +1 ano] - Responder
 

Rodrigo Purgato Bertelle
Bom dia, Rodrigo.

Cara estou com uma dúvida.

Estou desenvolvendo um Relatório com o QuickReport no Delphi 7 e a saída de impressão é uma Lx300.
Minha dúvida é a seguinte; Eu tenho q imprimi um contrato de locação de máquinas para a construção civil em uma folha timbrada do meu cliente, onde contém os campos como (Nome do Cliente, CPF, etc..) porém quando estou no cliente e mando imprimir este relatório do meu NoteBook(onde estou desenvolvendo) o Relatório sai perfeito. No entanto quando eu atualizo o exe no Cliente e mano imprimir o mesmo Relatório sai desconfigurado.
O que pode ser isso?

Desde já agradeço a atenção.
[há +1 ano] - Responder

 

Carlos José Rausch Bernardo
Rodrigo Olha as configuracoes da impressora, e compara do seu note com a do cliente...
 
Botao direito na impressora-->Propriedades --> Avancado
 
clica no botao padroes de impressao
Em Layout tem um botao avancado
Da uma comparada e configura igual a sua impressora...
 
Se isso nao resolver... ve o tipo da saida da impressora EPP,ECP ou SPP(Normal)...
 
Pode ser por ai a solucao
 
Desculpe a falta de acentos...
[há +1 ano] - Responder
 

[autor] Rodrigo Carreiro Mourão
Olá Rodrigo,

So para complentar o que o carlos falou, que foi de grande ajuda, Obeser como esta a condensação das fontes na impressora do seu cliente. Voce ve isso pelas led, geralmente verdes, que ficam acessos. Acho que 10dpi, 15dpi etc tec

Quando eu imprimia notas na LX300 eu lembro que eu controlava isso via Delphi enviando comando como #14#27, #14#10 cada comando deste fazia uma alteração de configuração.

Busque na net que encontrará esses códigos.

abs!!
[há +1 ano] - Responder
 

Edson José Dionisio
Olá Rodrigo, tudo bom?
A minha dúvida desta vez é a seguinte... Smile
 - lembra quando foi feito o form modelo e nele foram colocados alguns codigos para pesquisa ser mais dinamica e fácil? pois pronto, este seria o código ...

for I := 0 to Pred(Ds.DataSet.FieldCount) do
  begin
    if Ds.DataSet.Fields[I].DataType in [ftString,ftWideString,ftFixedChar] then...

minha dúvida é neste campo em negrito. na minha dbgrid eu estou tentando colocar campos virtuais para que não seja visto o código e sim seja visto o nome do campo em si (ex: alunoid, nome), mas como eu já disse, é campo virtual. quando eu executo o sistema e vou pesquisar por este campo virtual, o sistema me apresenta o seguinte erro:
         field "nome" cannot be used in a filter expression

eu gostaria de saber oq eu devo colocar na linha acima para poder efetuar a pesquisa de campos virtuais (se é que é possível!).

de ante mão, muito obrigado pelas vídeos e pela força Rodrigo.
abraço!
[há +1 ano] - Responder

 

[autor] Rodrigo Carreiro Mourão
Olá amigo,

Na verdade o que vc chama de campo virtual e um campo look up. Como eu disse na video este consulta no form modelo e muito simples e singela. Eu aconselharia a vc colocar uma nova aba no form modelo onde seria feitas consultas avancadas e la vc montaria seu select dinamicamente.

Assim poderia fazer um join para permitir o usuario digitar um nome do aluno e vc localizar pelo código. Voce pode utilizar o conceito mostrado aqui: http://www.devmedia.com.br/articles/viewcomp.asp?comp=12666

Abs!
[há +1 ano] - Responder
 

Edson José Dionisio
Obrigado Rodrigo,

eu esqueci de informar que não estou desenvolvendo com pacotes...isso resultaria em algum problema usando os métodos utilizados na video que vc me mandou?

mais uma vez...obrigado!
[há +1 ano] - Responder
 

[autor] Rodrigo Carreiro Mourão
Ola Edson,

Acreditro que não, não vejo nenhum problema !!!

Abs!!
[há +1 ano] - Responder
 

[autor] Rodrigo Carreiro Mourão
Ola Edson,

Acreditro que não, não vejo nenhum problema !!!

Abs!!
[há +1 ano] - Responder
 

Edson José Dionisio
Olá Rodrigo, eu fiz os testes e não houve nenhum problema! Smile
agora a questão é outra (que eu acredito que também não seja problema - falta testar!!). é com relação as views que foi visto na video 38...estas views podem ser criadas telas de consultas no delphi para elas, no caso variando as ações que serão visualizadas?
tipo...uma tela para a contabilidade verificar os pagamentos dos alunos (uma view) e outra tela com os cadastros nas turmas informando os alunos nelas matriculados(outra view). pode ser feito isso?
 
muito obrigado pelas informações. 
[há +1 ano] - Responder
 

[autor] Rodrigo Carreiro Mourão
Olá Amigo,

A view como o nome diz é uma visão. Imagine que vc tenha 5 tabelas:  Cliente, Vendas, VendaItem, Produto, Fabricante.

Ai vc tem que criar um relatorio que mostro a DataDaVenda, NomedoCliente, Quantidade, NomedoProduto, Preco e Nome do Fabricante.

Bem seu select tera 5 tabelas e varios Join. Neste caso e legal criar um view, para que nao tenho que ficar escrevendo o select toda hora. Entao se no seu cado sao apenas telas de consultas entao as views caem como uma luva.

Abs
[há +1 ano] - Responder
 

Ana Lúcia Brock
      Boa Noite, ADORO suas vídeos deste curso ja estou usando no Delphi2009 porém no cadastro de perfil para chamar ele você usou o CREATE ( passando um parâmetro com as Ações do  ActionList ) e como eu trabalho com formulários MDICHILD uso Application.CreateForm... consequentemente estou sem as Ações dentro do formulário para poder carregar o perfil do usuário  que eu aliás coloquei os controles de INSERIR etc junto no PERFIL_CONF.
      Só esta me faltando ter acesso ao ActionList das Ações, antes de usar como formulário MDI estava funcionando legal.
   Aguardo anciosamente mais vídeos com suas aulas, considero você meu guru, tens ótima didática e conhecimento sobre a linguagem. ( trabalho  a 25 anos com pragamação deste o saudoso DBASE e Clipper´87).
   Ana Brock
   Alvorada - RS
[há +1 ano] - Responder

 

[autor] Rodrigo Carreiro Mourão
Olá Ana, em primeiro lugar obrigado !!

Bem como vc esta usando o application.CreateForm terá que adotar outra abordagem. Vá ate o form Perfil e na seção public crie uma noca propriedade.

property ActionList: TActionList;

Feito isso pressione Ctrl+Shift + C. Isso vai criar uma implementação e uma procedure SetActionList e um campo FActionList la na seçãi private.

Agora na procedure LoadAction, LoadDefaulAction, nao me lembro agora, seu loop vai ser em cima do FActionList.

Agora para criar seu form faça:

application.CreateForm(FrmPerfil, TFrmPerfil);
FrmPerfil.ActionList := SeuActionList;
FrmPerfil.show;

Agora so a titulo de curiosidade, já tentou criar um form MDI assim:  FrmPerfil := TFrmPeril.Create(Self, Action) ???


Abs !!

[há +1 ano] - Responder
 

Ana Lúcia Brock
    Sim tentei, só que ai o comando "cxPageControl1.ActivePage := tbConsulta;" acaba dando erro e o formulário não fica posicionado como eu mando.
    Mas meu ActionList se chama "Acoes" como você colocou no seu exemplo,fiz sua modificação e não dá certo pois "Acoes" é um ActinManager e não ActionList.
 
   Obrigada.
[há +1 ano] - Responder
 

[autor] Rodrigo Carreiro Mourão
Coloca um aclasse mais acima como TCustomActionList acho que é isso.

Abs
[há +1 ano] - Responder
 



Publicidade
Curso Online
Autor
Rodrigo Carreiro Mourão

Consultor de TI especializado em Orientação e Objetos, Design Patterns e Gestão de Projetos. Instrutor certificado pela Borland e Delphi Product Certified. É sócio da RM Factory Soluções em TI e da Szeryng Traduções e Informática. Atua como Supervisor de TI do Grupo Editorial Nacional e é instrutor ...


Space do autor
Estatísticas
Favorito:
Comentários:
Feedback:
Utilidade:
6   0
[Fechar]

Você precisa estar logado para dar um feedback.

Clique aqui para efetuar o login
[Fechar]


Este post está fechado. Saiba mais sobre a assinatura MVP!
web-03
DevMedia  |  Anuncie  |  Fale conosco
Hospedagem web por Porta 80 Web Hosting
2012 - Todos os Direitos Reservados a web-03