terça-feira, 17 de janeiro de 2017

Controle de estoque com o LibreOffice Base - parte 5: dados

Continuamos agora o tutorial sobre o banco de dados Base, cuja primeira parte foi baseado na Edição 14 da LibreOffice Magazine.

Os Dados
Neste tópico vamos começar a interagir com nosso banco de dados de controle de estoque, que até o momento, não foi alimentado com nenhum dado ou cadastro. Vamos cadastrar informações nas tabelas com dados e assim ver como funcionam e como se sai o pequeno sistema de controle de estoque no LibreOffice Base. Após ter os dados cadastrados nossas consultas e relatórios vão funcionar, e ai sim, tornar-se-á mais fácil entender aonde eu queremos chegar.
Para começar, cadastremos alguns produtos hipotéticos na Tabela Produto. Para tanto, na tela inicial do LibreOffice Base, clique em Tabelas e depois clique duas vezes na tabela Produto. Com ela aberta (e não precisa mais ser no modo de edição de leiaute, mas sim, na inserção de dados), você pode começar a inserir os dados nas colunas. Há de se reparar que na primeira célula não podemos adicionar dados, porque a definimos como propriedade de numeração automática ativada, sito é, Valor automático = SIM, e é por isso que o texto <Campo automático> aparece nesta célula. Para preencher todos os demais campos basta clicar nas células desejadas e escrever o texto, da mesma forma que faríamos numa planilha do Calc.
Por causa da numeração automática sempre devemos pular a primeira célula, de codigo_produto, mas as demais devemos preencher, como está mostrado na tabela a cima, pelo menos quase todos. Como ainda não temos nenhum fornecedor cadastrado, devemos deixar o campo para o código do fornecedor em branco, para evitar um erro de referência, o que impossibilitará qualquer edição e poderá comprometer a estrutura de nosso banco de dados.
Voltaremos mais tarde – após cadastrar os fornecedores – a esta tabela para incluir os códigos dos restantes. Por enquanto, foquemos na tabela atual, tendo em vista que o LibreOffice Base salva os dados que você digitar automaticamente. Então fique tranquilo ao fechar a tabela sem ter salvo antes. Podemos reparar também que o código dos produtos foram gerados automaticamente como esperado, sendo que o primeiro deles foi registrado como sendo número zero.
Após o término, é só fechar a tabela Produto e abrir a tabela seguinte – Fornecedor – clicando duas vezes nela, para o preenchimento de um novo cadastro. Preencha os campos como na tabela abaixo.
Cabe aqui uma observação: é possível alterar a largura de um campo para facilitar a digitação, e para isso basta clicar na linha que separa um nome do campo do outro e arrastar para esquerda ou direita. É simplesmente o mesmo procedimento que faríamos se estivéssemos usando o LibreOffice Calc ou um MS Office Excel. Após a conclusão, podemos fechar a tabela Fornecedor e voltar para a tabela Produto, para completar os dados faltantes. Dá para alinhar a janela da tabela de produtos ao lado da tabela de fornecedores, para visualizar melhor os dados.
Para o MARTELO e o SERROTE, optamos por adicionar no campo codigo_fornecedor, o código do fornecedor CASA DE MATERIAIS DO VALE, ou seja, o número 0 (zero). Para os demais adicione o código do fornecedor APOL COMERCIAL, que é o número 1 (um).
Com os dados preenchidos, proceda fechando a tabela Produto e vá para a seção de Relatórios, para ver se houve alguma mudança – visto que outrora o relatório aberto no LibreOffice Writer estava em branco. Clique relatório duas vezes no Inventário de Estoque, que deverá estar semelhante ao da figura a seguir, relacionando os dados de produtos mais fornecedores.
Como podemos comprovar o nosso relatório já está funcionando e cumprindo com o objetivo, que é o de relacionar as quantidades de cada produto, seus preços e o valor total. Mas apenas para ver se está correto, vamos pegar aleatoriamente um produto qualquer e ver se o valor total dele em estoque confere. Peguemos aqui o produto ALICATE. Consta ali que são 10 unidades ao custo unitário de R$ 5,00. logo, 10 * 5 = R$ 50,00 de custo de aquisição. Está tudo certo.
Mas ainda podemos melhorar a aparência do relatório para ficar mais atraente e vamos fazer com que os valores de Custo e Total apareçam com a formatação Moeda, adicionando o símbolo R$ e as casas decimais de forma correta. Para efetuar essa melhoria, clique em Inventário de Estoque (isto é, nosso relatório) com o botão direito do mouse e escolha a opção Editar, para editar o relatório. A tela de edição vai mostrar os rótulos com as suas respectivas caixas de textos e cada caixa de texto vai ter o nome do campo do qual tem os dados que serão formatados.
Clique com o botão direito na caixa de texto que está referenciando o campo preco_custo.
Uma obervação: recomendamos fortemente que você use a versão do LibreOffice disponibilizado pela The Document Foundation (TDF) para realizar essa e qualquer outra tarefa pois assim há total garantia de que os procedimentos aqui mostrados funcionarão a contento. Pode até parecer que isso é protecionismo para que o usuário use a versão da TDF mas não é. Digo um caso real: eu comecei a usar o LibreOffice pra valer mesmo na versão disponibilizada nativamente no Ubuntu. Mas ocorria que a versão da Canonical (mantenedora e criadora do Ubuntu) disponibiliza um LibreOffice incompleto, sem extensões e outras funcionalidades mais específicas. Naquela versão era impossível conseguir criar ou editar um relatório do LibreOffice Base sem conexão com internet para baixar as extensões. Depois testei as versões nativas de distribuições derivadas do Ubuntu e o problema persistiu. Por isso desinstalei a versão que vinha na distro e instalei a da TDF no lugar, que é completa. Outro ponto é que para o LibreOffice funcionar perfeitamente como um bando de dados é preciso ter instalado no computador uma máquina virtual Java ou um JRE.
Mas voltando ao tutorial, depois escolha Propriedades.... Do lado direito da tela vai aparecer uma área para a edição do campo selecionado. Na aba Geral a última opção se chama Formatação. Clique no botão com as reticências ... logo em frente.
Preste bastante atenção aqui nesse procedimento pois é importante reparar se realmente é a caixa de texto com o preço de custo que está selecionada, pois você corre o risco de alterar as propriedades de outro campo. Vai se abir a caixa de dialogo Formatar número. Podemos ver claramente que esta caixa de diálogo é a mesma que encontramos para formatar caracteres no LibreOffice Writer e Calc. Logo, não deveremos ter dificuldades aqui, pois provavelmente são campos muito bem conhecidos, até mesmo para os mais leigos no LibreOffice.
No quadro de seleção do lado direito, definido como Categoria, selecione a opção Moeda e escolha um dos formatos no quadro Formato. Para terminar, clique em OK. Podemos verificar que o número que aparecia como exemplo ficou no campo da formatação (em frente ao botão de reticências. Depois disso repita o processo para o campo Total, que também apresenta dados monetários e ao finalizar, salve o relatório clicando no botão Salvar em seguida, feche o Editor de relatório.
Clique duas vezes sobre o relatório para abri-lo no modo normal e visualizar o resultado das
alterações realizadas, para ver se nossa formatação entrou em vigor., que logicamente deu certo. Assim fica melhor para identificar os valores monetários. Pode-se então fechar o relatório e voltar para a tela inicial do Base, para que terminemos de cadastrar mais dados nas outras três tabelas restantes, a começar pela tabela Cliente.
Adicione pelo menos um cliente como na figura abaixo.
Com essas três tabelas prontas chegou finalmente a hora de registrar um pedido de venda de mercadoria. Observe que o código do primeiro cliente que acabou de ser cadastrado é 0 (zero), assim como ocorreu com o cadastro de produtos e de fornecedores. Devemos memorizar bem esses dois códigos pois os usaremos mais para frente, isto é, para o momento de criar o pedido.
Agora dando continuidade, abra a tabela Pedidos e preencha os campos conforme imagem abaixo. Em nosso modelo, cada cliente efetuou um pedido, sendo que o primeiro resolveu que vai pagar com cartão e o segundo, com boleto bancário.
E para finalizar este pedido, vamos adicionar os produtos adquiridos por estes clientes na tabela DetalhePedido como na próxima figura.
Podemos interpretar o que fizemos da seguinte maneira:
● o código do primeiro pedido que acabamos de 0 e o do segundo é 1
● a data de criação deste pedido ficou registrada como 15/01/2017, logo será intrinsecamente a data do detalhe do pedido.
Veja que os três primeiros produtos adicionados pertencem ao mesmo pedido, do cliente 0 (codigo_pedido = 0) que é exatamente primeiro pedido que criamos anteriormente. Não esqueça que se o produto sair do estoque, você deve debitar a quantidade vendida da tabela Produto.

Subtraia 1 da quantidade dos produtos de código 0 e 3 , que são respectivamente os ALICATES e as LUVAS. Para alterar a tabela volte a tela inicial do LibreOffice Base, clique em Tabelas, depois clique duas vezes na tabela Produto. Na linha do produto ALICATE clique na célula quantidade e apague seu conteúdo e digite o número 9. Repita o processo para as LUVAS.