Você está na página 1de 53

Relatórios Dinâmicos

Criando relatório simples com SIGARPM


 Neste tutorial iremos aprender a criar um relatório simples com o SIGARPM.

SIGARPM é uma ferramenta padrão de desenvolvimento de relatórios do Protheus. Acessar este programa é muito simples. Ao executar o Protheus preencha o campo de
programa inicial com a palavra SIGARPM, conforme imagem abaixo.

 
 

Informe usuário e senha e avance nas telas até chegar na imagem abaixo. Onde selecionaremos a opção Criar novo relatório.

 
 

No RPM devemos ter uma tabela selecionada como tabela principal. No nosso caso selecionaremos a tabela de SE2, que é a tabela dos títulos a pagar.

 
 

Na próxima tela não selecionaremos nada, pois o objetivo deste tutorial é explicar um relatório simples de uma tabela apenas. Utilizaremos esta tela para desenvolver um
relatório mais avançado no próximo tutorial.

 
 

A tela abaixo é onde definiremos a ordem de impressão das informações. Ficam disponíveis as ordens de todos os índices criados para a tabela, então caso não exista a ordem
que deseja, será necessário criar um novo índice na tabela (O que só é recomendado fazer em caso de grande necessidade). No nosso caso, vamos ordenar
por Fornecedor, Loja, Prefixo, Número do Título, Parcela e Tipo.

 
 

A tela de baixo é referente os grupos, que por enquanto não iremos utilizar. Por isso clique em Finalizar.

 
 

Depois será exibida a tela de seleção dos campos do relatório. Clicando no símbolo +, serão exibidos todos os campos disponíveis para impressão. Para escolher, basta clicar
sobre o campo que deseja e depois clicar na seta apontada para a direita. Para remover, clique no campo do lado direito e depois na seta apontada para esquerda.

 
 

Neste exemplo selecionamos:

 Prefixo
 Número do Título
 Parcela
 Tipo
 Natureza
 Portador
 Fornecedor
 Loja
 Nome Fornecedor
 Data de emissão
 Data de vencimento
 Valor do título

Na imagem abaixo é possível utilizar a seta pra cima e a seta pra baixo para mudar a ordem dos campos no relatório. Clicando no símbolo semelhante à um papel e caneta, é
possível mudar o nome do campo no cabeçalho do relatório, mascara do campo e marcar a opção que seja exibida uma soma daquele campo no final do relatório.

Vamos marcar a opção totaliza para o campo de valor do título.

 
 

Clique no botão Confirmar para voltar à tela de seleção dos campos, onde clicaremos no botão Finalizar para continuar o desenvolvimento. Será exibida então a tela onde
escreveremos o título do relatório que será exibido no cabeçalho. Por padrão vem com o título Protheus Report Utility.

Para este teste, vou utilizar o nome Relatório de Títulos a Pagar.

 
 

Na próxima tela informaremos os parâmetros para filtro do relatório. Este procedimento é realizado da mesma forma da criação de um pergunte dos demais programas
no Configurador, caso ainda não conheça o procedimento clique aqui e veja o tutorial a respeito.

Para facilitar a criação das perguntas no RPM, existe um botão no canto inferior esquerdo, que abre uma tela para escolha de um campo que pode ser usado como modelo
para preenchimento da pergunta.

 
 

Utilizaremos apenas o filtro “Título de?” e “Título ate?”, preencha os campos conforme imagem abaixo e clique em Finalizar.

 
Na próxima tela serão exibidos campos para configuração de detalhes de impressão e um campo muito importante com nome de “Filtrar Filial”, caso este campo esteja
marcado, o relatório exibirá apenas os títulos da filial logada, se não mostrará os títulos de qualquer filial.

Por se tratar de ambiente de teste, tenho apenas uma filial na minha base, mas de qualquer forma deixarei o campo “Filtrar Filial” desmarcado e a opção para geração do
relatório no formato paisagem.

 
Na próxima tela é onde indicaremos o que as perguntas criadas anteriormente filtram. Não basta apenas criar uma pergunta com o nome de “No Titulo de”, é necessário
indicar para o sistema qual campo da tabela SE1 esta pergunta utiliza.

Para isso, clique no símbolo + em frente à palavra “SE2 – Contas a Pagar” e selecione o campo “No Titulo”, que é o campo que utilizaremos no filtro, depois no
botão Adicionar. Clique no símbolo + em frente à palavra “Operador” e selecione a opção “maior ou igual a” e clique em adicionar. Depois cliquei no símbolo + em frente à
palavra “Parametro” (Sem acento mesmo), selecione o campo “No Titulo de” e clique em Adicionar.

