Skip to content

Esse artigo auxilia no desenvolvimento de novos relatórios feitos com ReportBuilder.
Ou seja, são aqueles botões com impressora que estão nos vários módulos em Delphi do sistema (Backoffice, Order, Delivery, etc.).

Tutorial ​

1. Crie um novo formulário no Delphi.
A unit do Form deve se chamar TTR<mesma identificação do TTF>.pas.

Definir as propriedades:

  • Caption;
  • Name [frmReport<nome>].

2. Incluir novo form no projeto.
Em Project >>> Options, o form deverá estar em available forms.

3. Criar os objetos de relatório no form e vincular cada um a seu respectivo DataSource.

Relatorio-componentes-vinculo-datamodule.PNG
Explicação dos componentes de report

É padrão incluir um pipeline para o DataSource DUMMY.dsIDFCFG, onde são disponibilizados dados do usuário, empresa e versão do sistema.

4. Definir um layout padrão para o relatório.

Relatorio-edit.PNG
Tela de edição do ReportBuilder

É interessante incluir um rodapé que identifique o sistema, versão, data e página no modelo padrão.

Relatorio-rodape-padrao.PNG
Rodapé Padrão

5. Criar botão na tela para permitir chamada do relatório.
Em alguns casos o botão é o mesmo do salvar, e a impressão está em um menu DropDown vinculado ao botão.

Relatorio-tela-manut-notas.PNG
Botão de impressão da tela de manutenção de notas

O componente que faz o menu deve ser do tipo TRBPopupMenu.
Para maiores informações verificar o artigo Como Utilizar o Componente RBPopMenu.

6. Registrar o subdiretório em que vão ficar os relatórios personalizados no artigo
Path Padrão dos Formatos do ReportBuilder.

7. Criar método para impressão.

É recomendado criar um atributo privado indicando se é para imprimir [FSalvaImprime: Boolean].
E controlar com esse atributo a escolha do usuário de qual menu escolheu para salvar/imprimir o registro.

Na implementação, criado um form feito pelo Total definido na unit TTFRELAT.pas.
Esse form é responsável por mostrar a visualização dos dados do relatório, gravar, editar formato do relatório, enviar por email, etc.

Relatorio-ttfrelat.PNG
Tela de Relatório

Por padrão chamamos o objeto do relatório de Visao, conforme o exemplo abaixo.

Visao : TFRMRELATORIOS;

Visao := nil; try Visao := TFRMRELATORIOS.Create(Application,TfrmReportConNot, frmReportConNot,'rpConNot','dsConNot', RbPopMenuPath(Menu.RBList.Strings[0],Menu.RBFullFileName), , DmConsultaNota.Venda.fieldByName('FILCLI').AsString, DmConsultaNota.Venda.fieldByName('CODCLI').AsString); Visao.ShowModal; finally Visao.Free; end;

Montando Layout ​

O artigo Report Builder pode dar boas dicas sobre como montar um layout de impressão de relatório.

Categorias ​