Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 5 Current »

Objetivo

O objetivo desta documentação é mostrar ao usuário como emitir relatórios criados no VsRel, por meio do VsScripter.

Como será feito

Como tratado no documento Emitindo relatórios desenvolvidos no VsRel  a emissão de relatórios criados no VsRel, por meio do VsScripter, é relativamente simples. Algumas facilidades, como envio de parâmetros para filtragem de dados, podem ser executadas permitindo a impressão ou geração de PDFs das informações pesquisadas, conforme desenhado no VsRel.

Este exemplo mostrará a emissão de um crachá temporário para Prestadores de Serviço no momento em que o registro for salvo, conforme figura abaixo:

Vale lembrar que mesmo sendo um exemplo plausível, este material tem cunho didático.

Para a execução do exemplo aqui apresentado, será necessário:

  • Desenvolvimento do relatório no VsRel, seguindo as instruções apresentadas mais adiante;

  • Criação do script necessário para a emissão do relatório, com a passagem de parâmetros necessários para a localização do registro específico que fornecerá os dados para geração do crachá;

  • Inclusão de uma pessoa fictícia, no Cadastro de Pessoas do Folha e, depois, inclusão de um Prestador de Serviços, usando essa pessoa fictícia.

Criando o relatório no VsRel

Como o VsRel não é o objetivo principal desta documentação, as informações passadas aqui para o desenvolvimento do relatório irão considerar que o usuário que as esteja seguindo possui um mínimo de conhecimento necessário para operação do mesmo.

O próximo passo é escolher onde o relatório será salvo e, clicando com o botão direito do mouse, escolha a opção “Novo Relatório” no menu flutuante mostrado. O módulo de desenho do novo relatório será mostrado, como se segue:

Este relatório será iniciado pela seleção da fonte de dados que será usada para fornecer as informações que serão impressas. Para tanto, escolha a primeira aba, chamada “Dados”. Em seguida, no menu “Arquivo”, escolha o submenu “Novo” ou use o atalho “CTRL+N”.

Escolha a opção “Construtor de Consultas”, conforme figura abaixo:

Na aba “Tabelas”, escolher as tabelas abaixo, as quais guardam os dados necessários para o exemplo:

  • RHPRESERV;

  • RHFUNCAO;

  • RHPESSOA;

  • RHPESSOAFOTO.

 Na aba “Campos” serão mostrados todos os campos existentes nas tabelas selecionadas acima. Será necessário escolher os campos abaixo, pois apenas estes serão usados no relatório:

Apelido do campo

Apelidos da tabela e do campo no SQL

(tabela.campo)

Código da Pesso

RHPRESERV_1.IDPRESS

Função

RHFUNCAO_1.IDFUNCAO

Descrição

RHFUNCAO_1.DESCRICAO

Foto da Pessoa

RHPESSOAFOTO_1.FOTO

Nome

RHPESSOA_1.NOME

CPF

RHPESSOA_1.CPF

RG

RHPESSOA_1.RG

Finalizada a escolha dos campos, clicar no botão “OK”. Por enquanto, estas serão as ações.

A aba “Dados” deve ser mostrada como está na figura abaixo:

Neste exemplo, a aba “Cálculo” não será utilizada, podendo ser escolhida a aba “Desenho”. Nela, será feito o “design” do relatório, onde os campos previamente selecionados serão posicionados para a formatação necessária ao nosso “layout”.

Na área principal de desenho do relatório, existem três subáreas onde serão colocados os elementos do mesmo, de acordo com a destinação de cada elemento. Abaixo, uma representação da área principal:

Acima da subárea “Cabeçalho”, normalmente são colocados os elementos referentes a identificação da empresa emitente do relatório e, também, identificação de quaisquer outras informações necessárias ao entendimento do relatório em si. Por exemplo: Nome do usuário que emitiu o relatório, título do relatório, data e hora de emissão, unidade a que se referem os dados expostos no relatório etc.

Neste exemplo específico, esta área não será utilizada, pois foi julgado que não se aplica.

Acima da subárea “Detalhe” e abaixo da subárea “Cabeçalho” será a área destinada ao desenvolvimento do desenho do relatório, que neste caso será um crachá temporário. O desenho sugerido será apresentado mais abaixo.

Acima da subárea “Rodapé” e abaixo da subárea “Detalhe”, normalmente são colocados, por exemplo, os elementos referentes ao controle do número de páginas e quaisquer outros elementos que possam ajudar no entendimento do relatório.

Neste exemplo específico, esta área não será utilizada, pois foi julgado que não se aplica.

Tanto a subárea “Cabeçalho” e “Rodapé” são as área que possuem a maior parte de informações estáticas do relatório, como logotipo da empresa, nome do estabelecimento, endereço, título do relatório e quaisquer outros elementos que ajudem no entendimento do relatório.

Fonte de dados (campos) a serem inseridos no desenho do relatório

