segunda-feira, 13 de dezembro de 2010

Gerando um relatório através de um registro

Olá Pessoal,


Segue mais uma dica para fazer gerar um relatório apartir de um registro selecionado. No meu caso precisei na fazer na tela de Ordem de Compra. Criei um botão para imprimir algumas informações referente ao a Ordem selecionada, ressaltando que usei duas tabelas, a Purchtable e a VendInvoiceJour.

Segue um exemplo básico.


1º Passo

  • Criei o report PM_ComprasTeste, usando as tabelas Purchtable e a tabela VendInvoiceJour que irei usar para pegar algumas informações para impressão. Veja abaixo que coloquei no segundo DataSource a tabela VendInvoiceJour e faço o relation com a PurchTable pelo PurchID.


2º Passo

  • No método ClassDeclaration do Report, declarei da seguinte forma as variaveis global:


3 º Passo

  • Depois é preciso sobrescrever o método init, para que no momento em que iniciar o relatório, ele pegue o parametro do registro selecionado:

4 º passo


  • Sobrescrever o método fetch() para que no momento para executar a query adicionado o Range atua ao datasource e preenchendo o Datasource com apenas o registro selecionado;

  • Fiz um Select na VendInvoiceJour, passando como parametro o atual registro selecionado da PurchTable;

  • Atribuo na variavel DocumentDate (já declarada na figura 1), a data do documento que preciso;

  • Crie um método do tipo Display, para retornar o valor da variavel e associar depois a um campo do tipo Date, que será colocado no Design do Report;



5º Passo

Na propriedade do Report e Query, setar = NO a propriedade Interactive


6º Passo

  • Crie um MenuItem do tipo OutPut chamando o report;
  • Na propriedade do botão que foi criado na tela de Ordem de Compra, associe o MenuItem e o DataSource principal da tela, no meu caso, Purchtable.

Ao entrar na tela de ordem de compra, apertando o botão o relatório é apresentado conforme o registro selecionado.

[]s

André Silva