Emitindo relatórios desenvolvidos no VsRel

É possível desenvolver relatórios personalizados, ou utilizar relatórios já desenvolvidos em chamadas pela VsScripter.

As chamadas de relatórios podem ser realizadas pelo código interno do relatório ou o nome do mesmo. No caso da chamada ser realizada pelo nome, caso exista mais de um relatório com o mesmo nome, o relatório de maior código será o escolhido para a impressão, respeitando a ideia de ser o último a ser desenvolvido.

Os parâmetros dos relatórios também são importantes para essa impressão via código. É possível ter relatórios com parâmetros sendo chamados via código. Para esse fim é necessário que na criação do relatório sejam definidos os parâmetros normalmente, porém atribuídos com a propriedade “enabled = false”, caso contrário os filtros de relatórios na chamada via código serão apresentados em tela.

Classe TFCarregaRelatorio

A classe TFCarregaRelatorio é a responsável pelas chamadas de relatórios via VsScript, para ter acesso a classe no script, se faz necessário adicionar no uses a unit uCarregaRelatorio.

Os métodos da classe TFCarregaRelatorio são:

  • RelatorioById: Imprime o relatório pelo código interno do mesmo, código esse é listado no Gerador de Relatórios (VsRel);

  • RelatorioByNome; Imprime o relatório pelo nome definido ao mesmo;

  • ParamAdd; Adiciona um determinado nome e valor de parâmetro a ser considerado em um relatório.

Método RelatorioById

Para chamada do relatório pelo seu código interno, os seguintes parâmetros são necessários:

  • nIdRel (integer): código interno do relatório a ser impresso;

  • cNomeParams (string): nomes dos parâmetros a serem preenchidos automaticamente para o relatório. Quando mais de um parâmetro se faz necessário informar o separador Chr(30) entre os parâmetros. A chamada ParamAdd de certa forma automatiza esse processo;

  • cValorParams (string): valores dos parâmetros a serem preenchidos automaticamente para o relatório. Quando mais de um parâmetro se faz necessário informar o separador Chr(30) entre os parâmetros. A chamada ParamAdd de certa forma automatiza esse processo;

  • lVisualizarImpressao (boolean): Se true realiza a impressão em tela antes de enviar para impressora.

Método RelatorioByNome

Para chamada do relatório pelo seu nome os seguintes parâmetros são necessários:

  • cNomeRel (string): nome do relatório a ser impresso;

  • cNomeParams (string): nomes dos parâmetros a serem preenchidos automaticamente para o relatório. Quando mais de um parâmetro se faz necessário informar o separador Chr(30) entre os parâmetros. A chamada ParamAdd de certa forma automatiza esse processo;

  • cValorParams (string): valores dos parâmetros a serem preenchidos automaticamente para o relatório. Quando mais de um parâmetro se faz necessário informar o separador Chr(30) entre os parâmetros. A chamada ParamAdd de certa forma automatiza esse processo;

  • lVisualizarImpressao (boolean): Se true realiza a impressão em tela antes de enviar para impressora.

Método ParamAdd

Esse método é utilizado para facilitar a adição de parâmetros para preenchimento automático na emissão de relatórios. Parte da ideia de que duas variáveis string sejam passadas como parâmetros, e a essas são adicionados os valores definidos também passados como parâmetros:

  • cNomeParams (string): variável na qual será adicionado o novo nome de parâmetro já com o separador Chr(30) entre os parâmetros já existentes;

  • cValorParams (string): variável na qual será adicionado o novo valor de parâmetro já com o separador Chr(30) entre os parâmetros já existentes;

  • cNomeParamAdd (string): nome de parâmetro a ser adicionado na variável cNomeParams;

  • cValorParamAdd (string): valor de parâmetro a ser adicionado na variável cNomeParams.

 

Exemplo de utilização da classe TFCarregaRelatorio com chamada aos métodos ParamAdd e RelatorioByNome.

uses uCarregaRelatorio; var cNomeParams, cValorParams: String; begin cNomeParams := ''; cValorParams := ''; //adicionando o parametro ESTAB com o valor do oDadosSis.EstabSelecionado TFCarregaRelatorio.ParamAdd(cNomeParams, cValorParams, 'ESTAB', IntToStr(oDadosSis.EstabSelecionado)); //chamada ao relatatório 'Meu rel exemplo' com os parâmetros definidos acima //e apresentando inicialmente o resultado em tela TFCarregaRelatorio.RelatorioByNome('Meu rel exemplo', cNomeParams, cValorParams, false); end;