segunda-feira, 16 de janeiro de 2017

Controle de estoque com o LibreOffice Base - parte 5: relatórios

Nesta postagem daremos continuidade ao nosso programa de banco de dados gerenciador de estoques no Base, tratando agora de como criar relatórios baseados nas consultas e tabelas e assim obter informações.

O Relatório
Seja qual for o programa para controles e funcionalidades empresariais que utilizamos no dia a dia, é o mínimo necessário que eles contenham a opção de geração de relatórios. Um programa de contabilidade deve ter a opção de gerar relatórios sobre Balanço, DRE, Razão e balancetes em folhas impressas. Um de folha de pagamento deve poder conter suporte para impressão e visualização de holerites e resumo da folha. Um do departamento fiscal precisa poder emitir um relatório de entradas e saídas, bem como uma declaração de faturamento. São exemplos básicos que qualquer um destes tipos de programas deve conter.
Quando falamos em controle de software para controle e gerenciamento de estoque temos em mente um que nos forneça relatórios que permita a nós ver em qualquer tempo as quantidades de produtos, suas descrições, fornecedores, seus custos e preços para venda. Mas como funcionam os relatórios num banco de dados no LibreOffice Base?
O relatório é um documento de texto do LibreOffice Writer gerado no Base e usado para exibir os dados formatados de forma mais elegante e personalizável, possibilitando assim a impressão e arquivamento destes mesmos dados.
Vamos agora criar um relatório com base na primeira consulta que fizemos, a que nomeamos de TotalEstoque, que na verdade é um inventário dos produtos que estão cadastrados no nosso banco de dados para controle de estoques. Inicialmente clique em Relatórios > Assistente de relatório... A janela do assistente de relatórios é bem simples e intuitiva. Na primeira tela do assistente, o LibreOffice lhe perguntará qual a tabela ou a consulta que você deseja adicionar ao relatório.
Para nosso modelo, selecione a consulta TotalEstoque. Com essa seleção, na parte de baixo, você encontra uma lista chamada “Campos disponíveis” que nada mais são do que os campos criados na consulta secionada. Aqui é necessário dizer para o assistente que precisamos adicionar todos os campos no relatório, coisa que pode ser feita clicando em cada um deles e após cada seleção, clicar no botão de símbolo “>”, ou caso tenha mais pressa, clicar logo no botão “>>” para que todos os campos disponíveis passem para a lista da direita, chamada Campos no relatório. Após isso teremos o resultado apresentado na figura a seguir:
Após transferir os campos a lista. Com tudo correto, é só clicar no botão Avançar, na parte de baixo da janela. Na próxima tela, conforme a figura a seguir, vemos que é necessário colocar rótulos que vão deixar a leitura mais simples e intuitiva nos nomes dos campos, que geralmente são úteis como referência em nossas consultas e tabelas, mas não ficam tão bonitos num relatório. Há de se concordar que num relatório não seria muito bonito encontrar um campo com o nome codigo_produto como rótulo para onde será preenchida a descrição de nossa mercadoria. Parece algo muito menos pessoal e mais junto à uma linguagem técnica computacional.
Nesta fase da confecção do relatório utilizaremos os seguintes nomes (ou rótulos) para os cinco campos da consulta. A saber:
  • codigo_produto: trocaremos por Código, iniciando em caixa alta e seguindo as regras ortográficas. Como o relatório todo será sobre os produtos em estoque, não há razão para adicionarmos a descrição (de produtos) ao rótulo.
  • Nome: Aqui trocaremos apenas por Nome, com a primeira letra em maiúsculas. Poderíamos colocar descrição ou nome do produto, mas optamos por um rótulo mais curto e assim economizamos espaço.
  • Quantidade: Em quantidade trocaremos por uma abreviação, unicamente porque queremos ganhar espaço para as descrições. Assim, deixaremos no lugar o rótulo Qtde.
  • preço_custo: Para este deixaremos apenas como Custo, pois é uma síntese do que o campo trará. Não precisamos dizer que é o custo do produto, ou o custo da venda, pois tudo aqui tratará apenas dos produtos então, qualquer complemento assim seria redundante.
  • Total: em Total não faremos mudanças pois o rótulo está bom do jeito como está.