A direita do formulário de desenho de relatórios, existe uma área chamada “Estrutura de Dados”, onde estão referenciadas as fontes de dados escolhidas (tabelas e campos), chamada de “Prestadores_de_Servico”. Logo abaixo desta primeira área, são apresentados os “Campos para Prestadores_de_Servico”, que são os campos que fazem parte desta estrutura de dados, os quais fornecerão os dados para o relatório, conforme mostrado na figura abaixo:

Basicamente, os campos serão arrastados e soltos na área “Detalhe” na ordem e posição concomitantes com o “layout” proposto. Observar o modelo sugerido abaixo:

Observações importantes:

  • Tanto a etiqueta “Nome:” quanto o campo “Nome” possuem tamanho da fonte igual a 12. Ou seja, o atributo “Size” do componente “Text Font” tem o valor 12. Os demais elementos, tanto etiquetas quanto campos, possuem tamanho igual a 10;

  • A etiqueta (label) que fica ao lado da foto pode ser excluída para uma apresentação visual melhorada do relatório. Clicar com o “mouse” sobre a etiqueta e pressionar a tecla “DEL”;

  • O campo “Nome”, que fornecerá o nome do prestador de serviços, possui o atributo “WordWrap” Habilitado, para que o nome seja dividido em duas linhas, se necessário;

  • A data informada em “Emissão” vem diretamente do sistema e é colocada automaticamente por meio do componente “Variável do Sistema”, que é representado pelo ícone de um pequeno calendário, mostrando um relógio de ponteiros  os números “1” e “2”;

  • O “layout” aqui proposto tem fim exclusivamente didático, não obedecendo a qualquer norma técnica para desenho deste tipo de artefato, se essas existirem;

  • Para formatar o CPF que será mostrado no crachá, altere a propriedade “DisplayFormat” do campo “CPF” para “000\.000\.000\-00;0;”, clicando nas reticencias que existem no campo e digitando/colando a máscara no campo “Formato de Apresentação” que será mostrado e confirmando com um clique no botão “OK”;

  • Todos os elementos colocados no relatório ficaram com o nome padrão que é criado pelo VsRel. Porém, para manter as boas práticas de desenvolvimento, num relatório real, é sugestão dar nomes ao elementos de acordo com a funcionalidade e/ou conteúdo de cada um.

O próximo passo será desenhar um quadrado com a ferramenta “Polígono” que é representada por um ícone que mostra três figuras geométricas (um círculo roxo, um triângulo vermelho e um retângulo verde). Para tanto, basta selecionar a ferramenta e clicar com o botão esquerdo do “mouse” sobre a área de desenho “Detalhe”. Em seguida, será necessário alterar o tamanho e posição do quadrado criado até que o mesmo cubra todos os dados (etiquetas, campos e foto) colocados no relatório no passo anterior, cobrindo tudo e deixando uma margem de sobra nos quatro lados da figura.

Depois do retângulo pronto conforme descrito acima, clicar com o botão direito sobre o mesmo e escolher a opção “Enviar para trás”, conforme figura abaixo:

O resultado deve ser algo parecido com o modelo mostrado abaixo:

Selecionar o retângulo criado e escolher o atributo “Appearance.Shape” e escolher o valor “stRoundRect”, conforme indicado na figura abaixo:

Esta opção deixará o retângulo com os cantos arredondados.

Em seguida, ainda com o retângulo selecionado, alterar o atributo “Appearance.Brush.Color”, selecionando o valor “clSilver”, conforme figura abaixo:

O “layout” do crachá deverá estar parecido com o da figura abaixo:

Para finalizar o desenho do relatório, selecionar o retângulo que dá o formato do crachá e utilizar o atalho “CTRL+C” para fazer sua cópia. Em seguida, utilizar o atalho “CTRL+V” para colar esta cópia na área de desenho do relatório. Neste ponto, arrastar o novo retângulo criado para alinhá-lo a esquerda do retângulo que contém os dados do prestador de serviços, formando a parte de trás do crachá, que terá a mensagem “Temporário”.

Para criar a mensagem “Temporário”, colocar uma etiqueta no formulário (componente “Label”), que é representando por um ícone que contém a letra “A” maiúscula. Clique neste ícone e depois clique em qualquer lugar da área de “Detalhe”, preferencialmente em uma que não contenha elemento. Será criado um novo elemento com o texto “LabelX”, onde o X é um número de ordem qualquer, baseado no número de “labels” já colocadas no formulário.

Clicar duas vezes nesta etiqueta para alterar seu atributo “Text.Caption” para “Temporário”. Em seguida, alterar o valor do atributo “Text.Angle” para 45, que representa uma inclinação da etiqueta de 45 graus em relação a folha do relatório.

Alterar o tamanho da etiqueta, mudando o valor do atributo “Text.Font.Size” para 42. Em seguida, arrastar a etiqueta sobre o retângulo vazio, alinhando-a até aparentar estar bem posicionada, conforme abaixo:

Inserindo um parâmetro que será utilizado para localizar o registro correto, que fornecerá os dados para o relatório “Prestador de Serviços - Crachá Temporário”