Pronto agora já adicionamos o filtro referente ao campo “No Titulo de”, para adicionar o campo “No Titulo ate” executaremos o mesmo procedimento mudando apenas a
informação do operador de “maior ou igual a” para “menor ou igual a”, mas antes disso é necessário adicionar ao filtro a condição “e” para juntar este dois campos no filtro.
O conceito de como utilizar qual operador é mesmo conceito estudado em lógica de programação. Então, antes de sair por ai tentando fazer filtros, é necessário estudar lógica
de programação.

A imagem da configuração ficará igual à imagem abaixo.

 
 

Feito isso, clique em “Confirmar” para visualizar o layout do seu relatório montado, que deve ter aparência similar à abaixo.

 
 

Antes de continuar, vamos salvar o relatório para não correr o risco de perder todo o trabalho. Clique no botão “Salvar”

Selecione uma pasta no server para salvar as configurações do relatório. No meu caso, criei uma pasta chamada RPM, onde salvo todos. Depois de selecionar a pasta, escreva
um nome para o arquivo de configuração e clique em “OK”.

 
 

Será então exibida uma tela para configuração de senha para uso do relatório. Se não quiser utilizar senha, basta deixar os dois campos em branco.

 
Para realizar um teste, basta clicar no botão “Executar” representado pelo símbolo de um raio.

Será exibida a tela de impressão padrão dos relatórios. Onde é possível clicar no botão parâmetros para definição dos filtros e determinar se o arquivo de impressão será salvo
no servidor ou na maquina local.

Abaixo segue o exemplo do resultado impresso com a configuração realizada.


 

É possível adicionar o relatório criado nos menus dos usuários. Caso não saiba como fazer isso clique aqui para visualizar o tutorial sobre manutenção de menus.

 
Relatórios Dinâmicos

 A rotina visa facilitar a extração de dados do sistema através de querys.

Tela inicial
 Nesta tela são exibidos todos os relatórios disponíveis para o usuário logado.

 Os botões “Usuários” e “Query” são exibidos apenas para usuários do grupo administradores. São essas opções que o administrador utiliza para montar os relatórios e
disponibiliza-los para os usuários.

 
 

Para executar o relatório, basta seleciona-lo e clicar no OK. Neste momento será exibida a tela de perguntes, caso algum tenha sido configurado. Exemplo imagem abaixo.

 
 

Botão Query
Esta é a tela onde os relatórios são montados.

 
 

Os relatórios são desenvolvidos com um misto de SQL e variáveis carregadas através de macro execução. Indicamos o que é macro através do caracter $. Abaixo demonstro
como ficaria o relatório de uma select no SX5, filtrando apenas o campo X5_TABELA (Atenção, não estamos falando de boas praticas na escrita de querys).

 
 

Repare que o conteúdo MV_PAR01 e _CAMPO01 (Disponilizamos variáveis com nome de _CAMPO01 até _CAMPO40), foi colocado entre o caracter $, para que o programa
identifique essas informações como variáveis que serão carregadas através de macro execução.

Feito isso, clique no botão formulas.

A tela será aberta na aba Outros, que é onde indicamos o que é cada macro atraves do campo “Tipo”. Atualmente existem 4 tipos disponiveis, sendo Pergunte, Pre Execução,
Pos Pergunte e Memo, mas neste exemplo utilizaremos apenas os tipos Pergunte e Pre Execução.

Então definimos a macro _CAMPO01 como “Pre Execucao”, que são as macros executadas antes de iniciar o relatório e a macro MV_PAR01 como “Pergunte” que são as
opções do pergunte.

 
Clicando na aba “Perguntas”, será exibida a tela abaixo para que você configure a tela do Pergunte, o processo é similar à definição de pergunte no configurador. Caso não
saiba como fazer, clique aqui e visualize o nosso artigo a respeito.

Neste ponto devemos ter atenção ao preencher o campo com título “Obrigatório”, pois nele temos 3 opções, são elas: Sim, Não e Vazio. A opção “Vazio” será explicada em um
próximo artigo, as demais o próprio nome indica a condição de preenchimento do campo.

Clicando na aba “Pre Execucao”, será exibida a tela abaixo para que você configure as macros que devem ser executadas antes iniciar o relatório. Neste exemplo utilizaremos
as macros de “Pre Execucao” para carregar a variável _CAMPO01 com o conteúdo da função RetSqlName(“SX5”) que serve para pegar o nome da tabela no top connect de
acordo com a empresa selecionada. Podemos usar esta opção para diversas finalidades, outro exemplo é que poderíamos colocar na query a opção AND X5_FILIAL =
‘$_CAMPO02$’ e carregar a variável _CAMPO02 com o conteúdo da função xFilial(“SX5”).

