Pular para o conteúdo principal

Postagens

Mostrando postagens de 2018

Curso Fast Report - Aula 07.1 - Pulando etiquetas

Ola pessoal, tudo bem com vocês? Este aula é só pra mostrar uma dica simples na impressão das etiquetas. Problema: o usuário já removeu algumas etiquetas do formulários, e precisamos "pular" esses espaços. Veja um exemplo onde faltam 5 etiquetas: Pra pular essas etiquetas, eu costumo gerar "registros falsos" na tabela temporária, e fazer um if durante a impressão. Veja como ficou o código no Delphi: var   i, j: Integer;   x: String; begin   // ABRE TABELA COM DADOS   qProdutos.Close;   qProdutos.SQL.Text := 'SELECT codigo, descricao, marca, preco_venda, ' +     'estoque, unidade, cod_barras FROM produtos';   qProdutos.Open;   // LIMPA TABELA TEMPORARIA   memDados.Close;   memDados.Open;   // PULAR ETIQUETAS DO INICIO   x := '0';   if InputQuery('Pular Etiquetas', 'Informe a quantidade de etiquetas a pular', x) then   begin     i := StrToIntDef(x, 0);     if i > 0 then     begin       for j :=

Curso Fast Report - Aula 07 - Impressão de Etiquetas

Olá pessoal, bem vindos a mais uma aula de Fast Report. Desta vez iremos falar sobre impressão de etiquetas.  Primeiro iremos preparar nosso ambiente de dados. Geralmente eu uso uma tabela temporária (em memória ou ClientDataSet - qual você estiver acostumado a usar), pra poder preencher os dados das etiquetas, com uma estrutura simples: Texto1 - String - 100 Texto2 - String - 100 Texto3 - String - 100 Texto4 - String - 100 Texto5 - String - 100 Dessa forma, eu pego os dados de qualquer tabela e vou inserindo nessa tabela temporária. Assim eu consigo, por exemplo, imprimir várias cópias da mesma etiqueta, como por exemplo, quando é necessário etiquetar produtos, e existem várias peças de um mesmo produto. Veja um exemplo de produtos/estoque: Primeiro eu percorro a tabela, e vou inserindo um registro pra cada item. Se o item possui estoque maior que um 1 (por exemplo, estoque = 10), eu insiro 10 registros do mesmo item. Veja o código abaixo: procedure ... var i: In

Curso Fast Report - Aula 06 - Script & Variáveis

Olá amigos desenvolvedores, vamos pra mais uma aula. Desta vez iremos ver como colocar códigos dentro do relatório. Dois cliques no frxReport pra criarmos um novo relatório. Coloque um MasterData , e um Summary , configurando assim: Agora vá na aba Código, pra criar algumas variáveis: Volte na página, selecione o Memo2 . No Object Inspector, vá na aba Events, dois cliques no evento BeforePrint , e insira o codigo: Pronto. Já podemos ter um preview do relatório. Perceba que em nosso código temos alguns códigos e funções, por exemplo <Line> (número da linha), e Sin(<Line>) (função pra calcular o seno). As variáveis e Funções padrão do Fast podem ser acessadas pela aba Variáveis e Funções que ficam do lado direito do Designer. Agora falta colocar o total no sumário. Selecione o Memo5 que está no sumário e programe o evento BeforePrint dele assim: Caso você tenha um relatório por grupo, você também pode criar uma variável TotalGru

Curso Fast Report - Aula 05 - Master/Detail

Olá "meninos da informática", vamos para mais uma aula? Desta vez iremos ver como fazer um Mestre/Detalhe no nosso querido Fast Report. Primeiro adicione duas Querys (configure-os pra Master/Detail) e dois frxDBDataSet ao form e um novo button. Neste caso vou fazer uma mestre/detalhe entre a tabela vendas e os itens das vendas. Podemos fazer também Master/Detail/Detail: Vendas, Itens e Parcelas, ou entao Master/Detail/SubDetail: Vendas, Servicos e peças por serviço, por exemplo. Caso você já tenha um mestre/detalhe no seu projeto, pode usar ele. Agora dois cliques no frxReport pra abrir o designer. Vá ao menu Relatório, opção Dados, e selecione a fonte de dados (master e detail). Neste relatório iremos ter as seguintes bandas: PageHeader, MasterData, Child, Header, DetailData, conforme a figura abaixo. A diferença entre PageHeader e Header, é que o PageHeader aparece no topo de todas as páginas, enquanto o Header é mostrado acima da banda onde foi con