Para que o registro correto seja identificado no momento de sua inclusão e o código de identificação da pessoa incluída, é necessário criar um parâmetro que seja recebido na solicitação enviada pelo VsScripter e usado como filtro no VsRel.

Para efeito deste material, o parâmetro terá o nome de “idPessoa”. Este será incluído no desenho do relatório e depois será referenciado como o parâmetro a ser utilizado para localizar o registro desejado.

Observação importante: O nome do parâmetro, bem como a quantidade deles irá depender do propósito de cada relatório.

A esquerda da área de edição do relatório existe uma área chamada de “Estrutura do Relatório”. Nela, existe um componente chamado “Report” e a primeira propriedade dele é a “Parameters”. É nesta propriedade que são inseridos os parâmetros que serão utilizados como filtros para a localização de registros. Clicar com o botão direito do “mouse” sobre “Parameters” e escolher “Novo” no menu flutuante.

Será inserido um parâmetro com o nome “Parameter1”, o qual será renomeado para “idPessoa”. Para alterar o nome, o atributo “Identity.UserName” deverá ser mudado para “idPessoa”.

Em seguida, selecionar a aba “Dados” para inclusão do novo parâmetro que funcionará como filtro da localização do registro a ser utilizado na emissão do relatório. Na aba “Dados”, selecionar o ícone que representa uma lupa que abrirá o formulário de configurações dos parâmetros de localização, ficando o formulário igual a figura abaixo:

A lista de critérios deve estar vazia, igual o exemplo acima. Se não estiver, clique duas vezes no item que estiver adicionado.

Para adicionar o parâmetro “idPessoa”, necessário identificar qual é o campo que será comparado e qual o operador. Assim, clicar duas vezes sobre o campo “Código da Pesso”. O operador será o sinal de igualdade “=” e, no campo “Parameter”, selecionar “idPessoa”. Em seguida, clicar no botão “OK”.

Para continuar, é necessário salvar o relatório. Por meio do menu “Arquivo”, submenu “Salvar” (ou por meio do atalho “CTRL+S”), será aberto a caixa de diálogo “Salvar Novo Relatório Como”. Usar o nome “Prestador de Serviços - Crachá Temporário” para salvar o relatório e clicar no botão “Salvar”.

Ao clicar em “Salvar”, será solicitado que seja digitada uma descrição do que é o relatório, conforme abaixo:

Clicar no botão “OK” para confirmar.

Criando o “Script” no VsScripter

No Folha, abrir o “Cadastro de Pessoas” e criar uma pessoa fictícia para o teste.

Em seguida, abrir o cadastro de “Prestadores de Serviços”, no menu “Cadastros Gerais”.

Para a emissão do relatório alvo deste material, será utilizado o evento “Após Salvar” do VsScripter.

O comentário que vem na área de edição de “scripts” do VsScripter, por padrão, pode ser excluído ou não, a critério do usuário.

O código de exemplo abaixo é o mesmo disponibilizado na documentação específica sobre a emissão de relatórios desenvolvidos no VsRel, por meio do VsScript.

uses                          
  uCarregaRelatorio;                                      

var
   cNomeParams, cValorParams: String;

begin                        
   cNomeParams := '';
   cValorParams := '';

   ShowMessage('Será aberta uma caixa de diálogo de impressão para emissão do
               crachá temporário para o Prestador de Serviços');
  
   TFCarregaRelatorio.ParamAdd(cNomeParams, cValorParams, 'idPessoa',
                               FRhPreserv.ValorNaTela('IDPESS'));          
   TFCarregaRelatorio.RelatorioByNome('Prestador de Serviços - Crachá Temporário',
                                      cNomeParams, cValorParams, false);
end;

Alguns parâmetros dispostos no código acima são diferentes do código original, visto que neste documento, está sendo utilizado o Cadastro de Prestadores de Serviços. Caso não saiba como essas informações foram adquiriras, pode ser utilizada a documentação abaixo que mostrará informações importantes, a saber:

Descobrindo o nome do formulário a ser manipulado e

Descobrindo informações sobre os campos dos formulários

Nas documentações acima, é possível entender como é feita a leitura de um valor atribuído a um componente da tela, especificamente, no formulário onde os eventos do VsScripter serão executados, além do próprio nome do formulário onde os dados serão manipulados e o nome dos respectivos campos desse formulário.

Testando a emissão do relatório

Para testar a emissão do relatório, se faz necessário incluir uma pessoa fictícia no Cadastro de Pessoas e, em seguida, inserir um Prestador de Serviços usando esta pessoa fictícia. No momento de salvar o Prestador de Serviços, será mostrada uma mensagem informando da impressão do relatório e, em seguida, uma caixa de diálogo de impressão será mostrada. Nela, o usuário poderá escolher em qual impressora imprimir além das demais opções inerentes à impressão, com os dados desta pessoa fictícia cadastrada como Prestador de Serviços.

 O resultado final esperado é o mostrado abaixo, lembrando que os dados da pessoa fictícia, inclusive foto, provavelmente serão diferentes:

  • No labels