Esta especificação descreve os requisitos utilizados como base para o desenvolvimento do controle de estoque.
A Movimentação do estoque, permite ao usuário o lançamento de entrada e saída dos produtos da escola, atualizando o estoque a cada lançamento.
Ao acessar o módulo de Estoque, o sistema deve exibir uma lista com as movimentações do estoque.
A tela de Entrada que alimenta o estoque da escola, incluindo os produtos com suas respectivas quantidades, conforme dados informados.
Uma Entrada deve possuir os seguintes campos:
| Campo | Descrição | Tipo | Tamanho | Obrigatório? |
| Dados da entrada |
| Entidade | Escola onde o produto está entrando do estoque | Texto | 100 | Sim |
| Recurso(s) | Recurso de onde veio o produto | Texto | 60 | Não |
| Fornecedor | Nome do fornecedor dos produtos da entrada | Texto | 60 | Não |
| Data | Data de lançamento da entrada do produto | Data | - | Sim |
| Nº. documento | Número do documento de entrada | Texto | 20 | Não |
| Itens |
| Produto | Nome do produto | Texto | 60 | Sim |
| Unid. medida | Unidade de medida do produto | Texto | 06 | Sim |
| Nº. lote | Número do lote do produto | Texto | 20 | Não |
| Quantidade | Quantidade de entrada do produto no estoque da escola | Número | - | Sim |
| Validade | Data de validade do produto | Data | - | Sim |
| Anexos |
| Nome do arquivo | Nome do arquivo anexado | - | - | Não |
| Informações adicionais |
| Observações | Observações sobre o lançamento de entrada | Texto | 1000 | Não |
Na inclusão de uma entrada, o sistema deve exibir desabilitado o campo Entidade (apenas o nome da escola deve ser exibido), permitindo a seleção da escola através do botão “Localizar uma entidade”; Na tela “Localizar escola”, o sistema deve exibir todas as escolas cadastradas. Ao abrir o cadastro de entrada, o sistema deve trazer o campo preenchido, se houver apenas uma escola;
Na alteração de uma entrada, o sistema deve exibir o botão “Localizar uma entidade” desabilitado;
O sistema deve trazer uma lista com os Recursos que já foram cadastrados;
O sistema deve trazer uma lista com os Fornecedores que já foram cadastrados;
O sistema deve trazer a Data preenchida com a data do dia do lançamento, podendo ser alterada;
Na inclusão, o sistema deve trazer a lista de produtos vazia e os botões Incluir, Excluir e Alterar Item desabilitados. Após salvar a movimentação, o sistema deve desabilitar o campo Entidade e habilitar os botões e permitir que sejam incluídas as entradas dos itens dos produtos, assim que uma entrada de um item for cadastrada, deve ser permitido que seja alterada e/ou visualizada;
O sistema não deve permitir que seja excluído um item no qual já tenha sido realizada saída do estoque; Caso seja permitida a exclusão, o sistema deve atualizar o estoque do item excluído, diminuindo no saldo do estoque do produto o valor da quantidade que havia entrado para o item do produto;
Ao clicar no botão Imprimir, o sistema deve informar ao usuário que irá salvar a movimentação de entrada antes de imprimí-la, e deve perguntar se deseja continuar, caso o usuário indique que Sim, o sistema deve salvar os dados da movimentação e logo após imprimir o relatório contendo os dados atualizados;
Após salvar a movimentação de entrada, o sistema deve atualizar imediatamente o estoque dos produtos da entidade;
Na inclusão de uma entrada do item, o sistema deve exibir desabilitado o campo Produto (apenas o nome do produto deve ser exibido), permitindo a seleção do produto através do botão “Localizar um produto”; Na tela “Localizar produto”, o sistema deve exibir todos os produtos cadastrados;
O sistema deve permitir que seja cadastrado mais de um item do mesmo produto na entrada, desde que a Validade dos mesmos seja diferente;
Na alteração de uma entrada do item, o sistema deve exibir desabilitado o botão “Localizar um produto”;
O sistema deve exibir o campo 'Unid. medida' sempre desabilitado, e assim que for selecionado um produto, o campo deve receber a informação referente ao cadastro do produto selecionado;
O sistema não deve permitir salvar um item da entrada com a validade inferior à data da entrada da movimentação;
O sistema não deve permitir salvar um item de entrada com a validade já cadastrada para o mesmo produto (quando não houver o nº do lote informado);
O sistema não deve permitir salvar um item de entrada com a validade e nº. do lote já cadastrados do mesmo produto;
O sistema deve aceitar apenas caracteres reais (números e vírgula) no campo 'Quantidade';
Após salvar um item, o mesmo deve ser imediatamente atualizado na lista de itens da movimentação;
O sistema deve permitir que seja alterada a quantidade de um item, mesmo que torne o negativo o estoque do produto ou do item na entidade. O sistema deve refletir a diferença (positiva ou negativa) da alteração da quantidade, para todos os campos de 'Saldo anterior' e 'Saldo atual' das saídas já realizadas para o item do produto, assim como no saldo em estoque do item e do produto na entidade.
Nenhuma informação adicional.
A tela de Saída atualiza o saldo atual do estoque da entidade, conforme dados informados na saída. O sistema se encarrega de atualizar o estoque de cada produto a cada operação.
Uma Saída deve possuir os seguintes campos:
| Campo | Descrição | Tipo | Tamanho | Obrigatório? |
| Dados da saída |
| Entidade | Escola onde o produto está saindo do estoque | Texto | 100 | Sim |
| Destino | Escola para onde o produto foi enviado | Texto | 60 | Não |
| Motivo | Motivo da saída do produto do estoque | Texto | 60 | Sim |
| Recurso(s) | Nome do recurso utilizado para realizar a saída | Texto | 60 | Não |
| Data | Data de lançamento da saída do produto do estoque | Data | - | Sim |
| N°. documento | Número Documento da saída dos produtos | Texto | 20 | Não |
| N°. dias | Número de dias que os produtos foram consumidos | Número | - | Não |
| N°. alunos | Número de alunos que consumiram os produtos | Número | - | Não |
| Itens |
| Produto | Nome do produto | Texto | 60 | Sim |
| Unidade | Unidade de medida do produto | Texto | - | Sim |
| Saldo anterior | Saldo anterior do item do produto no estoque da escola | Número | - | Sim |
| Saldo atual | Saldo atual do item do produto no estoque da escola | Número | - | Sim |
| Quantidade | Quantidade consumida do item do produto na escola | Número | - | Sim |
| Anexos |
| Nome do arquivo | Nome do arquivo anexado | - | - | Não |
| Informações adicionais |
| Observações | Observações sobre o lançamento de saída | Texto | 1000 | Não |
A saída será realizada pelo: Esta opção de configuração é específica do Cadastro de saída dos itens, quando estiver com a opção 'Saldo atual' marcada, o sistema deve permitir que a saída dos itens seja informada pelo campo Saldo atual, caso a opção 'Quantidade' esteja marcada, a saída dos itens deverá ser informada pelo campo Quantidade. Por padrão esta opção deve estar marcada 'Quantidade';
Na inclusão de uma saída, o sistema deve exibir desabilitado o campo Entidade (apenas o nome da escola deve ser exibido), permitindo a seleção da escola através do botão “Localizar uma entidade”; Na tela “Localizar escola”, o sistema deve exibir todas as escolas cadastradas. Ao abrir o cadastro de saída, o sistema deve trazer o campo preenchido se houver apenas uma entidade;
Na alteração de uma saída, o sistema deve exibir o botão “Localizar uma entidade” desabilitado;
O sistema deve trazer uma lista com os Destinos que já foram cadastrados;
O sistema deve trazer uma lista com os Motivos que já foram cadastrados;
O sistema deve trazer uma lista com os Recursos que já foram cadastrados;
O sistema deve trazer a Data preenchida com a data do dia do lançamento, podendo ser alterada;
O sistema deve aceitar apenas caracteres numéricos nos campos 'N°. documento', 'N°. dias' e 'N°. alunos';
Na inclusão, o sistema deve trazer o valor do 'N°. documento' incrementado, de acordo com o último valor salvo no banco de dados;
Na inclusão, o sistema deve trazer na lista de Itens, todos os produtos que possuem valor no estoque da entidade (tanto positivo quanto negativo), os campos 'Saldo anterior' e 'Saldo atual' devem exibir o saldo do estoque do produto na entidade, ou seja, o mesmo valor; já o campo 'Quantidade' deve ser exibido com o valor zerado; Nas demais ações, o sistema deve trazer tanto os produtos que foram consumidos no estoque para a devida movimentação, com os respectivos valores para os campos 'Saldo anterior', 'Saldo atual' e 'Quantidade', onde o valor Quantidade não deve ser igual a zero; e a soma do Saldo atual com a Quantidade deve ser igual ao valor do Saldo anterior; quanto os produtos que não foram alterados na movimentação, mas porém possuem valor no estoque da entidade (positivo/negativo), seguindo os mesmos critérios da inclusão, em relação aos valores exibidos para os campos na tela;
O sistema deve trazer habilitados os botões Alterar e Visualizar Item em quaisquer ações;
Ao clicar no botão Imprimir Guia, o sistema deve verificar se os campos necessários para impressão da guia estão preenchidos, além dos campos obrigatórios, deve-se preencher o destino (que é para onde os produtos estão sendo enviados) e o número do documento; depois dessa verificação, o sistema deve informar ao usuário que irá salvar a movimentação de saída antes de imprimí-la, e deve perguntar se deseja continuar, caso o usuário indique que Sim, o sistema deve salvar os dados da movimentação e logo após imprimir o relatório contendo os dados atualizados;
Após salvar a movimentação de saída, o sistema deve atualizar imediatamente o estoque dos produtos da entidade, assim como o estoque dos lotes;
O sistema deve atualizar o estoque de cada produto consumido, caso a saída seja excluída do sistema, o estoque de cada produto deve ser somado com o valor que havia sido consumido;
O sistema deve trazer os Dados do produto: 'Nome' e 'Unid. medida' preenchidos e desabilitados;
Na alteração, o sistema deve trazer a lista dos itens do produto, que possuem estoque na entidade. Os campos 'Saldo anterior' e 'Saldo atual' devem exibir o saldo do estoque do item do produto na entidade, ou seja, o mesmo valor; já o campo 'Quantidade' deve ser exibido com o valor zerado; Na visualização, o sistema deve trazer novamente todos os itens do produto que foram salvos na movimentação, sendo que os itens que não foram consumidos, devem manter o saldo anterior e saldo atual iguais e o consumido zerado; já os itens do produto que foram consumidos no estoque para a devida movimentação, devem exibir os respectivos valores para os campos 'Saldo anterior', 'Saldo atual' e 'Quantidade', onde o valor Quantidade não deve ser igual a zero; e a soma do Saldo atual com a Quantidade deve ser igual ao valor do Saldo anterior;
Na alteração, o sistema deve trazer habilitado o botão 'Alterar item selecionado' e na visualização o botão deve estar desabilitado;
O sistema deve exibir o saldo atual do produto sempre atualizado, sendo este a soma do Saldo atual de todos os itens do produto exibidos na listagem;
O sistema deve permitir que um item seja alterado através do botão 'Alterar item selecionado';
O sistema deve trazer os campos 'Validade' e 'Saldo anterior' preenchidos e desabilitados;
O sistema deve trazer equivalentes o valor do Saldo atual e do Saldo anterior e o valor da Quantidade igual a zero;
Caso a opção da configuração 'A saída será realizada pelo:' estiver marcada com:
'Saldo atual': o sistema deve trazer o campo 'Saldo atual' habilitado e o campo 'Quantidade' desabilitado;
'Quantidade': o sistema deve trazer o campo 'Quantidade' habilitado e o campo 'Saldo atual' desabilitado;
O sistema deve atualizar o campo que estiver desabilitado, de acordo com o valor informado pelo usuário no campo que estiver habilitado. A medida que o usuário digitar no campo, a soma do saldo atual e do consumido deve ser sempre igual ao valor do saldo anterior;
O sistema não deve permitir que seja salva a saída do item com o valor do consumido igual a zero ou negativo;
O sistema pode permitir que um item seja salvo com o valor do 'Saldo atual' negativo;
Após salvar a movimentação de um item do produto, o sistema deve atualizar imediatamente a lista de itens do produto;
O sistema deve trazer uma lista com todas as movimentações;
O sistema deve possuir uma lista com opções de visões, para movimentação e para cada item das movimentações;
O sistema deve possuir legenda para diferenciar entrada e saída.
Nenhuma informação adicional.
Neste módulo temos a opção de emitir o relatório de movimentação do estoque, sendo necessário informar os filtros Período, Escola e Grupo para que o relatório possa ser visualizado;
O sistema deve exibir desabilitado o campo Entidade (apenas o nome da escola deve ser exibido), permitindo a seleção da entidade através do botão “Localizar uma entidade”; Na tela “Localizar escola”, o sistema deve exibir todas as escolas cadastradas. Ao abrir a tela do relatório, o sistema deve trazer o campo preenchido se houver apenas uma entidade.
Neste módulo assim como nos outros temos a opção da visão, que geralmente é apenas uma (Padrão), aqui temos duas opções a Padrão e a Itens Movimentação. A visão Padrão lista os campos da Tabela de Movimentação e a visão Itens Movimentação, traz cada item das movimentações, que é obtido da Tabela Itens da Movimentação, permitindo o usuário exibir a coluna que quiser, possibilitando impressão dos dados da maneira que desejar.
Na Visão de Itens da Movimentação será exibido um painel no rodapé que vai mostrar os totais de Entrada e Saída e a Diferença(que é a Entrada - Saída), conforme o que está sendo exibido no grid. Esses valores são atualizados conforme filtro realizado no grid.