O resultado está expresso na figura a seguir:
podemos ver que por detrás da janela das configurações de relatório abriu-se uma página de documento do LibreOffice Writer, que será o responsável por exibir o relatório após a sua conclusão. Uma coisa que ficou é que para trocar os nomes dos rótulos basta apagar as sugestões do assistente e reescreva os rótulos como sugeridos na imagem ao abaixo. Clique em Avançar.
A etapa seguinte consiste em agrupar os dados por nome. Nós queremos que o relatório fique com agrupamentos, isto é, linhas de títulos conforme um dos campos existentes. Para nosso caso, agruparemos os dados por Nome. Assim, o relatório apresentará blocos de dados. Por exemplo, caso meu banco de dados tenha cinco produtos distintos, teremos cinco relatórios num mesmo relatório, informando para cada um as quantidades e o seu custo total. Para agrupar os campos na lista de Campos clique em nome, depois no botão > para que o campo nome passe para a lista Agrupamentos e finalize clicando no botão para Avançar >.
isso gerará categorias em nosso relatório, algo muito útil para procurar determinados produtos sem ter que ficar cansando a vista num único bloco cheio de dados juntos.
Após isso teremos outra janela de opção de agrupamento e classificação.
A próxima tela do assistente é perguntado se é do nosso desejo classificar de alguma forma as informações no relatório. A classificação funciona de forma parecida com a que há nas Planilhas do LibreOffice Calc. Classificar uma lista de campos por nome, por exemplo irá dispor os dados em alguma ordem alfabética, ou de crescente para decrescente (de A até Z) ou decrescente para crescente (de Z até A). aqui escolhemos as seguintes configurações:
● Classifique o resultado por nome em ordem crescente.
● Clique em Avançar >.
após isso, é necessário escolher entre as opções de layout para o relatório, que são: Colunas (o relatório fica com aspecto mais quadrado, sem linhas com dados mais alongadas umas em relação as outras, como colunas mesmo) únicas (uma só coluna para todos os dados, o que não é muito bom quando o relatório mostra dados curtos, como número de telefones ou valores em reais), com duas ou três (fica com aspecto de jornal, com o texto em mais de uma coluna), com linhas de títulos (dos agrupamentos) em cima ou do lado.
Para nosso modelo de relatório, escolhemos coluna única como tabulação, em formato de página de retrato (como a maioria dos textos, isto é, 21 cm de largura por 29,70 cm de altura). Assim:
● Em Layout dos dados escolha Colunar, coluna única,
● Em Orientação escolha Retrato,
● Clique Avançar >.
O resultado dessas configurações está na figura a seguir:
Os últimos passos são a nomeação do relatório, o que não é a mesma coisa que dar nome a um documento de texto do LibreOffice Writer, pois aqui o que nomearemos é a função de relatório, que queremos que sempre seja atualizada conforme nosso bando de dados seja alimentado. Para isso o procedimento consiste em colocar um nome do relatório, que aqui escolhemos que será Inventário de Estoque. Em seguida, procede-se com a escolha da opção de atualização do relatório e como queremos que ele reflita tempestivamente o nosso estoque, conforme as mudanças nele ocorridas, escolhemos a opção Relatório dinâmico (para atualizar as informações sempre que o relatório for aberto).
Selecionamos a opção Criar relatório agora e terminamos com um clique em Concluir. A figura a seguir representa a janela final de nossa configuração.
Assim, quando clicar em concluir abrir-se-á um relatório em branco será exibido, o que não representa nenhum erro, afinal de contas, ainda não alimentamos o nosso banco de dados.