Na aba “Pre Execução” também temos o campo com o título “Obrigatório”, marque a opção como Sim.

 
Após isso, já podemos testar o nosso relatório, basta clicar em Confirmar para gravar as configurações e depois na tela de manutenção das queries clicar em Confirmar
novamente. Caso queira, visualizar como ficou a query após a execução de todas as macros, é só marcar a opção do checkbox no canto superior esquerdo conforme imagem
abaixo.

No meu exemplo, filtrei no pergunte a tabela L2.

 
 

Abaixo é possível visualizar como ficou a query.

 
Abaixo a imagem do relatório criado.
 
 

Caso tenha gostado do resultado do seu relatório, é só clicar no botão salvar na tela de manutenção de query para salva-lo.

Botão Usuários
 
Uma vez que o relatório foi desenvolvido e salvo. É possível disponibiliza-lo para o usuário clicando no botão Usuários da tela inicial. Os relatórios são disponibilizados por
usuário, então a rotina dos Relatórios Dinâmicos pode ficar disponível em todos os menus por default, porque cada usuário visualiza apenas o que o administrador disponibilizar
para ele.

A manutenção do cadastro de usuários é similar a qualquer tela de manutenção de registros do sistema, com as opções Incluir, Alterar e Excluir.

 
Se tiver interesse em ter esta ferramenta no seu sistema, basta clicar aqui para fazer o download da patch, do manual e da consulta F3 utilizada pela rotina. Após o download
aplique a patch, apende o arquivo “sxb9901_reldin” ao SXB da sua empresa e adicione a função de usuário “ROTINA11” no seu menu, caso tenha dúvidas sobre como
adicionar o item ao menu, clique aqui e veja o nosso artigo a respeito.

 
Relacionando tabelas no SIGARPM

Iremos aprender agora como fazer relacionamento de tabelas no SIGARPM, utilizando como exemplo o relatório de Títulos a Pagar que usamos desde o 1º artigo.

No nosso relatório temos, por exemplo, o campo de natureza, mas observe que é exibido apenas o código da natureza.

 
 

Para exibir a descrição será necessário buscar essa informação na tabela de cadastro de naturezas, cujo código é SED. Utilizaremos o conceito de relacionamento de tabelas
para ter acesso aos campos deste cadastro.

Como estamos utilizando um relatório desenvolvido anteriormente, clique no botão tabelas  .

Na tela de tabelas, uma vez que já selecionou a tabela principal, que nosso caso é a tabela SE2, clique em Avançar.

 
 

Será exibida a tela abaixo, onde é possível clicar no botão   para adicionar e no botão   para excluir o relacionamento selecionado.

 
 

Clique no botão   para que seja exibida a tela de manutenção.

 
 

O sistema já disponibiliza vários relacionamentos por padrão. Então antes de criar um novo, utilize a opção Pesquisar tabela localizada no canto inferior esquerdo para ter
certeza que a tabela desejada não tem nada disponível. Digite então SED no campo de pesquisa e tecle ENTER.

 
 

Repare que já existe um relacionamento do campo E2_NATUREZ que é o campo do código da natureza na tabela de Títulos a Pagar. Mas iremos criar um novo, apenas para
que vocês aprendam também a criar o relacionamento quando necessário. Para criar clique em Ações relacionadas, depois Novo relacionamento.

 
 

Utilize o campo Pesquisar tabela para indicar a tabela com a qual deseja relacionar a tabela principal.

 
 

Depois utilize o campo Expressão Tabela Principal (SE2) para selecionar os campos da tabela principal que serão utilizados para busca dos dados na tabela relacionada (SED).

Na tabela SED – Naturezas do padrão existem três índices conforme imagem abaixo.

Na tabela SE2 – Titulos a Pagar temos o campo E2_FILIAL que contem a filial do titulo e E2_NATUREZ que tem o código da natureza do título.

 Vamos relacionar então as tabelas através dos campos E2_FILIAL+E2_NATUREZ na tabela principal e com ED_FILIAL+ED_CODIGO, conforme imagem abaixo. Feito isso
clique em Finalizar.

 
 

Pesquise pela tabela para qual criou o relacionamento. Repare que agora é exibido o relacionamento que acabamos de criar utilizando os camposE2_FILIAL+E2_NATUREZ.
Selecione o novo relacionamento e clique no botão Confirmar.

 
 

