Jump to content

Movimentos stocks


Go to solution Solved by SFSS,

Recommended Posts

Posted (edited)

Boa tarde,

 

estou a desenvolver uma aplicação em que necessito de fazer controlo de stocks. 

Tenho movimentos de stock entre armazéns, de fornecedores para armazéns, armazéns para clientes.

 

Como posso registar estes movimentos na BD, em dois registos IN/OUT ou tudo no mesmo registo?

Tenho pouca experiência nesta parte de movimentos. Todas as dicas são bem vindas.

 

Desde já obrigado pela ajuda.

Cumps,

SFSS

Edited by SFSS
Posted

Não percebo se o teu problema é o desenho do modelo de dados ou se o mesmo já está feito e queres ajuda a escrever os movimentos nesse modelo.

Partindo do principio que estás a desenhar o modelo (porque dizes que estás a fazer o desenvolvimento da aplicação), essa situação resolve-se facilmente com uma tabela em que registas a seguinte informação:

  • tipo de movimento: Entrada (para dar entrada de stock), Armazém (movido para um armazém), Saída (saída de stock)
  • produto: chave para o produto em questão
  • quantidade: quantidade de produtos envolvidos no movimento
  • data/hora do movimento
  • armazem de destino (opcional): chave para o armazém para o qual foi feito o movimento
  • cliente (opcional): chave para o cliente para o qual foi feito o movimento

Este modelo permite-te ter todos os movimentos entre armazéns , saidas para clientes e, obviamente, entrada de stock para armazém.

Por questões de performance, aconselho a ter uma tabela de stocks atual para cada produto por armazém, onde adicionas sempre que há entrada de produto nesse armazém, e subtrais sempre que há saidas desse armazém.

  • Vote 1
10 REM Generation 48K!
20 INPUT "URL:", A$
30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50
40 PRINT "404 Not Found"
50 PRINT "./M6 @ Portugal a Programar."

 

Posted

Desde já obrigado pela resposta.

Tenho uma duvida, como identifico o armazém de saída? Nessa estrutura de DB não é necessário guardar o local da saída?

A minha estrutura neste momento está assim:

ID    /     TIPO      /       Armazém     /       Artigo       /          Quantidade

1      /     Saída    /     Armazém A    /      Xpto1        /       -1000

1      /   Entrada   /     Armazém B    /      Xpto1        /        1000

2      /     Saída    /      Armazém B   /      Xpto2        /        -255

2      /    Entrada  /      Armazém A   /     Xpto2         /         255

Depois tenho uma Tabela de Totais por Armazém e Artigo.

Armazém A    /    Xpto1    /    2000

Armazém A    /    Xpto2    /    255

Armazém B    /    Xpto1   /    1000

Armazém B    /    Xpto2   /    0

 

A minha duvida prende-se mais com as entradas do Fornecedor e Saídas para Cliente. Como posso representar as mesmas nos movimentos.

Como não tenho muita experiência nesta área, estou a tentar reunir informação para não avançar com código e depois ter de voltar para trás.

Posted

Boa noite,

Em teoria, cada movimento de stock, tem origem num documento, que fica registado noutras tabelas da base de dados. Logo se associares o movimento a uma identificação do documento, sabes se foi uma entrada vinda de um fornecedor, de uma devolução, de um inventário, etc... da mesma forma que sabes se uma saída, foi por venda, consumo, desperdício, inventário físico, etc...

Não conhecendo as demais tabelas, eu colocaria na tabela de movimentos um campo que identifique o documento que originou o movimento.

Cordiais cumprimentos,

Apocsantos

"A paciência é uma das coisas que se aprendeu na era do 48k" O respeito é como a escrita de código, uma vez perdido, dificilmente se retoma o habito"

  • Solution
Posted

Boa tarde,

depois de ler as vossas respostas e pensar na estrutura vou  criar a seguinte:

 

ID    /     TIPO      /       Armazém     /       Artigo       /      Quantidade      /        Doc          /         ID_Entidade

1    /   Entrada     /      Armazém A    /     Xpto1       /           150               /    GUI4488      /         Fornecedor A

2    /   Armazém  /      Armazém A    /      Xpto1       /          -50                /      OF1001     / 

2    /   Armazém  /      Producão      /      Xpto1       /            50                /       OF1001    /

3    /   Saída        /      Produção      /       Xpto1       /            -50               /     FAC8555    /            ClienteA

 

GUI -> Guia de remessa

OF -> Ordem de fabrico interna

FAC -> Factura para o cliente final

 

Desta forma penso que tenho todas as possibilidades cobertas e consigo identificar Fornecedores/Clientes e respetivos documentos.

Obrigado pelas dicas.

 

Cumps,

Posted

Boa tarde,

Se tens fabrico, deves ter um tipo de documento para fabrico e um armazém interno para "produção", pois a matéria prima, sai de um armazém, vai para produção (supostamente um armazém, para que saibas o que está em produção e facilite o calculo do desperdício), e da produção vá para produto acabado (outro armazém), onde a o produto entra vindo da produção e sai para o cliente.

Neste caso as OF (ordem de fabrico), deveriam dar saída de matéria prima, e entrada em produção, quando abertas, e saída em produção seguida entrada em produto acabado, e saída do desperdício, no caso se aplicar as normas de gestão de resíduos, terás de contemplar isso. Creio eu.

Cordiais cumprimentos,

Apocsantos

"A paciência é uma das coisas que se aprendeu na era do 48k" O respeito é como a escrita de código, uma vez perdido, dificilmente se retoma o habito"

Posted

Bom dia,

neste momento o software não vai gerir as ordens de fabrico, mas no futuro "quase de certeza" que o vai fazer.

Este projeto é para uma situação em que já existe um software para a clientes, fornecedores, faturação, encomendas, mas a parte de stocks não está tão afinada para a área de negócio em questão. A ideia é desenvolver esta parte e ligar com o software atual alguma da informação.

Tenho os armazéns Produção, Produto Acabado, não tinha a parte dos documentos tão detalhada. Vou criar esta parte que no futuro pode ser usada para as OF ou outros documentos.

Obrigado pelas ajudas!

Cumprimentos,

SFSS

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.