Curso Fast Report - Aula 04 - CrossTab Report

Olá "escovadores de bits" (essa é antiga hein kakaka), vamos a mais uma aula sobre Fast Report. Dessa vez iremos falar sobre o CrossTab Report. Este é um tipo de relatório, onde podemos gerar colunas "automaticas" com base nos campos de uma tabela. O relatório irá ficar parecido com uma planilha do excel. Vamos ver um exemplo no excel: Agora vamos para o nosso projeto. Adicione o objeto frxCrossObject1 ao form. É ele q nos permite fazer a "mágica" acontecer. Adicione também uma nova Query (Name = sqlVendas) e um novo frxDBDataSet (Name/UserName = frxSqlVendas, ligando a propriedade DataSet ao sqlVendas) Para gerar o relatório, vou usar 2 tabelas: DOCUMENTOS e VENDAS, fazendo um JOIN entre elas, gerando 3 colunas: SELECT v.data, d.descricao, SUM(v.total) AS total FROM vendas v LEFT JOIN documentos d ON d.id_documentos = v.id_documento GROUP BY v.data, d.descricao Agora vamos para o Designer, criar no relatorio. Dentro dele ja inicie u

Curso Fast Report - Aula 03 - Agrupamento de Dados e Totalizadores

Olá pessoal, estamos aqui mais uma vez com nosso curso de Fast Report. Hoje iremos ver como fazer o agrupamento dos dados, e fazer totalizadores, tanto por grupo como um totalizador geral. Vamos lá. Adicione uma nova query e outro frxDBDataSet ao form, e configure-os assim: Query Name : sqlReceber SQL : SELECT nome, numero, vencimento, valor, historico FROM receber ORDER BY vencimento frxDBDataSet Name : frxSqlReceber (nome usado pra referencias no Delphi) UserName : frxSqlReceber (nome usado pra referencias no FastReport) DataSet : sqlReceber Dê dois cliques no frxReport pra abrir o designer. Clique no botão Novo, vá ao menu Relatório, opção Dados e marque o frxSqlReceber. 2 cliques no MasterData e selecionar a fonte dos dados novamente. Remova a banda PageTitle e adicione a banda PageHeader . Adicione a banda GroupHeader e informe o field que será usado como agrupador. As opções dessa tela são: Manter grupo unido : não separa o cabeçalho d

Curso Fast Report - Aula 02 - Primeiros Passos

Olá galera, mais uma mini-aula de FastReport saindo do forno. Desta vez iremos ver como gerar nosso primeiro relatório no FR. Mãos a obra (ou melhor, no mouse e teclado hehehe). Nesta aula, estou usando um projeto novo, mais vocês podem usar o projeto de vocês. O que vamos precisar: 1 Conexao com banco de dados. Eu estou usando UniDAC - TUniConnection + MySQL, mas vc pode pode usar qualquer componente de conexão e qualquer banco de dados) 1 Componente Query compatível com sua conexão (vou usar um comando SQL simples: SELECT id_cliente, nome, endereco, numero FROM clientes ORDER BY nome) 1 Componente frxReport 1 Componente frxDBDataset - aponte a propriedade DataSet para a query que você está usando

Curso Fast Report - Aula 01 - Instalação

Olá pessoal, hoje estou dando início as aulas de Fast Report. O intuito destas aulas é mostrar o uso do Fast Report, em posts curtos e diretos. Nesta primeira aula, iremos ver com realizar a instalação do componente. Caso você tenha o instalador padrão, basta executar o mesmo e seguir os passos, mas se você não tem o instalador, adicione os .dpk necessários ao Project Group. Depois compile tudo, e instale os pacotes que estão marcados: Esse arquivo irá instalar a versão 4 do Fast no Delphi XE2 (v16).  Caso você tenha uma versão diferente,  veja que temos o numero 16 no nome do arquivo. Localize o arquivo dclfrx no seu computador e veja qual a versão usada, e substitua o '16' pelo número que da versão do seu Delphi. Após instalar, talvez seja necessário alterar o idioma do Fast. Parqa isso, localize o arquivo  recompile.exe que está na pasta dos fontes do Fast. e execute ele (se necessário, como administrador). Mude a linguagem para Brazil (se você colocar Portuguê