Clique em Finalizar. Neste momento, o relacionamento será criado e os campos da tabela SED estarão disponíveis para uso.

 
 

Clique no botão   para visualizar os campos disponíveis para uso no relatório. Veja que tanto a tabela SE2, como a tabela SED aparece na tela.

 
 

Agora é só escolher o campo Descrição na tabela SED, posiciona-lo onde deseja e clicar em finalizar.

Pronto. Abaixo temos a imagem de execução do novo relatório.

 
 

 
Agrupando registros no SIGARPM

Agora, para encerrar a série sobre o SIGARPM, veremos como realizar agrupamentos nos registros.

Para a simulação utilizaremos o relatório de títulos a pagar utilizado nos outros artigos.

 
 

Iremos realizar o agrupamento por fornecedor.

Clique no botão   para exibir a tela de manutenção do agrupamento, conforme imagem abaixo.

 
 

Nesta tela é possível clicar no botão   para incluir, no botão   para editar e no botão   para excluir o agrupamento selecionado.

Clique no botão   incluir o agrupamento.

 
 

No campo Expressão determinaremos a expressão que será utilizada como regra do agrupamento. Clicando no botão   é possível visualizar os campos disponíveis para
serem utilizados no agrupamento, conforme imagem abaixo.

No nosso caso o utilizaremos agrupamento por Fornecedor para isso, basta selecionar o campo Fornecedor e clicar em OK para que a tela fique conforme abaixo.

 
 

Se for necessário agrupar por mais de um campo, basta repetir o processo de seleção dos campos.

Na tela do novo grupo também é possível utilizar o check box Quebrar página, como o nome diz esta opção fará com que o relatório quebre a página por agrupamento. A
opção Resumo fará com que sejam exibidos apenas os resumos das informações.

Agora que já selecionamos o campo de Fornecedor como expressão do nosso agrupamento é só clicar em Confirmar e depois na opção Finalizar.

Abaixo é possível visualizar o resultado final do nosso relatório. Repare que pelo fato de termos criado um totalizador nos artigos anteriores, o relatório exibe agora também um
total por grupo automaticamente.

 
 
Manutenção de relatório RPM

Agora que já vimos como criar o relatório com o SIGARPM, vamos descobrir quais são as opções para manutenção de um relatório existente na base.

Para isso, acesse o SIGARPM e selecione a opção para abrir relatório existente.

 
 

Navegue nas pastas para encontrar o relatório que deseja alterar e clique no OK. No meu caso, vou utilizar o que salvei no artigo anterior sobre criação do relatório RPM.

O relatório será exibido conforme a imagem abaixo. Repare também na barra de ferramentas no canto superior. São essas ferramentas que iremos utilizar para realizar as
manutenções necessárias.

 
 

Abaixo temos todas as opções da barra de ferramentas.

  – Novo – Opção utilizada para criar um novo relatório RPM.


  – Abrir – Opção utilizada para abrir um relatório RPM existente.

  – Salvar – Opção utilizada para salvar o relatório aberto na tela.

  – Importar – Opção para importação de arquivos de relatório (versão beta), sinceramente nunca utilizei.

  – Abrir tabela – Opção para trocar a tabela principal e relacional do relatório. No artigo anterior selecionamos a tabela SE2 – Contas a Pagar como tabela principal.
No próximo artigo sobre SIGARPM veremos o que são os relacionamentos de tabelas.

  – Selecionar Ordem – Esta opção permiti mudar a ordem de exibição dos registros. No artigo anterior escolhemos ordenar os títulos por Fornecedor + Loja +
Prefixo + No.Titulo + Parcela + Tipo

  – Selecionar Grupos – Opção para definição de agrupamento de informações no relatório. Por exemplo, agrupar por fornecedor. Veremos esta opção na prática no
artigo mais avançado sobre SIGARPM.

  – Selecionar campos – Esta opção serve para alterarmos os campos exibidos no relatório.

  – Configurar cabeçalho – Opção para alterar o cabeçalho do relatório.

  – Configurar página e impressão – Esta é a opção onde podemos configurar as margens, largura da pagina, quantidade de linhas por página, se deverá filtrar por
filial e etc.

  – Configurar Parametros – Opção para realizar manutenção nas perguntas do relatório.

  – Montar Filtro – Opção para realizar manutenção no filtro do relatório.

  – Gerar relatório – Este nos já vimos no artigo anterior, serve para gerar o relatório na tela para verificarmos se esta tudo OK.

As três ultimas opções existem em praticamente todas as telas do Protheus, então vocês já devem conhecê-las, que são Spool, Ajuda e Sair.

Você também pode gostar