Pular para o conteúdo principal

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: Integer;
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;

  while not qProdutos.Eof do
  begin
    for i := 1 to qProdutos.FieldByname('estoque').AsInteger do
    begin
       memDados.Append;
       memDadosTexto1.AsString := qProdutos.FieldByname('codigo').AsString;
       memDadosTexto2.AsString := qProdutos.FieldByname('descricao').AsString;
       memDadosTexto3.AsString := qProdutos.FieldByname('marca').AsString;
       memDadosTexto4.AsString := FormatFloat(',0.00', qProdutos.FieldByname('preco_venda').AsCurrency);
       memDadosTexto5.AsString := qProdutos.FieldByname('cod_barras').AsString;
       memdados.Post;
    end;
    qProdutos.Next;
  end;
  qProdutos.Close;

  frxReport1.Clear;
   frxReport1.LoadFromFile(ExtractFilePath(ParamStr(0))+'Etiquetas.fr3');
  frxReport1.ShowReport;
end;

Agora, adicione o componente frxBarCodeObject ao form, e vamos ao designer do Fast. Adicione somente a banda MasterData, ligue ela a sua tabela temporária.

Nós temos que configurar a colunas. Existem duas formas de fazer isso: 

Na página: desta forma as etiquetas irão ser formadas no sentido vertical, ou seja, a primeira coluna será preenchida até o fim da página, e só então a segunda coluna será preenchida, e assim sucessivamente, até finalizar a página inteira.


No MasterData: as colunas serão preenchidas no sentido horizontal, ou seja, a primeira coluna, a segunda coluna, a terceira...., depois será aberta uma nova linha de colunas e o processo inicia novamente. Veja os prints:



Agora só adicionar os componentes dentro das etiquetas e executar.



O componente código de barras, ao ser inserido no relatório, vai exibir o seguinte formulário:



Caso você deseje configurar as etiquetas na página, a propriedade é Columns, mas se for no MasterData, use as propriedades:
Columns: quantidade de colunas
ColumnWidth: largura da coluna

ColumnGap: distância entre colunas.

Não esquçam de configurar as margens da página também.

Bom pessoal, por hoje é isso. Em casos de dúvidas, ou elogios (hehehe), usem os comentários.

Comentários

Postar um comentário

Postagens mais visitadas deste blog

ACBR - Corrigir Erro Interno: 12175/12030/12029/12031

Erro Interno: 12175/12030/12029/12031 Atualização do Windows - Habilitar o TSL 1.2 ✔1.0) Instalar o Service Pack 1 (SP1) - Baixar em  https://www.microsoft.com/pt-BR/download/details.aspx?id=5842 ✔1.1) Responsável por atualização dos protocolos de SSL - Instalar KB2992611, https://www.catalog.update.microsoft.com/Search.aspx?q=2992611 ✔1.2) Responsável por HABILITAR o protocolo TLS 1.1 e 1.2. Instalar KB3140245  https://www.catalog.update.microsoft.com/search.aspx?q=kb3140245 ✔1.3) ou Baixar todas as atualizações disponíveis. Configuração do Protocolo no Internet Explorer Marque as opções Opções de Internet (no IE, menu Ferramentas, Opções de Internet) ✔ Não salvar páginas criptografadas em disco;  ✔ Usar SSL 3.0;   ✔ Usar TLS 1.0;   ✔ Usar TLS 1.2;  Desmarque as opções caso tenha ou estejam marcadas: ❌ Usar SSL 2.0;  ❌ Usar TLS 1.1; #Atualizações das Cadeias de Certificado ✔ https://www.gov.br/iti/pt-br/assuntos/navegadores Certificados por Navegadores fonte - http://www.iti.gov.br/na

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